Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
|
soc:2009:dverkamp:notes:linux_mkbootfs [2009/06/05 08:01] drv created |
soc:2009:dverkamp:notes:linux_mkbootfs [2009/06/19 06:51] (current) drv |
||
|---|---|---|---|
| Line 16: | Line 16: | ||
| Success is defined as reaching the busybox shell prompt. | Success is defined as reaching the busybox shell prompt. | ||
| + | |||
| + | === Detailed test procedure === | ||
| + | |||
| + | == Prerequisites == | ||
| + | |||
| + | * x86 uClibc toolchain (configured with RPC and large-file support) | ||
| + | * wrapper script for uClibc compiler named ''uclibc'' | ||
| + | * git | ||
| + | * x86 Linux kernel (TODO: this should be built from source as well) | ||
| + | * HTTP and DHCP servers | ||
| + | |||
| + | == Source checkout == | ||
| + | |||
| + | git clone git://git.etherboot.org/scm/people/mcb30/mkbootfs.git | ||
| + | cd mkbootfs | ||
| + | git-submodule init | ||
| + | git-submodule update | ||
| + | |||
| + | == mkbootfs build == | ||
| + | |||
| + | In the ''mkbootfs'' directory, ensuring the ''uclibc'' wrapper is in the $PATH, simply ''make''. | ||
| + | |||
| + | == Server configuration == | ||
| + | |||
| + | 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"; | ||
| + | |||
| + | == Boot == | ||
| + | |||
| + | Start the test machine; it should boot to a busybox shell prompt with a "gPXE Universal Boot" banner. | ||