Hi,
as per Documentation/uml/*txt, I issued the following to get a direct
hostfs:
./linux ubd0=/tftpboot/linux
(/tftpboot/linux/sbin/init exists), but the UM kernel only gives:
Failed to open '/home/tftpboot/linux', errno = 21
ubda: Can't open "/home/tftpboot/linux": errno = 21
List of all partitions:
6200 4 ubda driver: uml-blkdev
So either UML lost some functionality sometime, or the documentation is
incorrect.
On Wed, Nov 19, 2008 at 07:32:16PM +0100, Jan Engelhardt wrote:
>Hi,
>
Hi, Jan!
>
>as per Documentation/uml/*txt, I issued the following to get a direct
>hostfs:
>
> ./linux ubd0=/tftpboot/linux
>
>(/tftpboot/linux/sbin/init exists), but the UM kernel only gives:
>
>Failed to open '/home/tftpboot/linux', errno = 21
I think this error comes from arch/um/drivers/ubd_kern.c::ubd_open_dev()
>ubda: Can't open "/home/tftpboot/linux": errno = 21
This is from the caller: ubd_open().
ubd_open_dev() calls open_ubd_file() to open the ubd device, which, in
turn, calls os_open_file() which is a wrapper of open64().
And errno 21 should be EISDIR, for open(), which means we invoked it
with a writing operation, probably O_RDWR...
So I think there must be something wrong in the code, writing to a
directory is suspicious...
I will try to check it.
Thank you!
--
"Sometimes the only way to stay sane is to go a little crazy."