Difference between revisions of "IPXE"

From coreboot
Jump to navigation Jump to search
(Use official spelling, add nouns, use … as ellipse sign, use sentences)
 
(5 intermediate revisions by 2 users not shown)
Line 56: Line 56:
  #undef REBOOT_CMD            /* Reboot command */
  #undef REBOOT_CMD            /* Reboot command */
  #undef IMAGE_TRUST_CMD /* Image trust management commands */
  #undef IMAGE_TRUST_CMD /* Image trust management commands */
Copy the following in the shell.ipxe file:
#!ipxe
shell
shell.ipxe is an ipxe script that ipxe will run when starting, here it will instruct ipxe to drop directly to a shell. The syntax is documented on ipxe website.
Use the previously gathered PCI ID to include only the ath9k driver:
Use the previously gathered PCI ID to include only the ath9k driver:
  make clean; make bin/168c0029.rom -j3
  make clean; make -j3 bin/168c0029.rom EMBED=./shell.ipxe
Go into your coreboot directory:
Go into your coreboot directory:
  cd ../../coreboot/
  cd ../../coreboot/
Add the iPXE option rom:
Add the iPXE option rom:
  ./build/cbfstool ./build/coreboot.rom print
  ./build/cbfstool ./build/coreboot.rom print
  ./build/cbfstool ./build/coreboot.rom add ../ipxe/src/bin/168c0029.rom pci168c,0029.rom raw
  ./build/cbfstool ./build/coreboot.rom add -f ../ipxe/src/bin/168c0029.rom -n pci168c,0029.rom -t raw
  ./build/cbfstool ./build/coreboot.rom print
  ./build/cbfstool ./build/coreboot.rom print
=== Booting ===
=== Booting ===
* Keep pressing Ctrl + b while booting.
* boot on ipxe, it will give you a shell:
* It will give you a shell:
  iPXE>
  iPXE>
You will then need to type some commands to make it boot over the WiFi from the Internet.
You will then need to type some commands to make it boot over the WiFi from the Internet.
Line 77: Line 83:
* Test the official demo (requires a PS/2 keyboard)
* Test the official demo (requires a PS/2 keyboard)
  chain http://boot.ipxe.org/demo/boot.php
  chain http://boot.ipxe.org/demo/boot.php
== Running from grub as a payload ==
=== Introduction ===
Ipxe depend on the BIOS or EFI interfaces.
Grub doesn't provide a BIOS interface.
When grub is loaded from a BIOS (like SeaBIOS for instance), the interfaces are provided by the BIOS.
but when grub is the payload(coreboot loads grub directly), then this BIOS interfaces are absent.
The way arround this is to make grub load SeaBIOS which then loads ipxe.
=== SeaBIOS ===
grub can load payloads.
Refer to the [[GRUB2#Payloads|corresponding SeaBIOS section]] for making grub load SeaBIOS.

Latest revision as of 09:25, 23 August 2014