IPXE boot option

From SkullSpace Wiki
Revision as of 04:40, 8 March 2019 by Markjenkinsparit (talk | contribs) (iPXE build)
Jump to navigation Jump to search

Several Skullspace workstations are capable of booting to iPXE, a network boot firmware that is way more powerful than the PXE ROM included in many BIOS-based personal computers.

This allows you to "choose your own adventure" and network boot the software of your choice instead of the operating systems found on these workstation hard drives.

Some of the workstations at the space have GRUB installed, which provides an option of Microsoft Windows (only some), GNU/Linux or iPXE.

Other workstations have a built-in PXE ROM enabled as their first boot option and these will chainload our iPXE build if they are plugged into the Skullspace wired local area network (172.30.6.0/24). (not available on Skullspace WiFI) You can still boot the local hard drive option from these workstations as a first option in our iPXE master menu.

You can bring in your own laptop or workstation and PXE boot as well. Please be aware if you have this enabled as your first boot option on a computer you normally boot to a local OS, you may be in for a surprise when our iPXE build and master menu loads instead. Don't panic! Our first menu item is boot from first hard drive. Consider this our friendly warning if you network boot by default but don't really want to. A hostile network (not ours!) could feed you something nasty. Configure your system to network boot if that's only what you really want by default or explicitly select during your boot process.

The Master Menu

The Skullspace iPXE build loads a iPXE configuration from http://ipxe-pub.vmsrv.skullspace.ca/ . This is our master menu.

Our first two options are boot from first hard drive and iPXE shell. No option is automatically booted.

The remaining master menu options are sub-menus loaded over http and customized by individual Skullspace members. Get your own personal sub-menu by contacting Mark Jenkins. (mark AT parit DOT ca)

Use cases

Demonstrated use cases

  • Boot live media
  • Museum of horrors. See living proof of ancient or obscure operating systems. Fill your history channel air time. The truth is out there!

Promised use cases (demo to come)

  • Personal_workstation_service with iSCSI
  • Network installers for popular GNU/Linux distros, including options to do no questions asked installs
  • Rescue live media
  • More live media options
  • memtest86 and other diagnostic options
  • cluster experimentation to make your high performance computing dreams come true
  • Run thin client / terminal software, e.g. RDP, X, ssh for remote access to other computers, including more powerful computers that live in the skullspace rack

PXE magic how?

DHCP

The DHCP server on the Skullspace router will direct your PXE ROM to boot from our TFTP server 172.30.6.41 with file skspbiosiPXE.kpxe .

TFTP

Our TFTP server at 172.30.6.41 is maintained by Mark Jenkins as a linux container (LXC) on vmsrv

iPXE build

We built iPXE revision 272fe32529103dd39875a9fbed5cfdf1a059e294 by way of

 
$ git clone git://git.ipxe.org/ipxe.git
$ cd ipxe/src
$ make EMBED=skullspace.ipxe
 

skullspace.ipxe file contained

#!ipxe

:retry
dhcp || goto retry

chain http://ipxe-pub.vmsrv.skullspace.ca || shell
goto retry

Before running make, we enabled the DOWNLOAD_PROTO_HTTPS build option

skspbiosiPXE.kpxe is the bin/undionly.kpxe build target which relies on a 32 BIOS with PXE and the UNDI network API.

The build target deployed to workstations is bin/ipxe.lkrn which includes drivers for many network cards. Some workstations still have an older build.