PXE multiboot FreeBSD and other OSes?

Kimmo Mustonen kmustone at cc.hut.fi
Tue Dec 14 13:20:58 PST 2004


Hello!

My goal is to be able to multiboot FreeBSD, Linux and some other OSes and 
different versions using PXE. I don't want to install boot loaders on hard 
disks because I want to boot several different machines to different OSes 
every now and then. I don't like the idea of using a boot floppy or boot 
CD either.

I have Intel e100. Booting several versions of Linux works well using 
pxegrub. Booting FreeBSD works as well, when using pxeboot. However, I can 
only boot one version of FreeBSD and it has to be specified in dhcpd.conf 
(root path). I have no way of booting other OSes that way. I cannot "boot" 
pxegrub from preboot or vice versa.

Pxegrub is able to load FreeBSD loader. However, it cannot find the drive 
where the system booted from (it is pxe) and thus does not work. Using 
lsdev command in the loader displays empty "pxe devices:" selection. Is 
there a way to enable this? Should something be done to pxegrub or loader? 
Is it possible to get loader to work after having been loaded by pxegrub?

Pxegrub is also able to load FreeBSD kernel directly. Well, almost. It 
loads and starts it (the cursor becomes a block, the SCSI bus seems to be 
reset and everything, but the system reboots after 15 seconds without 
displaying anything on screen. I haven't yet checked the serial port, it 
might display something. Why is the video console not working this way? Is 
there a way to pass any parameters to FreeBSD kernel from pxegrub, like 
the root path? Pxegrub claims to conform to the Multiboot Specification, 
would it be sensible (and easy?) to make FreeBSD loader and/or kernel 
Multiboot compliant as well?

Any other suggestions?

Regards,
Kimmo Mustonen


More information about the freebsd-questions mailing list