Etherboot

From coreboot
Jump to navigation Jump to search

The wiki is being retired!

Documentation is now handled by the same processes we use for code: Add something to the Documentation/ directory in the coreboot repo, and it will be rendered to https://doc.coreboot.org/. Contributions welcome!

The description in this article unfortunately does not work in newer versions of etherboot/gPXE. Please use iPXE or go to rom-o-matic for now. Any updates to this article are welcome.

Download and Build

Download Etherboot --- Please use 5.2.6 and gcc 3.2.2

Config changes needed for coreboot support

src/arch/i386/Config

   #CFLAGS+= -DPCBIOS
   CFLAGS+= -DCONFIG_X86_64
   CFLAGS+= -DLINUXBIOS -DCONFIG_TSC_CURRTICKS  -DCONSOLE_SERIAL -DCOMCONSOLE=0x3f8 -DCOMPRESERVE -DCONFIG_PCI_DIRECT -DELF_IMAGE
   #enable VGA
   CFLAGS+= -DCONSOLE_DIRECT_VGA

src/Config

   CFLAGS+= -DBOOT_FIRST=BOOT_NIC
   CFLAGS+= -DBOOT_SECOND=BOOT_DISK
   #enable FILO and Keyboard
   # for direct PC kbd support 
   CFLAGS+= -DCONSOLE_PC_KBD
   # for FILO support it will make main call pci_init
   CFLAGS+= -DCONFIG_FILO

src/filo/Config

change you command line as you like

   AUTOBOOT_FILE = "hda2:/boot/vmlinuz initrd=/boot/initrd pci=noacpi ro root=/dev/hda2 console=tty0 console=ttyS0,115200"

make

   cd src/
   make bin/tg3.zelf
   make bin/tg3--filo.zelf


Some input for boot or AUTOBOOT_FILE, please refer to README.filo_in_etherboot

   boot from BIOS ROM area
   4G-128K
   mem@0xfffe0000
   4G-512K
   mem@0xfff80000
   boot from suse
   hda2:/boot/vmlinuz initrd=/boot/initrd ro root=/dev/hda2 console=tty0 console=ttyS0,115200
   for suse install from CD
   hdc:/boot/loader/linux initrd=/boot/loader/initrd ramdisk_size=65536 splash=silent showopts console=tty0 console=ttyS0,115200
   boot from RH
   for RH install from CD
   hdc:/isolinux/vmlinuz initrd=/isolinux/initrd.img expert nofb acpi=off devfs=nomount ramdisk_size=65536 console=ttyS0,115200
   for serial ATA support (using port1 and port2 only)
   1) if your kernel think SATA as SCSI
   hde2:/boot/vmlinuz initrd=/boot/initrd ro root=/dev/sda2 console=tty0 console=ttyS0,115200    
   2) if your kernel think SATA as normal IDE
   hde2:/boot/vmlinuz initrd=/boot/initrd ro root=/dev/hde2 console=tty0 console=ttyS0,115200
   for usb support
   uda1:/ram0_2.5_2.6.5_k8.2_mydisk7.elf

NVRAM Parsing

  • TO BE DONE!