Hardware Testing Boot Process

Boot Process

  1. System network boot ROM starts process and runs DHCP
  2. If the system boot ROM is not iPXE
    1. iPXE image is served up via tftp
    2. iPXE runs DHCP
  3. If booting the updater
    1. returned iscsi root is exported updater OS
    2. Boot proceeds via syslinux
  4. Else if booting the target system
    1. returned iscsi root is minimal filesystem with grub
    2. grub looks for the target boot partition label
    3. grub reads the syslinux config files from the boot partition, and boots it

So we potentially have the sequence (network boot rom) => iPXE => Grub => target kernel.

UEFI

I haven't done testing, but UEFI should theoretically have the ability to boot directly from an iSCSI target discovered via DHCP, cutting iPXE out of the picture.

ARM

Network boot roms are not a feature on ARM SBCs and uboot doesnt' have iSCSI support, so things would need to proceed a bit differently. uboot would be permanently installed on the target system; it could then load and execute a script from the network - which could then either boot the local system or download an initrd/kernel via tftp. Supporting multiple target partitions might require patching uboot to have the ability to find partition labels. (Or partition numbers could be configured in the controller configuration.)

Projects/HardwareTesting/BootProcess (last edited 2014-06-05 18:32:07 by OwenTaylor)