Difference between revisions of "IPXE"

From coreboot
Jump to navigation Jump to search
m (Use official spelling, add nouns, use … as ellipse sign, use sentences)
Line 1: Line 1:
'''[http://ipxe.org/ iPXE]''' is a tool for loading an operating system over a network. It is a fork of [[GPXE]].
'''[http://ipxe.org/ iPXE]''' is a tool for loading an operating system over a network. It is a fork of [[GPXE]].


Like GPXE uses legacy BIOS callbacks, and it works well with SeaBIOS. See [[GPXE]].
Like GPXE, iPXE uses legacy BIOS callbacks, and it works well with SeaBIOS. See [[GPXE]] for more information.


== Building and Running in seaBIOS howto ==
== Building and Running in SeaBIOS howto ==
Here are the goals of this howto:
Here are the goals of this howto:
* fits in 128k for easier building process(if you find an easy way that makes possible to have bigger iPXE, update that howto...)
* fits in 128k for easier building process(if you find an easy way that makes it possible to have bigger iPXE, update that howto )
* boot over an ath9k WiFi over an open/unencrypted wifi to an image that resides on the internet...
* boot over an ath9k WiFi over an open/unencrypted wifi to an image that resides on the internet
* Use the following boot procedure: coreboot->seaBios->iPXE->image on the internet.
* Use the following boot procedure: coreboot?>SeaBIOS?iPXE?image on the internet.
=== Building ===
=== Building ===
Identify your wireless network card:
Identify your wireless network card:
  # lspci
  # lspci
  [...]
  []
  03:06.0 Network controller: Atheros Communications Inc. AR922X Wireless Network Adapter (rev 01)
  03:06.0 Network controller: Atheros Communications Inc. AR922X Wireless Network Adapter (rev 01)
Identify its PCI IDs:
Identify its PCI IDs:
  # lspci -s 03:06.0 -nnn
  # lspci -s 03:06.0 -nnn
  03:06.0 Network controller [0280]: Atheros Communications Inc. AR922X Wireless Network Adapter [168c:0029] (rev 01)
  03:06.0 Network controller [0280]: Atheros Communications Inc. AR922X Wireless Network Adapter [168c:0029] (rev 01)
get ipxe:
Get iPXE:
  git clone git://git.ipxe.org/ipxe.git
  git clone git://git.ipxe.org/ipxe.git
  cd ipxe/src/
  cd ipxe/src/
Line 57: Line 57:
  #undef IMAGE_TRUST_CMD /* Image trust management commands */
  #undef IMAGE_TRUST_CMD /* Image trust management commands */
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 bin/168c0029.rom -j3
Go into your coreboot directory:
Go into your coreboot directory:
  cd ../../coreboot/
  cd ../../coreboot/
Line 65: Line 65:
  ./build/cbfstool ./build/coreboot.rom print
  ./build/cbfstool ./build/coreboot.rom print
=== Booting ===
=== Booting ===
* keep pressing ctrl+b while booting
* Keep pressing Ctrl + b while booting.
* 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 on the WiFi from the Internet.
You will then need to type some commands to make it boot over the WiFi from the Internet.
* Identify your ESSID
* Identify your ESSID:
  iwlist
  iwlist
* set the ESSID
* Set the ESSID:
  config
  config
* get an IP Address
* Get an IP address:
  dhcp
  dhcp
* test the official demo (requires a ps2 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

Revision as of 10:37, 3 April 2013