I finally had time to mess with this project again. I still wasn't able to install FreeBSD or even create new slices on the SSD, but I found a workaround:
1. Turns out the reason the HDD wasn't accepting a new slice was that I was selecting an existing partition (that was lacking a filesystem -- seemed reasonable) instead of selecting the root device and letting the installer figure out where to add the new partition itself. I deleted the empty partition, then selected the root device as the target (using the 'Guided' method). The installer created the new slice, then I let it automatically create the new partitions within it (just two: / and swap).
2. I then added the new OS to my Linux Grub menu.
3. And lastly, I used the
dd
program to copy the data from the HDD to the SSD.
Grub entry inside
/etc/grub.d/40_custom -
Code:
# add custom menu entry for freebsd os installed on /dev/sda7
menuentry "FreeBSD on SSD"{
insmod ufs2
insmod bsd
set root=(hd0,7)
kfreebsd /boot/kernel/kernel
kfreebsd_loadenv /boot/device.hints
set kFreeBSD.vfs.root.mountfrom=ufs:/dev/ada0s5a
set kFreeBSD.vfs.root.mountfrom.options=rw
set kFreeBSD.hw.psm.synaptics_support=1
}
To find the proper devices and partitions, I booted into Grub, pressed `e' to enter edit mode instead of selecting a menu entry to boot, then typed:
root (hd<Tab>,sd<Tab>)
The <Tab>s are the Tab key, not the text. That auto complete-listed the devices and partitions
according to how Grub sees them. Partition #7 is the BSD slice, and /dev/ada0s5a is where the installer installed both the boot code and root system.
http://www.mepis.org/docs/en/index.php?title=GRUB_from_command_line
Cloning from HDD to SSD -
dd if=/dev/sdb3 of=/dev/sda7 bs=64K conv=noerror,sync
Now I have to remember how to create a virtual machine in VirtualBox that can access that new installation to make migrating from my current OS to FreeBSD quick and easy.