8.1 Install Observations

I just installed a new system with the amd64 version of FreeBSD 8.1 and would like to share a few observations of things I believe should be changed/updated/fixed. This post is FYI for those involved in development or those who run into similar issues in the future - I've resolved all the problems below on my system.

All partitions flagged as active - system won't boot:

I went through the entire install process and the system responded with a 'No Bootable Disk Found' error. I assumed that I screwed up somewhere and so used dd off a linux rescue CD to wipe the first 100 meg of each of the three drives to binary 0 so I could start fresh. I then went back and re-did the install again, only to receive the same message again upon completion.

OK, something very strange is going on here. Wipe the drives again. Pick to install a bootloader instead of MBR at the disk partitioning screen. Go through the rest. Same result. Wipe again. Go back and very carefully verify each step as I go through - one 25 gig partition with a 3 gig /, 2 gig /tmp, 10 gig /var, and 10 gig /usr inside; one 3.5 gig partition with a single swap slice inside of it; installed a bootloader on all three drives - should be good to go. Nope.

I loaded into the linux livecd again and decided to look at the partition configuration before wiping. What the... both the main 25 gig partition and the 3.5 gig partition for swap are flagged as active/bootable! That wouldn't make it so that the system can't boot, would it? Went into fdisk on each drive, removed the active flag from the 3.5 gig swap partition, wrote out the changes, and voila - system boots perfectly.

This is something that should be looked at IMO. While most people will probably simply use different slices of a single partition for their entire BSD install, anybody who does not will run into this problem. It shouldn't be too difficult to flag ONLY the partition where /boot resides as bootable.

Manual intervention required to make gmirror work with CD filesystem:

I wanted to mirror the main 25 gig partition so that the base system would have redundancy. I've used gmirror to mirror entire disks before and it was very simple. However, I was unable to find any detailed instructions on how to use gmirror to mirror on a partition level. I knew it could be done because I found discussions of people talking about it, just couldn't figure out how to do it exactly. (I'm planning on writing up how I did it and posting in the HOWTO section when I do.)

After much playing around, I finally accomplished it. However, I ran into one problem that I believe to be a flaw in the installation CD setup. What I kept banging my head into is that gmirror had to write out metadata to the partition in order to create the RAID, but couldn't do so as long as any slice was mounted. I couldn't umount all of them with the system running and even if I could, the commands to do what needed to be done resided on them and therefore wouldn't be available. Perfect opportunity to use the live file system on the install DVD in Fixit mode.

However, gmirror won't start with the configuration the way it is. Long story short, I found a solution. Start a shell using the live file system from the install DVD, then run # ln -s /dist/boot/kernel /boot After this, gmirror load works and the device nodes are created correctly.

This symbolic link should be added to the install DVD for the next version.

ZFS features not supported by FreeBSD not identified:

There are several features of ZFS that are not currently supported by FreeBSD. Examples that I ran into are sharesmb and vscan. However, they are included in the man pages as if they are available. I for one got very excited about these and incorporated them into the system layout I was developing at the time. I then had to go back and revise when I tried to enable the feature.

Why not simply alter the man page of zfs to reflect what features are and are not available in ZFS under FreeBSD? Either remove the references to such features altogether or have the first line in the option description be 'THIS IS NOT CURRENTLY SUPPORTED IN THIS VERSION OF FREEBSD' so that it stands out clearly and people know not to plan on using them. An internet search reveals that they aren't supported rather quickly, but one should not have to verify the accuracy of information that is in the man pages. Very simple, but something that needs addressing.
 
thanks for sharing these observations, i found a couple of interesting bits for myself however most of the things are already in my baggage : )
 
Back
Top