Drive and partition labelling in Linux and FreeBSD The hard drives are labelled in the following way in Linux and FreeBSD: Linux FreeBSD First IDE drive /dev/hda /dev/wd0 Second IDE drive /dev/hdb /dev/wd1 First SCSI drive /dev/sda /dev/sd0 Second SCSI drive /dev/sdb /dev/sd1 The partitions (FreeBSD slices) on an IDE drive are labelled in the following way (/dev/hda is used as an example): Linux FreeBSD First primary partition /dev/hda1 /dev/wd0s1 Second primary partition /dev/hda2 /dev/wd0s2 Third primary partition /dev/hda3 /dev/wd0s3 Fourth primary partition /dev/hda4 /dev/wd0s4 The partitions in my FreeBSD slice is labelled in the following way. It is the labelling you get by default. It is possible to change the labelling if you do a custom installation of FreeBSD (/dev/hda4 is the FreeBSD slice in the example): Linux label FreeBSD label FreeBSD mount point /dev/hda5 /dev/wd0s4a / /dev/hda6 /dev/wd0s4b swap /dev/hda7 /dev/wd0s4e /var /dev/hda8 /dev/wd0s4f /usr ========================================================= ### Configure Linux GRUB to load FreeBSD ### Append FreeBSD boot Configuration: title FreeBSD 7.0 root (hd0,a) kernel /boot/loader Save and close the file. To see changes or to boot into FreeBSD reboot Linux box. title FreeBSD 7.0 : Start a new boot entry. User always sees this title and hit enter key to boot os. root (hd0,a) : Actual part is to select the correct root partition. The root option set the current root device to the device, then attempt to mount it to get the partition size. In above example - hd0 is your first hard disk i.e. hda in Linux. In grub hda is hd0. Likewise your first, second partition on the first hard disk – hda1, hda2, becomes hd0,0 hd0,1 in Grub. In short, you are asking to use first hard first partition (remember FreeBSD use a,b,c names to represent partition names). If you have installed FreeBSD on third partition then you need to use following root statement: root (hd0,2,a) kernel /boot/loader : Use to load the primary boot image. FreeBSD use /boot/loader to load rest of kernel and os. ========================================================= If above thing does not work, then append the following lines in /boot/grub/menu.lst (/etc/grub.conf) to enable FreeBSD 7 in Grub. With my (ipv4sec) case, this worked. title FreeBDS 7.0 rootnoverify (hd1,0) makeactive chainloader +1 Below is my /etc/grub.conf for a machine with Fedora 9, Windows, and FreeBSD 7.0 First SCSI drive /dev/sda <== Fedora 9 (/dev/sda2) and Windows (/dev/sda1) Second SCSI drive /dev/sdb <== FreeBSD 7.0 --------------------------------------------------------- # grub.conf generated by anaconda # # Note that you do not have to rerun grub after making changes to this file # NOTICE: You have a /boot partition. This means that # all kernel and initrd paths are relative to /boot/, eg. # root (hd0,1) # kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00 # initrd /initrd-version.img #boot=/dev/sde default=1 timeout=10 splashimage=(hd0,1)/grub/splash.xpm.gz hiddenmenu title Fedora 9 (2.6.25-14.fc9.i686) root (hd0,1) kernel /vmlinuz-2.6.25-14.fc9.i686 ro root=UUID=c513197f-0546-4558-b1dc-61d9644a0271 rhgb quiet initrd /initrd-2.6.25-14.fc9.i686.img # title Windows rootnoverify (hd0,0) chainloader +1 # title FreeBSD 7.0 rootnoverify (hd1,0) makeactive chainloader +1 # --------------------------------------------------------- END of document =========================================================