Boot into a minimal Linux/busybox system created using mkbootfs via HTTP.
No physical disks present. System configured to boot from NIC equipped with gPXE ROM.
Apache HTTP server providing gPXE script, kernel, initrd, and modules as separate files. gPXE script set to instruct client to download kernel, initrd and relevant modules. DHCP server providing network configuration and path to gPXE script on HTTP server.
Success is defined as reaching the busybox shell prompt.
uclibc
git clone git://git.etherboot.org/scm/people/mcb30/mkbootfs.git cd mkbootfs git-submodule init git-submodule update
In the mkbootfs
directory, ensuring the uclibc
wrapper is in the $PATH, simply make
.
Copy all .bp files from the mkbootfs directory to the HTTP server.
Copy the x86 Linux kernel bzImage to the HTTP server.
Write a gPXE script on the HTTP server to boot Linux with the .bp files as initrds:
#!gpxe kernel http://server/dir/bzImage initrd http://server/dir/skeleton.bp initrd http://server/dir/busybox.bp initrd http://server/dir/policy.bp initrd http://server/dir/iscsi.bp boot
Configure the DHCP server to instruct the device under test to boot from this gPXE script:
filename "http://server/dir/script.gpxe";
Start the test machine; it should boot to a busybox shell prompt with a “gPXE Universal Boot” banner.