Things to remember when bootstrapping a fresh install of FreeBSD outside of sysinstall

Boot Setup

Regular

/boot/loader.conf

loader_logo="beastie"
kernel="GENERIC"
opensolaris_load="YES"          # if zfs root
zfs_load="YES"                  # if zfs root
kern.cam.boot_delay=5000       # if booting from a USB device that takes a long time to probe and attach

Tweaks if /boot is its own partition

# Boot scripts are hardcoded to look in /boot so make sure they can find everything
# Have to move the bootcode out of the way for this to work, though
cd /path/to/new/boot && mv boot boot.blk && ln -svf . boot

/boot/boot.config (if boot.config exists, it must exist in the toplevel directory of the boot filesystem!)

/loader

/boot/loader.conf

vfs.root.mountfrom="ufs:/dev/ufs/root"
vfs.root.mountfrom="zfs:zpool/filesystem" # if zfs root

Tweaks if using serial console

/boot/boot.config (if boot.config exists, it must exist in the toplevel directory of the boot filesystem!)

-h -S115200
/loader -h -S115200             # if /boot is its own partition

/boot/loader.conf

console="comconsole,vidconsole" # or just comconsole, if there is no useful video hardware
comconsole_speed="115200"
boot_multicons="YES"            # pass -D to kenv (boot -D)
boot_serial="YES"               # pass -h to kenv (boot -h)

System configuration

Can usually be done after rebooting, with obvious accessibility exceptions

Root password

  • duh

/etc/fstab

  • Pretty obvious

/etc/rc.conf

hostname="hostname.domain.tld"
ifconfig_<adapter>="<config>"
sshd_enable="YES" # Unless you really want a deaf box
zfs_enable="YES"  # To auto-mount zfs filesystems; most useful when using ZFS root

/etc/ttys

  • Enable serial line, if using serial

/etc/localtime

  • Link to or copy from the appropriate file in /usr/share/zoneinfo

/etc/group

pw groupadd users -g 1000

/etc/passwd

Coming soon

/etc/mail/aliases

newaliases # so that periodic daily emails don't spam console

Packages

  • sudo

    • visudo (enable %wheel)
  • bash
  • rsync

INSTALL_NODEBUG=yes should avoid installing *.symbols files for kernel installs