does anyone know how to reliably install freebsd on a system that already has ubuntu on it in order to dual boot? most people tell me dual booting is too risky, not worth it, etc…but still…
I currently dual-boot FreeBSD and Windows XP for my laptop and in have the past run a machine that booted FreeBSD, Red Hat Linux (with Lilo), and Windows 2000. FreeBSD requires a single primary partition to use, in which it will manage sub-partitions called slices. Both the FreeBSD boot manager and Grub should be able to manage the boot process fairly easily. You should probably look through the FreeBSD handbook to learn more about the system but as long as you plan things out there should be little difficulty in setting up your dual or multi-boot system.
no. slices are parts of partitions. e.g. ad0s0 ad0s1 ad0s2, where ad stands for the device, the first number is the partition and s0, s1, etc the slice
frank is correct, mjb is mistaken. See this text from the handbook:
Each partition-that-contains-a-filesystem is stored in what FreeBSD calls a slice. Slice is FreeBSD’s term for what the common call partitions, and again, this is because of FreeBSD’s UNIX background. Slices are numbered, starting at 1, through to 4.
Slice numbers follow the device name, prefixed with an s, starting at 1. So “da0s1” is the first slice on the first SCSI drive. There can only be four physical slices on a disk, but you can have logical slices inside physical slices of the appropriate type. These extended slices are numbered starting at 5, so “ad0s5” is the first extended slice on the first IDE disk. These devices are used by file systems that expect to occupy a slice.
Slices, “dangerously dedicated” physical drives, and other drives contain partitions, which are represented as letters from a to h. This letter is appended to the device name, so “da0a” is the a partition on the first da drive, which is “dangerously dedicated”. “ad1s3e” is the fifth partition in the third slice of the second IDE disk drive.
FreeBSD takes one primary partition that the rest of the system can see and creates partitions within that partition that only FreeBSD knows about. As far as everything Linux, Windows, etc. is concerned, it is one partition. FreeBSD just sub-divides that partition into smaller slices. It isn’y like Linux where you actually create multiple partitions that the whole system sees as multiple partitions.
FreeBSD does have a problem sharing a hard drive with another operating system. That’s where you encounter the notorious “geometry bug”. It’s not usually fatal, but you potentially can lose data. If you want to multiboot FreeBSD and another OS, it’s best to have a second hard drive and devote it entirely to FreeBSD.
Note that the geometry bug does not exist in OpenBSD or NetBSD. I really wish the FBSD developers could solve this – this bug has been there for years.
A HDD can have up to 4 primary paritions or in freebsd term 4 slices. Windows/linux doesnt divide it into smaller pieces, but freebsd does, and this smaller units are the partitions. Under windows/linux your fdisk will only see 1 freebsd “space” but it consists of 3-4 “partitions”.
Does anyone know if the newer distribution has any improved binary package management. I know pkg_add can install packages but what about upgrading. I am fedup of installing from source for a ‘performance improvements’. Is there a way to binary upgrade a package without installing from source? I think this is one of the major problems with FreeBSD and why distributions like Ubuntu are slowly taking over.
Hey, is there ext2/3, fat and ntfs support out of the box? In 5.3 mount gave me something like ´mount_ext2 does not exist´. AFAIK you have to compile kernel on your own in order to get to your data. Or is there any better way how to do that? Thanks in advance.
just a reminder since a lot of the questions here have been related to sharing the hardrive.
In the beginning i used beos to partition the drive into 4 partitions and use the beos boot manager. with a little effort it is not hard for me to quad boot winxp, beos, ubuntu and freebsd.
at times i have accidently replaced the mbr. at these times i take a trip into beos limbo and rerun bootman and all is well. I have been running like this for a couple of years changing the linux partition from mandrake to fedora to slackware to to qnx and back and forth some more. I am hoping to stay with ubuntu..
Okay, here’s what I did (and it works, I’ve done it several times already):
1) Install FreeBSD. Let it take over the MBR
2) When installing Ubuntu, it will ask you if you want to overwrite the MBR. Install its bootloader in its own partition (I think you must say “no” there), (for example, if FreeBSD is on the second partition (slice in BSD terms), and ubuntu is on the third, you’d have to install ubuntu’s bootloader in /dev/hda3.
This way you’ll see first the FreeBSD bootloader, choose linux and then Ubuntu’s bootloader will come up.
Happy dualbooting! (currently I’ve got a laptop booting XPestilent, FreeBSD and Ubuntu — XPest gave lots of troubles but eventually I won. I’ll uninstall it once school is over since I don’t like it, it was just to show off a few GTK+ apps running in the three systems with the same source )
Hey, is there ext2/3, fat and ntfs support out of the box? In 5.3 mount gave me something like ´mount_ext2 does not exist´. AFAIK you have to compile kernel on your own in order to get to your data. Or is there any better way how to do that? Thanks in advance.
With FreeBSD you rarely have to compile a new kernel. When a kernel is compiled, all device drivers are also compiled as kernel modules. All you need to do is use kldload <driver> to load the driver into the kernel.
For instance, to enable ext2 in a GENERIC kernel, just use kldload ext2fs, and then use mount -t ext2fs /dev/adXsX /mountpoint
Have a look-see through /boot/kernel/ to see all the drivers that can be loaded this way.
You only *need* to recompile the kernel to enable SMP support, or to remove drivers from KERNEL. Unless you want to compile all the drivers you need into the kernel, of course.
It’s a very different thought process than in Linux.
For those coming from the Dos/Windows/Linux world of harddrive partitioning, the FreeBSD (derived from UNIX partitioning on non-PC hardware) can be a little confusing. However, it’s fairly easy to understand once you sit back and think about it a little.
The easiest way to keep things straight is to think of a FreeBSD slice as an anolog to an Extended partition. It takes up one slot in the PC HD partition table, and it can be sub-divided into smaller pieces (like how an Extended partition can have multiple logical partitions).
The PC HD partition table has 4 slots in it for partitions.
In the early days of the PC, Microsoft and company came to realise the limitations of only having 4 Primary partitions, and the developed the Extended partition (which could hold multiple Logical partitions). The Extended partition take up one slot in the partition table. Inside the extended partition table is another partition table with fewer limitations.
FreeBSD started out as a port of UNIX to the PC. Thus, it brought over the UNIX way of partitioning. You create a slice, which takes up 1 slot in the PC HD partition table. And then you subdivide that slice as needed into partitions.
So, you need one slot in your PC HD partition table to use FreeBSD. Compare that to the how many primary, extended, and logical partitions you need for DOS/Linux? With the UNIX scheme, each OS has 1 partition. Makes it much cleaner, IMO.
NetBSD and OpenBSD don’t even have the notion of a “slice”, they only know UNIX partitions. They just create this UNIX partitions in a specified area of the disk (usually a DOS partition, or the entire disk). To access a Linux or DOS partition, you have to create a NetBSD partition which exactly overlaps this DOS partition, to be able to access it. So if your NetBSD partitions are /dev/wd0a through /dev/wd0h, your DOS partition would be /dev/wd0i for example.
Also FreeBSD is limited to 8 partitions per slice, NetBSD is not. I had to create two slices (DOS partitions) to host my 11 FreeBSD partitions. So they’re called /dev/ad0s1a,… /dev/ad0s1h, /dev/ad0s2a, …
With FreeBSD you rarely have to compile a new kernel. When a kernel is compiled, all device drivers are also compiled as kernel modules. All you need to do is use kldload <driver> to load the driver into the kernel.
For instance, to enable ext2 in a GENERIC kernel, just use kldload ext2fs, and then use mount -t ext2fs /dev/adXsX /mountpoint
Have a look-see through /boot/kernel/ to see all the drivers that can be loaded this way.
Also, instead of using the command “kldload ext2fs”, you can just add an entry to /boot/loader.conf: ext2fs_load=”YES”. Many other kernel modules can be loaded at boot time that way (see /boot/defaults/loader.conf for examples).
does anyone know how to reliably install freebsd on a system that already has ubuntu on it in order to dual boot? most people tell me dual booting is too risky, not worth it, etc…but still…
what are you risking? if you have the space its not a big deal. it would be easier to have grub boot freebsd than use freebsd’s bootloader imo
I currently dual-boot FreeBSD and Windows XP for my laptop and in have the past run a machine that booted FreeBSD, Red Hat Linux (with Lilo), and Windows 2000. FreeBSD requires a single primary partition to use, in which it will manage sub-partitions called slices. Both the FreeBSD boot manager and Grub should be able to manage the boot process fairly easily. You should probably look through the FreeBSD handbook to learn more about the system but as long as you plan things out there should be little difficulty in setting up your dual or multi-boot system.
Umm… aren’t “slices” in FreeBSD terminology actually “partitions”?
no. slices are parts of partitions. e.g. ad0s0 ad0s1 ad0s2, where ad stands for the device, the first number is the partition and s0, s1, etc the slice
frank is correct, mjb is mistaken. See this text from the handbook:
Each partition-that-contains-a-filesystem is stored in what FreeBSD calls a slice. Slice is FreeBSD’s term for what the common call partitions, and again, this is because of FreeBSD’s UNIX background. Slices are numbered, starting at 1, through to 4.
Slice numbers follow the device name, prefixed with an s, starting at 1. So “da0s1” is the first slice on the first SCSI drive. There can only be four physical slices on a disk, but you can have logical slices inside physical slices of the appropriate type. These extended slices are numbered starting at 5, so “ad0s5” is the first extended slice on the first IDE disk. These devices are used by file systems that expect to occupy a slice.
Slices, “dangerously dedicated” physical drives, and other drives contain partitions, which are represented as letters from a to h. This letter is appended to the device name, so “da0a” is the a partition on the first da drive, which is “dangerously dedicated”. “ad1s3e” is the fifth partition in the third slice of the second IDE disk drive.
Reference:
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/disk-orga…
FreeBSD takes one primary partition that the rest of the system can see and creates partitions within that partition that only FreeBSD knows about. As far as everything Linux, Windows, etc. is concerned, it is one partition. FreeBSD just sub-divides that partition into smaller slices. It isn’y like Linux where you actually create multiple partitions that the whole system sees as multiple partitions.
FreeBSD does have a problem sharing a hard drive with another operating system. That’s where you encounter the notorious “geometry bug”. It’s not usually fatal, but you potentially can lose data. If you want to multiboot FreeBSD and another OS, it’s best to have a second hard drive and devote it entirely to FreeBSD.
Note that the geometry bug does not exist in OpenBSD or NetBSD. I really wish the FBSD developers could solve this – this bug has been there for years.
windows/linux: partitions | freebsd: slice
(not divided more)| freebsd: partition
A HDD can have up to 4 primary paritions or in freebsd term 4 slices. Windows/linux doesnt divide it into smaller pieces, but freebsd does, and this smaller units are the partitions. Under windows/linux your fdisk will only see 1 freebsd “space” but it consists of 3-4 “partitions”.
Does anyone know if the newer distribution has any improved binary package management. I know pkg_add can install packages but what about upgrading. I am fedup of installing from source for a ‘performance improvements’. Is there a way to binary upgrade a package without installing from source? I think this is one of the major problems with FreeBSD and why distributions like Ubuntu are slowly taking over.
Just as a followup, I will still continue to run my servers on FreeBSD. There is still no subsitute for this in the free world
Install sysutils/portupgrade and be happy.
I have never had any problems dual booting FreeBSD with anything — anything except ubuntu.
Ubuntu blows away the MBR and installs grub, ignoring that FreeBSD exists.
Pressing F1 or F2.. can’t be simplier
use ranish partition manager (part.exe, you need a dos boot disk)
part can replace the IPL (initial program loader) with it;s onw IPL so you can choose your partition to boot 🙂
http://www.ranish.com/part/
Hey, is there ext2/3, fat and ntfs support out of the box? In 5.3 mount gave me something like ´mount_ext2 does not exist´. AFAIK you have to compile kernel on your own in order to get to your data. Or is there any better way how to do that? Thanks in advance.
just a reminder since a lot of the questions here have been related to sharing the hardrive.
In the beginning i used beos to partition the drive into 4 partitions and use the beos boot manager. with a little effort it is not hard for me to quad boot winxp, beos, ubuntu and freebsd.
at times i have accidently replaced the mbr. at these times i take a trip into beos limbo and rerun bootman and all is well. I have been running like this for a couple of years changing the linux partition from mandrake to fedora to slackware to to qnx and back and forth some more. I am hoping to stay with ubuntu..
beos lives!!
Okay, here’s what I did (and it works, I’ve done it several times already):
1) Install FreeBSD. Let it take over the MBR
2) When installing Ubuntu, it will ask you if you want to overwrite the MBR. Install its bootloader in its own partition (I think you must say “no” there), (for example, if FreeBSD is on the second partition (slice in BSD terms), and ubuntu is on the third, you’d have to install ubuntu’s bootloader in /dev/hda3.
This way you’ll see first the FreeBSD bootloader, choose linux and then Ubuntu’s bootloader will come up.
Happy dualbooting! (currently I’ve got a laptop booting XPestilent, FreeBSD and Ubuntu — XPest gave lots of troubles but eventually I won. I’ll uninstall it once school is over since I don’t like it, it was just to show off a few GTK+ apps running in the three systems with the same source )
Hey, is there ext2/3, fat and ntfs support out of the box? In 5.3 mount gave me something like ´mount_ext2 does not exist´. AFAIK you have to compile kernel on your own in order to get to your data. Or is there any better way how to do that? Thanks in advance.
With FreeBSD you rarely have to compile a new kernel. When a kernel is compiled, all device drivers are also compiled as kernel modules. All you need to do is use kldload <driver> to load the driver into the kernel.
For instance, to enable ext2 in a GENERIC kernel, just use kldload ext2fs, and then use mount -t ext2fs /dev/adXsX /mountpoint
Have a look-see through /boot/kernel/ to see all the drivers that can be loaded this way.
You only *need* to recompile the kernel to enable SMP support, or to remove drivers from KERNEL. Unless you want to compile all the drivers you need into the kernel, of course.
It’s a very different thought process than in Linux.
For those coming from the Dos/Windows/Linux world of harddrive partitioning, the FreeBSD (derived from UNIX partitioning on non-PC hardware) can be a little confusing. However, it’s fairly easy to understand once you sit back and think about it a little.
The easiest way to keep things straight is to think of a FreeBSD slice as an anolog to an Extended partition. It takes up one slot in the PC HD partition table, and it can be sub-divided into smaller pieces (like how an Extended partition can have multiple logical partitions).
The PC HD partition table has 4 slots in it for partitions.
In the early days of the PC, Microsoft and company came to realise the limitations of only having 4 Primary partitions, and the developed the Extended partition (which could hold multiple Logical partitions). The Extended partition take up one slot in the partition table. Inside the extended partition table is another partition table with fewer limitations.
FreeBSD started out as a port of UNIX to the PC. Thus, it brought over the UNIX way of partitioning. You create a slice, which takes up 1 slot in the PC HD partition table. And then you subdivide that slice as needed into partitions.
So, you need one slot in your PC HD partition table to use FreeBSD. Compare that to the how many primary, extended, and logical partitions you need for DOS/Linux? With the UNIX scheme, each OS has 1 partition. Makes it much cleaner, IMO.
NetBSD and OpenBSD don’t even have the notion of a “slice”, they only know UNIX partitions. They just create this UNIX partitions in a specified area of the disk (usually a DOS partition, or the entire disk). To access a Linux or DOS partition, you have to create a NetBSD partition which exactly overlaps this DOS partition, to be able to access it. So if your NetBSD partitions are /dev/wd0a through /dev/wd0h, your DOS partition would be /dev/wd0i for example.
Also FreeBSD is limited to 8 partitions per slice, NetBSD is not. I had to create two slices (DOS partitions) to host my 11 FreeBSD partitions. So they’re called /dev/ad0s1a,… /dev/ad0s1h, /dev/ad0s2a, …
With FreeBSD you rarely have to compile a new kernel. When a kernel is compiled, all device drivers are also compiled as kernel modules. All you need to do is use kldload <driver> to load the driver into the kernel.
For instance, to enable ext2 in a GENERIC kernel, just use kldload ext2fs, and then use mount -t ext2fs /dev/adXsX /mountpoint
Have a look-see through /boot/kernel/ to see all the drivers that can be loaded this way.
phoenix, thank you
Also, instead of using the command “kldload ext2fs”, you can just add an entry to /boot/loader.conf: ext2fs_load=”YES”. Many other kernel modules can be loaded at boot time that way (see /boot/defaults/loader.conf for examples).