====== Differences ====== This shows you the differences between two versions of the page.

Link to this comparison view

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.
  

QR Code
QR Code soc:2009:dverkamp:notes:linux_mkbootfs (generated for current page)