Hi, All
I have made my image download the kernel from the server and boot up successfully. But an error comes out at the end of the serial output:
... ...
Kernel command line: bz.elf -retaddr 0X000940A4
... ...
VFS: Cannot open root device "" or 00:00
Please append a correct "root=" boot option
Kernel panic: VFS: Unable to mount root fs on 00:00
Compare with the normal Linux output:
... ...
Kernel command line: auto BOOT_IMAGE=linux ro root=301 BOOT_FILE=/boot/vmlinuz-2
.4.18-3 console=tty0 console=ttyS0,9600n8
... ...
So I have tried the followings:
1. Add the option (--command-line= "root= ..." or --append="root= ...") when I mkelfimage.
2. Try the latest version 2.0 of mkelfimage
3. Add command line ="root = ..." in Linux bios CONFIG file
But the error does exit. How can I fix it?
Thanks,
Lawrence
-----Original Message-----
From: Eric W. Biederman [mailto:ebiederman@lnxi.com]
Sent: 2003?1?10? 15:38
To: LinuxBIOS
Cc: Lawrence LL. Dai
Subject: Re: Boot from etherboot - blocked by INT 10
"Lawrence LL. Dai" <lawrence(a)tyanchina.com> writes:
> Hi, Eric
>
> I suppose that mknbi and mkelf would also cause this problem.Because
> they both tag a kernel, but the kernel must be the one like vmlinuz and vmlinux
> needs BIOS functions such as INT 10. (I know vmlinux does not need INT X, but
> vmlinux can not be tagged by mknbi and mkelf. Or I have missed something else?)
The difference is mknbi/mkelf that come standard with etherboot when
the process the linux kernel start the kernel in 16bit mode and run
it's BIOS code, mkelfImage simulates the effect of the 16bit BIOS
code by reading LinuxBIOS tables or making the needed BIOS calls
itself, and then it enters Linux at it's unofficial 32bit entry
point.
mkelfImage can take either a bzImage or a vmlinux.
Eric