Difference between revisions of "IPXE boot option"

From SkullSpace Wiki
Jump to navigation Jump to search
(our system isn't nasty in the slightest)
(link out to member-sub menu wiki pages)
 
(6 intermediate revisions by the same user not shown)
Line 5: Line 5:
 
Some of the workstations at the space have [https://www.gnu.org/software/grub/ GRUB] installed, which provides an option of Microsoft Windows (only some), GNU/Linux or iPXE.
 
Some of the workstations at the space have [https://www.gnu.org/software/grub/ GRUB] installed, which provides an option of Microsoft Windows (only some), GNU/Linux or iPXE.
  
Other workstations have a built-in [[wikipedia:PXE|PXE]] ROM enabled as their first boot option and these will [https://ipxe.org/howto/chainloading 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.
+
Other workstations have a built-in [[wikipedia:PXE|PXE]] ROM enabled as their first boot option and these will [https://ipxe.org/howto/chainloading 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.
 
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.
Line 16: Line 16:
  
 
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)
 
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)
 +
 +
You can study the member sub-menus by following the chain of ipxe configuration files, starting from the master one. (use the source Luke!) In addition, the following members have opted to provide further documentation on this wiki:
 +
* [[Mark Jenkins iPXE menu]]
  
 
=Use cases=
 
=Use cases=
Line 21: Line 24:
 
==Demonstrated use cases==
 
==Demonstrated use cases==
 
* Boot [https://en.wikipedia.org/wiki/Live_CD live media]
 
* Boot [https://en.wikipedia.org/wiki/Live_CD live media]
* Museum of horrors. See living proof of ancient operating systems. Fill your history channel air time. The truth is out there!
+
* 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)==
 
==Promised use cases (demo to come)==
Line 30: Line 33:
 
* memtest86 and other diagnostic options
 
* memtest86 and other diagnostic options
 
* cluster experimentation to make your high performance computing dreams come true
 
* cluster experimentation to make your high performance computing dreams come true
* boot terminal software, e.g. RDP, X, ssh for remote access to other computers, including more powerful computers that live in the skullspace rack
+
* 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?=
 
=PXE magic how?=
Line 41: Line 44:
  
 
==iPXE build==
 
==iPXE build==
We built iPXE by way of
+
We built iPXE revision 272fe32529103dd39875a9fbed5cfdf1a059e294 by way of
 +
<nowiki>$ git clone git://git.ipxe.org/ipxe.git
 +
$ cd ipxe/src
 +
$ make EMBED=skullspace.ipxe</nowiki>
  
  <nowiki>
+
skullspace.ipxe file contained
$ git clone git://git.ipxe.org/ipxe.git
+
#!ipxe
$ cd ipxe/src
+
$ make EMBED=skullspace.ipxe
+
:retry
  </nowiki>
+
dhcp || goto retry
 +
   
 +
chain http://ipxe-pub.vmsrv.skullspace.ca || shell
 +
  goto retry
  
 
Before running make, we enabled the [https://ipxe.org/buildcfg/download_proto_https DOWNLOAD_PROTO_HTTPS] build option
 
Before running make, we enabled the [https://ipxe.org/buildcfg/download_proto_https DOWNLOAD_PROTO_HTTPS] build option
 
(FIXME, include text of skullspace.ipxe script)
 
 
(FIXME, note which git revision we built from)
 
  
 
skspbiosiPXE.kpxe is the bin/undionly.kpxe [http://ipxe.org/appnote/buildtargets build target] which relies on a 32 BIOS with PXE and the UNDI network API.
 
skspbiosiPXE.kpxe is the bin/undionly.kpxe [http://ipxe.org/appnote/buildtargets 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.
 
The build target deployed to workstations is bin/ipxe.lkrn which includes drivers for many network cards. Some workstations still have an older build.

Latest revision as of 04:40, 14 March 2019

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)

You can study the member sub-menus by following the chain of ipxe configuration files, starting from the master one. (use the source Luke!) In addition, the following members have opted to provide further documentation on this wiki:

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.