Other "Chain" booting

Not sure if I picked the right sub-forum for this.

I have a new server (for home use) with six internal SATA ports/bays. I wish to keep all those ports for use with my large ZFS data pool. I have a small SSD drive that I purchased to use for the boot and OS. My plan was to stick it in a USB enclosure and boot from it.

Sadly, the BIOS on this HP box does not see it as bootable (I verified that out of the enclosure and directly attached to an SATA port it is bootable). The server does not have an issue with booting from a USB thumbdrive though.

Is there a way to put some kind of simple loader on the USB key and then have that in turn boot from the external USB enclosure?
 
Is there a way to put some kind of simple loader on the USB key and then have that in turn boot from the external USB enclosure?
Yes, I don't if a guide for this exists, but if you create a boot partition on the USB stick (see the EXAMPLES section of gpart(8)) and then copy /boot from an existing FreeBSD installation onto it, it will load the kernel from the USB key. The kernel should then be able to find and mount a root partition on your SSD if you set vfs.root.mountfrom in /boot/loader.conf to the correct device.

I boot my home server from a USB key as well.
 
I did that with a system that had a ZFS pool made of unpartitioned disks. I made a single freebsd-boot GPT partition on an USB memory stick and wrote the /boot/gptzfsboot bootcode on it. It worked just fine at least on the single system where I tested it. Why it works is because the ZFS boot code is smart enough to probe all available disks for ZFS pools. It doesn't matter if the initial boot comes from a different device than where the actual bootable pool is, the boot code can still locate the /boot/zfsloader file from the pool.
 
I did that with a system that had a ZFS pool made of unpartitioned disks. I made a single freebsd-boot GPT partition on an USB memory stick and wrote the /boot/gptzfsboot bootcode on it. It worked just fine at least on the single system where I tested it. Why it works is because the ZFS boot code is smart enough to probe all available disks for ZFS pools. It doesn't matter if the initial boot comes from a different device than where the actual bootable pool is, the boot code can still locate the /boot/zfsloader file from the pool.
Interesting. That's pretty clever :) Though I imagine for that the BIOS would have to have detected the drives beforehand.

spork: Does the BIOS see the USB enclosure (just not as bootable) or is it not detected at all?
 

I wish that worked. I don't have a floppy or a CD drive in this thing. I don't think you can install PLOP onto a usb stick.

Trying other stuff in a bit, this BIOS is kind of sucky. It also doesn't let you select which of the 6 possible drives is the boot drive, so I definitely need to work some alternate boot method out. Right now if I add a second drive to the single internal drive it can't even boot.
 
Plop and USB booting on this box didn't play well together - when selecting the USB option from the PLOP menu it just hangs.

Also I learned the hard way that you can't boot USB if the drive is GPT instead of MBR.

So I now think I have it booting reliably off an SSD in a USB<>SATA enclosure. I'd still like to figure out some kind of config that would let me boot off a USB stick if necessary and then have that in turn boot from the external SSD if something goes awry.
 
Back
Top