[ipxe-devel] [PATCH] make iPXE run the string from the bootloader

Michael Brown mbrown at fensystems.co.uk
Fri Jan 28 00:39:30 UTC 2011


On Thursday 27 Jan 2011 20:14:09 Dave Hansen wrote:
> I always forget to compile in a custom embedded script image into iPXE,
> and I also don't have full control over my DHCP server in some cases so
> I can't set $file.
> 
> If you are booting ipxe.lkrn, this _effectively_ lets you do is pass in
> a tiny script via the boot command-line.  I use iPXE to compile kernels
> on one system and then boot them elsewhere.  The reboot cycles are
> *SLOW*, and I like to speed them up.  This should let me do something
> like the following in GRUB's menu.lst:
> 
> 	title           iPXE
> 	kernel          /boot/ipxe.lkrn dhcp && kernel http://1.2.3.4/~vmlinuz
>  root=UUID=ce4190bb-bdee-48e0-8e47-7e71d167c4ac ro profile=2 single
> 
> Previously, I would either have a custom copy of ipxe for each system,
> or a custom script on a server, indexed by the system's MAC.  It's
> *MUCH* nicer to just keep all of the root= or serial console arguments
> all in one file (menu.lst).
> 
> This could also be used to anything that the embedded scripts were, like
> setting static IPs.
> 
> I'm still a bit shaky on whether the assembly here is "right" or whether
> it just happens to be cobbled together enough to happen to work.
> Michael, thanks for basically writing this for me.  :)  I'm happy to
> clean it up some more.

Thanks for this.  It's next on my queue of patches to process.  One thing I 
realised since we discussed this in IRC is that it needs to be generalised to 
be non-i386-pcbios-specific; in particular, __data16() and friends aren't 
allowed outside of arch/i386.  I'll figure it out.

Michael



More information about the ipxe-devel mailing list