What follows is a log of the installation and setup of FreeBSD 6.1 on the all new hudson.

Installation

Because I was impatient 2 weeks ago when I first set out to do the install, I only downloaded the 23MB boot-only ISO for i386. Thus, after booting from the CD ROM I selected the Custom install option (as always), partitioned the first 73Gb disk (dangerously dedicated, of course) and used the defaults for the slices then sat around waiting for the base, kernel, dict, man, src and ports to install via ftp2.au.freebsd.org (a.k.a. mirror.aarnet.edu.au). Don't forget to set vi as the editor in the options rather than the rather awful ee. Set a root password, the time zone and reboot.

Do not choose Commit again after the post-install config like I did the first time around - you'll end up reinstalling again which is quite painful via 512k ADSL.

The first thing to do after the basic install is to sync the source tree using CVSup. I ftp'ed to ftp.freebsd.org, changed to /pub/FreeBSD/ports/packages/net, downloaded the latest cvsup-without-gui package and installed it using pkg_install. After installing, get a supfile for -STABLE: cp /usr/share/examples/cvsup/stable-supfile /root. Edit this file to use cvsup.au.freebsd.org and RELENG_6_1 as the release. Do not use the defalt RELENG_6 unless you want to use 6.2, still in beta. After a cvsup stable-supfile build your new world, as described in the handbook.

While all that is going on, I added a staff account for myself, cvsup'ed the ports collection and installed sudo and bash. After buildworld/buildkernel/installkernel/fastboot/installworld/mergemaster I configured the NTP and SSH servers, which I think gives me a bare minimum platform to work with.

RAID

The second two 73Gb disks were mirrored using gmirror.

Packages

As much as I hate it for all the crazy dependencies it has, I installed sysutils/portupgrade from the ports collection. It is the only ports manager that I know of that lets you create packages for all installed ports, which is pretty damm handy when you have a built system for compiling and testing that is separate from your production machine. Five billion hours later, after it had sucked in Ruby, Perl 5.8 and BDB 4.1 and some other cruft as dependencies, it was installed.

Authentication

FreeBSD 6 supports name service switch! Woo! Lets get LDAP cracking. To get a sensible LDAP setup going, you need to use both nss_ldap (as a user database replacement) and pam_ldap (for doing authentication in a safe, secure way). This of course necessitates the installation of openldap23-client but we'll use the production LDAP server for actual user data for now. I didn't include SASL support, SASL is a pain in the ass. Install both the PAM ports and edit /usr/local/etc/ldap.conf and /usr/local/etc/nss_ldap.conf. Actually, since those files can be identical, I just linked one to the other. Edit /etc/nsswitch.conf to use files and ldap for both passwd and group.

The id command is pretty handy for testing if your LDAP NIS setup is working.

To be continuted (and proofread)...