Boot from etherboot - blocked by INT 10

Lawrence LL. Dai lawrence at tyanchina.com
Wed Jan 15 03:36:00 CET 2003


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 at 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 at 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




More information about the coreboot mailing list