I'm working on configuring my array of old computers such that I'll be able to have many different open source operating systems running and available for testing installation packages for Threading Building Blocks that other developers are creating.
I started out tonight by installing FreeBSD onto the second hard drive on one of my systems. Installing FreeBSD was a bit different from what I've experienced in the past, but in my second go-round I had a successfully installed system. I let FreeBSD install its own bootloader, hoping that it would notice the Gentoo system that I had on my first hard drive, and create a dual-boot system.
When I rebooted, I found that I could no longer boot into Gentoo. But I could get into FreeBSD. That was my primary objective, since this was merely an extra Gentoo system that I wasn't really using anyway.
Next, I decided to try installing Xubuntu (Ubuntu with the Xfce display manager) over my old Gentoo system. The Xubuntu install went fine. When it was finished, I rebooted, and I could only boot into Xubuntu. The possibility of booting into my new FreeBSD installation had vanished!
I know a bit about the GRUB bootloader (see my articles on the O'Reilly Network). GRUB is used by Ubuntu, so I did a quick search on "freebsd boot from grub" using Google. The search turned up this message, at the bottom of which I found a GRUB "equation" for booting FreeBSD.
Since my FreeBSD is located on the first partition of my second disk drive, my GRUB menu.lst entry for booting my FreeBSD installation is:
# For booting FreeBSD title FreeBSD 6.2 root (hd1,0) chainloader +1
I booted into Xubuntu, became root, added the above to my /boot/grub/menu.lst file (in the appropriate section), saved the file, and rebooted.
It worked. I now have a dual-boot Xubuntu / FreeBSD system!
Now I can try installing the new Threading Building Blocks packages people have developed for Ubuntu and FreeBSD.