Install FreeBSD 14.0 (Short and Sweet Version)
The FreeBSD Handbook has an extensive chapter on installing FreeBSD that covers a wide range of scenarios with descriptions of each possible choice. Its an invaluable resource maintained by volunteer contributors.
After performing a few installs, these are my personal notes of steps taken and choices made. A distilled, short and sweet version of the above Handbook.
Hardware used is a Thinkpad T480s with 24GB RAM, 1TB SSD, and Intel integrated ethernet/wireless/gpu. Architecture is amd64
.
There is always more than one way to do it. This is mine. 😃
1. Download
Download FreeBSD-14.0-RELEASE-amd64-disc1.iso and CHECKSUM.SHA256-FreeBSD-14.0-RELEASE-amd64 from RELEASES.
-disc1.iso
contains all of the files needed to install FreeBSD, its source, and the Ports Collection, and SHA256
is a checksum used to verify the downloaded iso
is identical to the original.
Verify ...
$ sha256sum -c CHECKSUM.SHA256-FreeBSD-14.0-RELEASE-amd64 FreeBSD-14.0-RELEASE-amd64-disc1.iso
FreeBSD-14.0-RELEASE-amd64-disc1.iso: OK
2. Prepare install media
Write -disc1.iso
to a USB stick using dd
. Insert USB stick and determine the device ID.
Example (on Linux/FreeBSD) ...
# dmesg | tail
[..]
da0 at umass-sim0 bus 0 scbus4 target 0 lun 0
da0: <OCZ RALLY2 1100> Removable Direct Access SCSI device
da0: Serial Number AA04012700074216
da0: 40.000MB/s transfers
da0: 3824MB (7831552 512 byte sectors)
da0: quirks=0x2<NO_6_BYTE>
BE VERY CAREFUL TO NOTE THE PROPER DEVICE. ALL DATA ON THE DEVICE WILL BE OVERWRITTEN.
Create install media on device ...
# dd if=FreeBSD-14.0-RELEASE-amd64-disc1.iso of=/dev/da0 bs=1M conv=sync
3. Install
Insert and boot install media on target device.
On the Thinkpads, pressing F12 at boot (usually) will enter a menu where you can select the USB install stick as the boot target.
Install FreeBSD using the text-based installation program bsdinstall
.
Steps:
[Enter]
forBoot Multi user
- Choose
[Install]
- Keymap Selection: Default is
US
keyboard map. I prefer the Colemak layout:(*) Colemak ergonomic alternative
. - Set Hostname:
<new_name_for_device>.<root_domain>
- Optional system components to install: keep default components, adding ...
[*] kernel-dbg
[*] lib32
[*] ports
[*] src
- Partitioning:
Auto (ZFS) Guided Root-on-ZFS
- ZFS Configure Options: Keep default options, adding ...
- Pool Type/Disks:
stripe
[*] ada0
for SATA,[*] nda0
for NVME
- Encrypt Disks?
YES
- Swap Size
32g
- Encrypt Swap?
YES
- Enter encryption passphrase. Retype to confirm.
- Pool Type/Disks:
- New password for root. Retype to confirm.
- Select network interface:
em0
(ethernet - Intel)- Configure IPv4 for this interface?
[ Yes ]
- Use DHCP?
[ Yes ]
- Use DHCP?
- Configure IPv6 for this interface?
[ No ]
- Resolver Configuration
- Search
lan
- IPv4 DNS #1
<ip_address>
- Search
- Configure IPv4 for this interface?
- Clock set to UTC?
[ Yes ]
- Time Zone Selector:
America - Canada - Eastern
EST
- Set Date
- Set Time
[ Skip ]
(let NTP set on reboot) - Services to be started at boot:
[*] local_unbound
[*] sshd
[*] ntpd
[*] powerd
(for laptops)[*] dumpdev
- System security hardening options: select all
- Add user?
< Yes >
- Username
- Full name
- Uid:
<enter>
- Login group:
<enter>
- Other groups?
wheel
- Login class:
<enter>
- Shell:
sh
- Home directory:
<enter>
- Home directory permissions:
<enter>
- Use password-based authentication?
yes
- Use an empty password?
no
- Use a random password?
no
- Enter password. Retype to confirm.
- Lock out account after creation?
no
- Add another user?
no
- Final Configuration:
Exit
- Manual Configuration:
< No >
[ Reboot ]
4. First boot
NOTE: Keyboard at boot reverts back to default US
keyboard.
System begins boot and prompts for encryption passphrase. Upon successful entry, boot continues to login:
. Enter the username and account passphrase created during the install.
To read boot messages after login ...
$ less /var/run/dmesg.boot
Show the version of FreeBSD installed ...
$ freebsd-version ; uname -a
List system partitions ...
$ gpart show
5. Shutdown
Switch to root, then power off the system ...
$ su
Password:
# shutdown -p now
6. After the install
Now what? These are some extra steps I take after installing FreeBSD.
Onward!
You can like, share, or comment on this post on Mastodon 💬
» Next: Manage multiple Python versions in Linux using pyenv
« Previous: Automatic upgrades in Debian