etherboot

Adam Agnew agnew at cs.umd.edu
Thu May 15 15:27:00 CEST 2003



> Adam can you do a short writeup on building etherboot 5.0.x apply your
> patches and then the process above?  I'll make 2 different sections in
> my FAQ/HOWTO) one for each etherboot version.

Certainly. See the attached diff, feel free to edit.

Also, did you decide on a permanent format? I don't mind getting better at
latex if that could be of assistance to you.

- Adam A.

-----------------
Adam Agnew
Independent Contractor
www.adamagnew.com

-------------- next part --------------
248a249,314
>    For Ver 5.0.6
>    
>       The Config file is already correct for most instances. 
>       Note that -DPCBIOS is NOT set and -DLINUXBIOS -DCONFIG_TSC_CURRTICKS  -DCONSOLE_SERIAL -DCOMCONSOLE=0x3f8
>       -DCOMPRESERVE -DCONFIG_PCI_DIRECT -DELF_IMAGE and -DPOLLED_IDE are.
> 
>       You will want to modify the top of polled_ide.h to specify where to find your kernel. The default is 
>       "(hd0,0)/kernel" (uses grub naming scheme)
> 
>       If you're using compact flash on an IDE adapter to boot (this is common for people using LinuxBIOS for
>       embedded applications) then you'll also want to remove the delay on line 22 of polled_ide.c so
>       etherboot does not wait for a hard drive to spin up to operational speed when the hard drive is
>       actually instant-on compact flash!
> 
>       You then select an ethernet device as a back up if booting off of ide fails. For this example, we'll
>       assume your board has the sis900. You then run "make bin32/sis900.ebi". bin32/sis900.ebi will now be
>       your LinuxBIOS payload!  
> 	
>       Now modify your linuxbios config file to include:
>    
>       option USE_ELF_BOOT=1
>       option PAYLOAD_SIZE=<size of you etherboot payload>
>       payload /path/to/your/etherboot/driver
>    
>       You also need an input stream for the elfboot code to read from
>       so you must set one (or more?) of the following options.
>    
>       USE_GENERIC_ROM=1
>    
>       <What are all the other stream options?>
>    
>       Now you need to create an elf kernel for the ether boot code to find.
>       Go fetch the mkelfimage command at
>    
>       ftp://ftp.lnxi.com/pub/src/mkelfImage/
>    
>       Generally the latest one is better.  Note that there are several older versions 
>       of binutils that are broken and mkelfimage will expose those bugs.  Insure that 
>       you are running a recient copy of binutils.  The following shows the version 
>       output from a known working bintuils.
>    
>       # as --version
> 	   GNU assembler 2.13.90.0.10 20021010 Debian GNU/Linux
> 	 
> 	  Now compile mkelfimage.  Which should be as easy as ./configure, make, make install
> 	
> 	You can now create a elf kernel.
> 	
> 	Change to the directory where the image file for you kernel is.  Normally this is 
> 	somewhere in the kernel tree.  In my case this is is arch/i386/boot and the kernel 
> 	image is bzImage.
> 	
> 	By defaut mkelfimage is installed in /usr/local/sbin so you would do
> 	
> 	/usr/local/sbin/mkelfimage bzImage elfimage
> 	
> 	Now you have your kernel elfized in the file 'elfimage'
> 	
> 	mkelfimage support several options for adding commandlines and initrd's to the kernel image
> 	type 'mkelfimage' without any arguments for the details.
> 	
>       Now take that file 'elfimage' and copy it to the destination you gave etherboot (remember
>       "(hd0,0)/kernel"?) Etherboot 5.0.6 with the polled ide/file system patch can find your file on vfat,
>       ext2, or ext3 formatted partitions!
> 
> 
269,272d334
< 	For Ver 5.0.x:
< 	
< 	<Someone needs to fill in the info for the earlier version>
< 	
595c657
< 				
\ No newline at end of file
---
> 				


More information about the coreboot mailing list