This is not a problem. If you are going to install Free BSD, this one wants to be on a primary partition. The various Linuxes (Linuxen? Linuces?) can be on extended parts. So Primary 1 could be Fedora /root (hda1). The next part could be your extended for the Linuces, with hda5 being the swap part (make at least equal to system RAM, better yet: 2xsystem RAM. This part can be used by Slack and Fedora. That would make hda6 Fedora /home. hda7 could be Slack root, with hda8 being Slack /home. The third primary (hda3) could then be carved up for FreeBSD. Make sure that you get GRUB installed to the MBR (it will ask). Next, when you install Slack, tell it to put LILO on the root part, not the MBR. Use the "expert" LILO config to do that so you get it right. Set LILO up for a "no delay" boot straight into Slack. This is necessary as Slack doesn't come with GRUB (at least Slack 9.0 didn't). Then simply add this to the /boot/grub/menu.lst:
Where: hd0= hda, and "10"= hda(n - 1). So I had Slack on hda11, hence the "root (hd0,10)" entry for GRUB. Some distros come with GRUB already, so that it's NBD to simply tell it to use another previously installed GRUB to boot, or they come with a utility to create an "initrd.img" that GRUB can use (Deb and Libranet do this), however, Slack doesn't. Hence, the use of the chainloader option. FreeBSD will probably boot the same way.
______________________________________
Live Free or Die: Linux
If software can be free, why can't dolphins?