Raspberry Pi 5 16 GB - FreeBSD
FreeBSD on Raspberry Pi 5 (16 GB)
back to main Pi 5 page.
links
FreeBSD wiki RonaldKlop/Raspberry Pi 5 16GB, Setting up FreeBSD on a Raspberry Pi 5,
local links
History
2026-01-14: nda1p4 - zroot - pkg - install jq
Jan 14 19:31:22 devpi5 pkg[32259]: oniguruma-6.9.10 installed Jan 14 19:31:23 devpi5 pkg[32259]: jq-1.8.1 installed
2026-01-04: nda1p4 - zroot - from /var/log/messages
Jan 4 18:16:32 devpi5 kernel: nvme0: async event occurred (type 0x1, info 0x01, page 0x02) Jan 4 18:16:32 devpi5 kernel: nvme0: temperature above threshold
2025-12-28: nda1p4 - zroot - reboot, FreeBSD 14.3-release-p7 is in
root@devpi5:~ # freebsd-version -ku 14.3-RELEASE-p5 14.3-RELEASE-p7
kernel
root@devpi5:~ # uname -a FreeBSD devpi5 14.3-RELEASE-p5 FreeBSD 14.3-RELEASE-p5 GENERIC arm64
2025-12-28: nda1p4 - zroot - freebsd-update fetch
root@devpi5:~ # freebsd-update fetch src component not installed, skipped [..] The following files will be updated as part of updating to 14.3-RELEASE-p7: [..] /sbin/rtsol /usr/lib/debug/boot/kernel/ipfw_pmod.ko.debug /usr/lib/debug/sbin/rtsol.debug /usr/lib/debug/usr/sbin/rtsold.debug /usr/sbin/rtsold
install
root@devpi5:~ # freebsd-update install src component not installed, skipped Creating snapshot of existing boot environment... done. Installing updates... Restarting sshd after upgrade Performing sanity check on sshd configuration. Stopping sshd. Waiting for PIDS: 904. Performing sanity check on sshd configuration. Starting sshd. done.
2025-12-14: nda1p4 - zroot - get a ports tree onto the machine
root@devpi5:~ # git clone https://git.freebsd.org/ports.git /usr/ports Cloning into '/usr/ports'... remote: Enumerating objects: 6773553, done. remote: Counting objects: 100% (936/936), done. remote: Compressing objects: 100% (120/120), done. remote: Total 6773553 (delta 923), reused 816 (delta 816), pack-reused 6772617 (from 1) Receiving objects: 100% (6773553/6773553), 1.53 GiB | 22.96 MiB/s, done. Resolving deltas: 100% (4102451/4102451), done. Updating files: 100% (167642/167642), done.
2025-12-14: nda1p4 - zroot - rust - install rust for my user
tingo@devpi5:~ $ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh tingo@devpi5:~ $ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh info: downloading installer warn: curl: (22) The requested URL returned error: 404 error: installer for platform 'aarch64-unknown-freebsd' not found, this may be unsupported
ok, so that doesn't work. Aha, issue #4012.
2025-12-14: nda1p4 - zroot - pkg - install rust and more
Dec 14 17:45:38 devpi5 pkg[17190]: rust-1.89.0_1 installed Dec 14 18:06:20 devpi5 pkg[17264]: jsoncpp-1.9.6_1 installed Dec 14 18:06:20 devpi5 pkg[17264]: libuv-1.51.0 installed Dec 14 18:06:21 devpi5 pkg[17264]: rhash-1.4.4_1 installed Dec 14 18:06:21 devpi5 pkg[17264]: cmake-core-3.31.9 installed Dec 14 18:06:47 devpi5 pkg[17344]: pkgconf-2.4.3,1 installed Dec 14 18:07:31 devpi5 pkg[17373]: libedit-3.1.20250104,1 installed Dec 14 18:07:31 devpi5 pkg[17373]: lua53-5.3.6_1 installed Dec 14 18:07:38 devpi5 pkg[17373]: llvm19-19.1.7_1 installed
2025-12-07: nda1p4 - zroot - pkg - install more packages
Dec 7 21:03:28 devpi5 pkg[1012]: sudo-1.9.17p2_1 installed Dec 7 21:04:03 devpi5 pkg[1043]: libsysinfo-0.0.3_3 installed Dec 7 21:04:03 devpi5 pkg[1043]: 7-zip-25.01 installed Dec 7 21:05:32 devpi5 pkg[1074]: cpmtools2-2.24_1 installed Dec 7 21:06:42 devpi5 pkg[1078]: fusefs-libs3-3.17.1_1 installed Dec 7 21:06:42 devpi5 pkg[1078]: fusefs-sshfs-3.7.3_3 installed Dec 7 21:07:12 devpi5 pkg[1105]: brotli-1.1.0,1 installed Dec 7 21:07:13 devpi5 pkg[1105]: liblz4-1.10.0,1 installed Dec 7 21:07:13 devpi5 pkg[1105]: libnghttp2-1.67.0 installed Dec 7 21:07:13 devpi5 pkg[1105]: libssh2-1.11.1,3 installed Dec 7 21:07:13 devpi5 pkg[1105]: libunistring-1.4.1 installed Dec 7 21:07:13 devpi5 pkg[1105]: libidn2-2.3.8 installed Dec 7 21:07:13 devpi5 pkg[1105]: libpsl-0.21.5_2 installed Dec 7 21:07:13 devpi5 pkg[1105]: perl5-5.42.0_1 installed Dec 7 21:07:13 devpi5 pkg[1105]: p5-Crypt-URandom-0.54 installed Dec 7 21:07:13 devpi5 pkg[1105]: p5-Digest-HMAC-1.05 installed Dec 7 21:07:13 devpi5 pkg[1105]: p5-Authen-SASL-2.1900 installed Dec 7 21:07:13 devpi5 pkg[1105]: p5-Error-0.17030 installed Dec 7 21:07:13 devpi5 pkg[1105]: p5-MIME-Base32-1.303 installed Dec 7 21:07:13 devpi5 pkg[1105]: p5-MIME-Base64-3.16 installed Dec 7 21:07:13 devpi5 pkg[1105]: p5-Mozilla-CA-20250602 installed Dec 7 21:07:13 devpi5 pkg[1105]: p5-Net-SSLeay-1.94 installed Dec 7 21:07:13 devpi5 pkg[1105]: p5-URI-5.32_1 installed Dec 7 21:07:13 devpi5 pkg[1105]: p5-IO-Socket-SSL-2.095 installed Dec 7 21:07:13 devpi5 pkg[1105]: zstd-1.5.7 installed Dec 7 21:07:14 devpi5 pkg[1105]: curl-8.16.0 installed Dec 7 21:07:14 devpi5 pkg[1105]: git-2.51.0 installed Dec 7 21:07:50 devpi5 pkg[1366]: gzip-1.14 installed Dec 7 21:09:07 devpi5 pkg[1369]: lrzsz-0.12.20_7 installed Dec 7 21:09:24 devpi5 pkg[1371]: lsblk-4.0 installed Dec 7 21:10:08 devpi5 pkg[1616]: mtools-4.0.49 installed Dec 7 21:12:39 devpi5 pkg[1629]: screen-5.0.1_4 installed
2025-12-07: nda1p4 - zroot - pkg - install avahi and friends
Dec 7 20:31:20 devpi5 pkg[970]: expat-2.7.3 installed Dec 7 20:31:20 devpi5 pkg[970]: gnome_subr-1.0 installed Dec 7 20:31:20 devpi5 pkg[970]: indexinfo-0.3.1_1 installed Dec 7 20:31:20 devpi5 pkg[970]: gettext-runtime-0.23.1 installed Dec 7 20:31:20 devpi5 pkg[970]: libICE-1.1.2,1 installed Dec 7 20:31:20 devpi5 pkg[970]: libSM-1.2.6,1 installed Dec 7 20:31:20 devpi5 pkg[970]: libXau-1.0.12 installed Dec 7 20:31:20 devpi5 pkg[970]: libdaemon-0.14_1 installed Dec 7 20:31:20 devpi5 pkg[970]: libevent-2.1.12 installed Dec 7 20:31:20 devpi5 pkg[970]: libffi-3.5.1 installed Dec 7 20:31:20 devpi5 pkg[970]: libiconv-1.17_1 installed Dec 7 20:31:20 devpi5 pkg[970]: libinotify-20240724_3 installed Dec 7 20:31:20 devpi5 pkg[970]: mpdecimal-4.0.1 installed Dec 7 20:31:20 devpi5 pkg[970]: pcre2-10.46 installed Dec 7 20:31:20 devpi5 pkg[970]: readline-8.2.13_2 installed Dec 7 20:31:20 devpi5 pkg[970]: gdbm-1.26 installed Dec 7 20:31:20 devpi5 pkg[970]: libxml2-2.14.5 installed Dec 7 20:31:21 devpi5 pkg[970]: python311-3.11.13_1 installed Dec 7 20:31:21 devpi5 pkg[970]: py311-packaging-25.0 installed Dec 7 20:31:23 devpi5 pkg[970]: glib-2.84.1_3,2 installed Dec 7 20:31:23 devpi5 pkg[970]: xorgproto-2024.1 installed Dec 7 20:31:23 devpi5 pkg[970]: libXdmcp-1.1.5 installed Dec 7 20:31:23 devpi5 pkg[970]: libxcb-1.17.0 installed Dec 7 20:31:23 devpi5 pkg[970]: libX11-1.8.12,1 installed Dec 7 20:31:24 devpi5 pkg[970]: dbus-1.16.2_4,1 installed Dec 7 20:31:24 devpi5 pkg[970]: dbus-glib-0.114 installed Dec 7 20:31:24 devpi5 pkg[970]: avahi-app-0.8_6 installed Dec 7 20:31:24 devpi5 pkg[970]: nss_mdns-0.14.1.20200624_1 installed
and reboot to test it (yes, I'm lazy).
2025-12-07: nda1p4 - zroot - pkg - install pkg
root@devpi5:~ # pkg install pkg The package management tool is not yet installed on your system. Do you want to fetch and install it now? [y/N]: y Bootstrapping pkg from pkg+https://pkg.FreeBSD.org/FreeBSD:14:aarch64/quarterly, please wait... Verifying signature with trusted certificate pkg.freebsd.org.2013102301... done Installing pkg-2.4.2... Extracting pkg-2.4.2: 100% Updating FreeBSD repository catalogue... Fetching meta.conf: 100% 179 B 0.2kB/s 00:01 Fetching data.pkg: 100% 10 MiB 10.3MB/s 00:01 Processing entries: 100% FreeBSD repository update completed. 35656 packages processed. Updating FreeBSD-kmods repository catalogue... Fetching meta.conf: 100% 179 B 0.2kB/s 00:01 Fetching data.pkg: 100% 16 KiB 16.9kB/s 00:01 Processing entries: 100% FreeBSD-kmods repository update completed. 70 packages processed. All repositories are up to date. Updating database digests format: 100% Checking integrity... done (0 conflicting) The most recent versions of packages are already installed
2025-12-07: nda1p4 - zroot - reboot, FreeBSD 14.3-release-p6 is in
root@devpi5:~ # freebsd-version -ku 14.3-RELEASE-p5 14.3-RELEASE-p6
kernel
root@devpi5:~ # uname -a FreeBSD devpi5 14.3-RELEASE-p5 FreeBSD 14.3-RELEASE-p5 GENERIC arm64
2025-12-07: nda1p4 - zroot - freebsd-update fetch
root@devpi5:~ # freebsd-update fetch src component not installed, skipped [..] The following files will be updated as part of updating to 14.3-RELEASE-p6: /bin/freebsd-version /boot/kernel/if_bnxt.ko /boot/kernel/kernel /boot/kernel/kernel.bin /boot/kernel/wlan_tkip.ko /boot/kernel/zfs.ko /lib/libcrypto.so.30 /lib/libzpool.so.2 [..] /usr/share/man/man3/archive_write_set_options.3.gz /usr/share/man/man5/libarchive-formats.5.gz
install
root@devpi5:~ # freebsd-update install src component not installed, skipped Creating snapshot of existing boot environment... done. Installing updates... Restarting sshd after upgrade Performing sanity check on sshd configuration. Stopping sshd. Waiting for PIDS: 903. Performing sanity check on sshd configuration. Starting sshd. done.
2025-12-07: nda1p4 - zroot - we-re back to FreeBSD 14.3-release again
root@devpi5:~ # freebsd-version -ku 14.3-RELEASE 14.3-RELEASE
2025-12-07: nda1p4 - zroot - yes, that worked, now the machine boots like it should.zpool status
root@devpi5:~ # zpool status pool: zroot state: ONLINE config: NAME STATE READ WRITE CKSUM zroot ONLINE 0 0 0 nda1p4 ONLINE 0 0 0 errors: No known data errors
2025-12-07: I tried booting from the SSD (nda1) it works, but for some reason it is unhappy with the efi partition. It refuses to automount it (or fsck it), but when I exit out of singleuser /boot/efi is mounted. Huh. In /var/log/messages I can see
nvme1: READ sqid:1 cid:123 nsid:1 lba:1048617 len:16 nvme1: PRP OFFET INVALID (00/13) crd:0 m:0 dnr:0 p:0 sqid:1 cid:123 cdw0:0 (nda1:nvme1:0:0:1): READ. NCB: opc=2 fuse=0 nsid=1 prp1=0 prp2=0 cdw=100029 0 f 0 0 0 (nda1:nvme1:0:0:1): CAM status: Unknown (0x420) (nda1:nvme1:0:0:1): Error 5, Retries exhausted nvme1: READ sqid:1 cid:126 nsid:1 lba:1048617 len:16 nvme1: PRP OFFET INVALID (00/13) crd:0 m:0 dnr:0 p:0 sqid:1 cid:126 cdw0:0 (nda1:nvme1:0:0:1): READ. NCB: opc=2 fuse=0 nsid=1 prp1=0 prp2=0 cdw=100029 0 f 0 0 0 (nda1:nvme1:0:0:1): CAM status: Unknown (0x420) (nda1:nvme1:0:0:1): Error 5, Retries exhausted nvme1: READ sqid:1 cid:126 nsid:1 lba:1048617 len:16 nvme1: PRP OFFET INVALID (00/13) crd:0 m:0 dnr:0 p:0 sqid:1 cid:126 cdw0:0 (nda1:nvme1:0:0:1): READ. NCB: opc=2 fuse=0 nsid=1 prp1=0 prp2=0 cdw=100029 0 f 0 0 0 (nda1:nvme1:0:0:1): CAM status: Unknown (0x420) (nda1:nvme1:0:0:1): Error 5, Retries exhausted nvme1: READ sqid:1 cid:126 nsid:1 lba:1048617 len:16 nvme1: PRP OFFET INVALID (00/13) crd:0 m:0 dnr:0 p:1 sqid:1 cid:126 cdw0:0 (nda1:nvme1:0:0:1): READ. NCB: opc=2 fuse=0 nsid=1 prp1=0 prp2=0 cdw=100029 0 f 0 0 0 (nda1:nvme1:0:0:1): CAM status: Unknown (0x420) (nda1:nvme1:0:0:1): Error 5, Retries exhausted nvme1: READ sqid:1 cid:126 nsid:1 lba:1048617 len:16 nvme1: PRP OFFET INVALID (00/13) crd:0 m:0 dnr:0 p:1 sqid:1 cid:126 cdw0:0 (nda1:nvme1:0:0:1): READ. NCB: opc=2 fuse=0 nsid=1 prp1=0 prp2=0 cdw=100029 0 f 0 0 0 (nda1:nvme1:0:0:1): CAM status: Unknown (0x420) (nda1:nvme1:0:0:1): Error 5, Retries exhausted nvme1: READ sqid:1 cid:126 nsid:1 lba:1048617 len:16 nvme1: PRP OFFET INVALID (00/13) crd:0 m:0 dnr:0 p:1 sqid:1 cid:126 cdw0:0 (nda1:nvme1:0:0:1): READ. NCB: opc=2 fuse=0 nsid=1 prp1=0 prp2=0 cdw=100029 0 f 0 0 0 (nda1:nvme1:0:0:1): CAM status: Unknown (0x420) (nda1:nvme1:0:0:1): Error 5, Retries exhausted
I copied bot boot file away, then unmount and try to re-create the filesystem
root@devpi5:~ # newfs_msdos /dev/nda1p2 /dev/nda1p2: 1048256 sectors in 32758 FAT16 clusters (16384 bytes/cluster) BytesPerSec=512 SecPerClust=32 ResSectors=1 FATs=2 RootDirEnts=512 Media=0xf0 FATsecs=128 SecPerTrack=63 Heads=255 HiddenSecs=0 HugeSectors=1048576
mount it
root@devpi5:~ # mount /boot/efi
create dirs
root@devpi5:~ # mkdir -p /boot/efi/EFI/BOOT
copy the boot file back
root@devpi5:~ # cp /home/tingo/work/bootaa64.efi /boot/efi/EFI/BOOT/
check
root@devpi5:~ # ls -l /boot/efi/EFI/BOOT/ total 848 -rwxr-xr-x 1 root wheel 853788 Dec 7 20:16 bootaa64.efi
2025-12-07: mmcsd0p3 - zroot - current config file is
root@devpi5sd:~ # cat /etc/rc.conf hostname="devpi5sd" keymap="no.kbd" zfs_enable="YES" zpool_reguid="zroot" zpool_upgrade="zroot" ifconfig_DEFAULT="DHCP inet6 accept_rtadv" growfs_enable="YES" sshd_enable="YES" ntpd_enable="YES" ntpd_sync_on_start="YES" dbus_enable="YES" avahi_daemon_enable="YES"
2025-12-07: mmcsd0p3 - zroot - create a msdos filesystem on nda1p1
root@devpi5sd:~ # newfs_msdos /dev/nda1p1 /dev/nda1p1: 1048256 sectors in 32758 FAT16 clusters (16384 bytes/cluster) BytesPerSec=512 SecPerClust=32 ResSectors=1 FATs=2 RootDirEnts=512 Media=0xf0 FATsecs=128 SecPerTrack=63 Heads=255 HiddenSecs=0 HugeSectors=1048576
mount, unzip firmware, unmount
root@devpi5sd:~ # mount -t msdosfs /dev/nda1p1 /mnt root@devpi5sd:/mnt # unzip /home/tingo/dl/RPI5_D0.zip Archive: /home/tingo/dl/RPI5_D0.zip extracting: bcm2712-d-rpi-5-b.dtb creating: overlays/ extracting: overlays/bcm2712d0.dtbo extracting: bcm2712-rpi-cm5-cm5io.dtb extracting: bcm2712-rpi-cm5-cm4io.dtb extracting: bcm2712-rpi-500.dtb extracting: bcm2712d0-rpi-5-b.dtb extracting: config.txt extracting: bcm2712-rpi-cm5l-cm5io.dtb extracting: RPI_EFI.fd extracting: bcm2712-rpi-cm5l-cm4io.dtb extracting: bcm2712-rpi-5-b.dtb root@devpi5sd:/mnt # df -h /mnt Filesystem Size Used Avail Capacity Mounted on /dev/nda1p1 512M 2.6M 509M 1% /mnt root@devpi5sd:/mnt # cd root@devpi5sd:~ # umount /mnt
I've copied over the base image, and unpacked it
tingo@devpi5sd:~/dl $ unxz -k FreeBSD-14.3-RELEASE-arm64-aarch64-zfs.raw.xz
can I mdconfig it?
root@devpi5sd:/home/tingo/dl # mdconfig -f FreeBSD-14.3-RELEASE-arm64-aarch64-zfs.raw md0
check devices
root@devpi5sd:/home/tingo/dl # ll /dev/md0* crw-r----- 1 root operator 0x93 Dec 7 20:37 /dev/md0 crw-r----- 1 root operator 0x94 Dec 7 20:37 /dev/md0p1 crw-r----- 1 root operator 0x95 Dec 7 20:37 /dev/md0p2 crw-r----- 1 root operator 0x96 Dec 7 20:37 /dev/md0p3 root@devpi5sd:/home/tingo/dl # gpart show -p md0 => 34 12649496 md0 GPT (6.0G) 34 66584 md0p1 efi (33M) 66618 2097152 md0p2 freebsd-swap (1.0G) 2163770 10485760 md0p3 freebsd-zfs (5.0G)
good. Copy data for efi partition
root@devpi5sd:/home/tingo/dl # dd if=/dev/md0p1 of=/dev/nda1p2 bs=16M conv=sync status=progress 3+0 records in 3+0 records out 50331648 bytes transferred in 0.175850 secs (286220005 bytes/sec)
copy data for zfs partition
root@devpi5sd:/home/tingo/dl # dd if=/dev/md0p3 of=/dev/nda1p4 bs=16M conv=sync status=progress 5083496448 bytes (5083 MB, 4848 MiB) transferred 18.010s, 282 MB/s 320+0 records in 320+0 records out 5368709120 bytes transferred in 18.912069 secs (283877410 bytes/sec)
that should be all.
2025-12-07: mmcsd0p3 - zroot - let me create a gpt on nvme1
root@devpi5sd:~ # gpart create -s GPT nda1 nda1 created
add a 512M ms-basic-data partition
root@devpi5sd:~ # gpart add -t ms-basic-data -s 512M nda1 nda1p1 added
add a 512M efi partition, label it efiesp
root@devpi5sd:~ # gpart add -t efi -s 512M -l efiesp nda1 nda1p2 added
add a 16 GB swap partition, labeled swapfs
root@devpi5sd:~ # gpart add -t freebsd-swap -s 16G -l swapfs nda1 nda1p3 added
add a freebsd-zfs partition, taking up the rest of the space
root@devpi5sd:~ # gpart add -t freebsd-zfs nda1 nda1p4 added
the result is
root@devpi5sd:~ # gpart show -p nda1 => 40 7814037088 nda1 GPT (3.6T) 40 1048576 nda1p1 ms-basic-data (512M) 1048616 1048576 nda1p2 efi (512M) 2097192 33554432 nda1p3 freebsd-swap (16G) 35651624 7778385504 nda1p4 freebsd-zfs (3.6T) root@devpi5sd:~ # gpart show -l nda1 => 40 7814037088 nda1 GPT (3.6T) 40 1048576 1 (null) (512M) 1048616 1048576 2 efiesp (512M) 2097192 33554432 3 swapfs (16G) 35651624 7778385504 4 (null) (3.6T)
2025-12-02: mmcsd0p3 - zroot - I switched to a Lenovo USB to Ethernet adapter. usbconfig says
root@devpi5sd:~ # usbconfig -d ugen0.3 ugen0.3: <Thinkpad LAN Lenovo> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=ON (72mA)
and from dmesg
ugen0.3: <Lenovo Thinkpad USB LAN> at usbus0 ure0 on uhub1 ure0: <Lenovo Thinkpad USB LAN, class 0/0, rev 3.00/30.00, addr 2> on usbus0 miibus0: <MII bus> on ure0 rgephy0: <RTL8251/8153 1000BASE-T media interface> PHY 0 on miibus0 rgephy0: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT-FDX, 1000baseT-FDX-master, auto ue0: <USB Ethernet> on ure0 ue0: Ethernet address: 3c:18:a0:20:6a:49 ue0: link state changed to DOWN lo0: link state changed to UP ue0: link state changed to UP
it works.
2025-12-02: mmcsd0p3 - zroot - dmesg info about nvme
root@devpi5sd:~ # dmesg | egrep nvme\|nda FreeBSD is a registered trademark of The FreeBSD Foundation. nvme0: <Generic NVMe Device> mem 0xc0100000-0xc0103fff at device 0.0 on pci3 nvme0: unable to allocate MSI-X nvme0: unable to allocate MSI nvme1: <Generic NVMe Device> mem 0xc0000000-0xc0003fff at device 0.0 on pci4 nvme1: unable to allocate MSI-X nvme1: unable to allocate MSI nvme0: Allocated 64MB host memory buffer nvme1: Allocated 64MB host memory buffer Release APs...nda0 at nvme0 bus 0 scbus0 target 0 lun 1 nda0: <Samsung SSD 990 EVO Plus 4TB 2B2QKXG7 S7U9NU0YA21568Y> nda0: Serial Number S7U9NU0YA21568Y nda0: nvme version 2.0 nda0: 3815447MB (7814037168 512 byte sectors) nda1 at nvme1 bus 0 scbus1 target 0 lun 1 nda1: <Samsung SSD 990 EVO Plus 4TB 2B2QKXG7 S7U9NU0YA21527F> nda1: Serial Number S7U9NU0YA21527F nda1: nvme version 2.0 nda1: 3815447MB (7814037168 512 byte sectors)
2025-12-02: mmcsd0p3 - zroot - nvmecontrol also reports the two SSDs
root@devpi5sd:~ # nvmecontrol devlist nvme0: Samsung SSD 990 EVO Plus 4TB nvme0ns1 (3815447MB) nvme1: Samsung SSD 990 EVO Plus 4TB nvme1ns1 (3815447MB)
do an identify on nvme0
root@devpi5sd:~ # nvmecontrol identify nvme0 Controller Capabilities/Features ================================ Vendor ID: 144d Subsystem Vendor ID: 144d Serial Number: S7U9NU0YA21568Y Model Number: Samsung SSD 990 EVO Plus 4TB Firmware Version: 2B2QKXG7 Recommended Arb Burst: 2 IEEE OUI Identifier: 00 25 38 Multi-Path I/O Capabilities: Not Supported Max Data Transfer Size: 524288 bytes Sanitize Crypto Erase: Supported Sanitize Block Erase: Supported Sanitize Overwrite: Not Supported Sanitize NDI: Supported Sanitize NODMMAS: No Controller ID: 0x0001 Version: 2.0.0 Traffic Based Keep Alive: Not Supported Controller Type: I/O Controller Keep Alive Timer Not Supported Maximum Outstanding Commands 128 Admin Command Set Attributes ============================ Security Send/Receive: Supported Format NVM: Supported Firmware Activate/Download: Supported Namespace Management: Not Supported Device Self-test: Supported Directives: Not Supported NVMe-MI Send/Receive: Not Supported Virtualization Management: Not Supported Doorbell Buffer Config: Not Supported Get LBA Status: Not Supported Sanitize: crypto, block, Abort Command Limit: 8 Async Event Request Limit: 4 Number of Firmware Slots: 3 Firmware Slot 1 Read-Only: No Per-Namespace SMART Log: Yes Error Log Page Entries: 64 Number of Power States: 5 Total NVM Capacity: 4000787030016 bytes Unallocated NVM Capacity: 0 bytes Firmware Update Granularity: 08 (32768 bytes) Host Buffer Preferred Size: 67108864 bytes Host Buffer Minimum Size: 16777216 bytes NVM Command Set Attributes ========================== Submission Queue Entry Size Max: 64 Min: 64 Completion Queue Entry Size Max: 16 Min: 16 Number of Namespaces: 1 Compare Command: Supported Write Uncorrectable Command: Supported Dataset Management Command: Supported Write Zeroes Command: Supported Save Features: Supported Reservations: Not Supported Timestamp feature: Supported Verify feature: Supported Fused Operation Support: Not Supported Format NVM Attributes: Crypto Erase, Per-NS Erase, Per-NS Format Volatile Write Cache: Present, flush all NVM Subsystem Name: nqn.1994-11.com.samsung:nvme:990EVOPlus:M.2:S7U9NU0YA21568Y Fabrics Attributes ================== I/O Command Capsule Size: 1405431168 bytes I/O Response Capsule Size: 465776 bytes In Capsule Data Offset: 351744 bytes Controller Model: Dynamic Max SGL Descriptors: 181 Disconnect of I/O Queues: Supported
identify on nvme1
root@devpi5sd:~ # nvmecontrol identify nvme1 Controller Capabilities/Features ================================ Vendor ID: 144d Subsystem Vendor ID: 144d Serial Number: S7U9NU0YA21527F Model Number: Samsung SSD 990 EVO Plus 4TB Firmware Version: 2B2QKXG7 Recommended Arb Burst: 2 IEEE OUI Identifier: 00 25 38 Multi-Path I/O Capabilities: Not Supported Max Data Transfer Size: 524288 bytes Sanitize Crypto Erase: Supported Sanitize Block Erase: Supported Sanitize Overwrite: Not Supported Sanitize NDI: Supported Sanitize NODMMAS: No Controller ID: 0x0001 Version: 2.0.0 Traffic Based Keep Alive: Not Supported Controller Type: I/O Controller Keep Alive Timer Not Supported Maximum Outstanding Commands 128 Admin Command Set Attributes ============================ Security Send/Receive: Supported Format NVM: Supported Firmware Activate/Download: Supported Namespace Management: Not Supported Device Self-test: Supported Directives: Not Supported NVMe-MI Send/Receive: Not Supported Virtualization Management: Not Supported Doorbell Buffer Config: Not Supported Get LBA Status: Not Supported Sanitize: crypto, block, Abort Command Limit: 8 Async Event Request Limit: 4 Number of Firmware Slots: 3 Firmware Slot 1 Read-Only: No Per-Namespace SMART Log: Yes Error Log Page Entries: 64 Number of Power States: 5 Total NVM Capacity: 4000787030016 bytes Unallocated NVM Capacity: 0 bytes Firmware Update Granularity: 08 (32768 bytes) Host Buffer Preferred Size: 67108864 bytes Host Buffer Minimum Size: 16777216 bytes NVM Command Set Attributes ========================== Submission Queue Entry Size Max: 64 Min: 64 Completion Queue Entry Size Max: 16 Min: 16 Number of Namespaces: 1 Compare Command: Supported Write Uncorrectable Command: Supported Dataset Management Command: Supported Write Zeroes Command: Supported Save Features: Supported Reservations: Not Supported Timestamp feature: Supported Verify feature: Supported Fused Operation Support: Not Supported Format NVM Attributes: Crypto Erase, Per-NS Erase, Per-NS Format Volatile Write Cache: Present, flush all NVM Subsystem Name: nqn.1994-11.com.samsung:nvme:990EVOPlus:M.2:S7U9NU0YA21527F
2025-12-02: mmcsd0p3 - zroot - pciconf reports
root@devpi5sd:~ # pciconf -lv pcib1@pci1:0:0:0: class=0x060400 rev=0x30 hdr=0x01 vendor=0x14e4 device=0x2712 subvendor=0x0000 subdevice=0x0000 vendor = 'Broadcom Inc. and subsidiaries' device = 'BCM2712 PCIe Bridge' class = bridge subclass = PCI-PCI pcib2@pci1:1:0:0: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1b21 device=0x1182 subvendor=0x1b21 subdevice=0x118f vendor = 'ASMedia Technology Inc.' device = 'ASM1182e 2-Port PCIe x1 Gen2 Packet Switch' class = bridge subclass = PCI-PCI pcib3@pci1:2:3:0: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1b21 device=0x1182 subvendor=0x1b21 subdevice=0x118f vendor = 'ASMedia Technology Inc.' device = 'ASM1182e 2-Port PCIe x1 Gen2 Packet Switch' class = bridge subclass = PCI-PCI pcib4@pci1:2:7:0: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1b21 device=0x1182 subvendor=0x1b21 subdevice=0x118f vendor = 'ASMedia Technology Inc.' device = 'ASM1182e 2-Port PCIe x1 Gen2 Packet Switch' class = bridge subclass = PCI-PCI nvme0@pci1:3:0:0: class=0x010802 rev=0x00 hdr=0x00 vendor=0x144d device=0xa80d subvendor=0x144d subdevice=0xa801 vendor = 'Samsung Electronics Co Ltd' device = 'NVMe SSD Controller PM9C1a (DRAM-less)' class = mass storage subclass = NVM nvme1@pci1:4:0:0: class=0x010802 rev=0x00 hdr=0x00 vendor=0x144d device=0xa80d subvendor=0x144d subdevice=0xa801 vendor = 'Samsung Electronics Co Ltd' device = 'NVMe SSD Controller PM9C1a (DRAM-less)' class = mass storage subclass = NVM
it sees the two NVME SSDs - good.
2025-12-03: I powered off the machine, plugged inn the Base Duo hat, and powered it on again.
2025-12-01: mmcsd0p3 - I ran tzsetup to fix the timezone.
2025-12-01: mmcsd0p3 - zroot - swap is missing. Another missing label?
root@devpi5sd:~ # cat /etc/fstab # Custom /etc/fstab for FreeBSD VM images /dev/gpt/swapfs none swap sw 0 0 /dev/gpt/efiesp /boot/efi msdosfs rw 2 2
check
root@devpi5sd:~ # gpart show -p => 40 122167216 mmcsd0 GPT (58G) 40 1048576 mmcsd0p1 ms-basic-data (512M) 1048616 1048576 mmcsd0p2 efi (512M) 2097192 14680064 mmcsd0p3 freebsd-swap (7.0G) 16777256 105390000 mmcsd0p4 freebsd-zfs (50G) root@devpi5sd:~ # gpart show -p -l => 40 122167216 mmcsd0 GPT (58G) 40 1048576 mmcsd0p1 (null) (512M) 1048616 1048576 mmcsd0p2 efiesp (512M) 2097192 14680064 mmcsd0p3 (null) (7.0G) 16777256 105390000 mmcsd0p4 (null) (50G)
ok, the label is missing on mmcsd0p3. Fix it
root@devpi5sd:~ # gpart modify -i 3 -l swapfs mmcsd0 mmcsd0p3 modified
check
root@devpi5sd:~ # gpart show -l => 40 122167216 mmcsd0 GPT (58G) 40 1048576 1 (null) (512M) 1048616 1048576 2 efiesp (512M) 2097192 14680064 3 swapfs (7.0G) 16777256 105390000 4 (null) (50G)
enable swap
root@devpi5sd:~ # swapon -a swapon: adding /dev/gpt/swapfs as swap device
2025-11-30: mmcsd0p3 - zroot - pkg - install curl
Nov 30 19:55:40 devpi5sd pkg[1043]: brotli-1.1.0,1 installed Nov 30 19:55:40 devpi5sd pkg[1043]: liblz4-1.10.0,1 installed Nov 30 19:55:40 devpi5sd pkg[1043]: libnghttp2-1.67.0 installed Nov 30 19:55:41 devpi5sd pkg[1043]: libssh2-1.11.1,3 installed Nov 30 19:55:41 devpi5sd pkg[1043]: libunistring-1.4.1 installed Nov 30 19:55:42 devpi5sd pkg[1043]: libidn2-2.3.8 installed Nov 30 19:55:42 devpi5sd pkg[1043]: libpsl-0.21.5_2 installed Nov 30 19:55:42 devpi5sd pkg[1043]: zstd-1.5.7 installed Nov 30 19:55:43 devpi5sd pkg[1043]: curl-8.16.0 installed
2025-11-30: mmcsd0p4 - zroot - network via usb ethernet dongle
root@devpi5sd:~ # usbconfig -d ugen0.3 ugen0.3: <RTL8152 Fast Ethernet Adapter Realtek Semiconductor Corp.> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (100mA)
which shows up as ue0
root@devpi5sd:~ # ifconfig ue0 ue0: flags=1008843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,LOWER_UP> metric 0 mtu 1500 options=68009b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6> ether 00:e0:4c:36:08:f8 inet 10.1.161.30 netmask 0xffff0000 broadcast 10.1.255.255 inet6 fe80::2e0:4cff:fe36:8f8%ue0 prefixlen 64 scopeid 0x2 inet6 fd8c:2fd0:94bd:0:2e0:4cff:fe36:8f8 prefixlen 64 autoconf media: Ethernet autoselect (100baseTX <full-duplex>) status: active nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL>
2025-11-30: mmcsd0p4 - zroot - usb devices
root@devpi5sd:~ # usbconfig ugen1.1: <XHCI root HUB Generic> at usbus1, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE (0mA) ugen0.1: <XHCI root HUB Generic> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE (0mA) ugen1.2: <Model O- Wireless Glorious> at usbus1, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (100mA) ugen0.2: <Hub Genesys Logic, Inc.> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (100mA) ugen0.3: <RTL8152 Fast Ethernet Adapter Realtek Semiconductor Corp.> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (100mA) ugen0.4: <HP USB Keyboard Primax Electronics, Ltd> at usbus0, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON (98mA) ugen0.5: <Hub Genesys Logic, Inc.> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE (0mA)
2025-11-30 mmcsd0p4 - zroot - enable avahi
root@devpi5sd:~ # sysrc dbus_enable="YES" dbus_enable: -> YES root@devpi5sd:~ # sysrc avahi_daemon_enable="YES" avahi_daemon_enable: -> YES
2025-11-30 mmcsd0p4 - zroot - pkg - install avahi messages
Message from libinotify-20240724_3: -- You might want to consider increasing the kern.maxfiles tunable if you plan to use this library for applications that need to monitor activity of a lot of files.
packages
Nov 30 19:17:34 devpi5sd pkg[10695]: expat-2.7.3 installed Nov 30 19:17:34 devpi5sd pkg[10695]: gnome_subr-1.0 installed Nov 30 19:17:34 devpi5sd pkg[10695]: indexinfo-0.3.1_1 installed Nov 30 19:17:34 devpi5sd pkg[10695]: gettext-runtime-0.23.1 installed Nov 30 19:17:34 devpi5sd pkg[10695]: libICE-1.1.2,1 installed Nov 30 19:17:35 devpi5sd pkg[10695]: libSM-1.2.6,1 installed Nov 30 19:17:35 devpi5sd pkg[10695]: libXau-1.0.12 installed Nov 30 19:17:35 devpi5sd pkg[10695]: libdaemon-0.14_1 installed Nov 30 19:17:35 devpi5sd pkg[10695]: libevent-2.1.12 installed Nov 30 19:17:35 devpi5sd pkg[10695]: libffi-3.5.1 installed Nov 30 19:17:35 devpi5sd pkg[10695]: libiconv-1.17_1 installed Nov 30 19:17:35 devpi5sd pkg[10695]: libinotify-20240724_3 installed Nov 30 19:17:35 devpi5sd pkg[10695]: mpdecimal-4.0.1 installed Nov 30 19:17:36 devpi5sd pkg[10695]: pcre2-10.46 installed Nov 30 19:17:36 devpi5sd pkg[10695]: readline-8.2.13_2 installed Nov 30 19:17:37 devpi5sd pkg[10695]: gdbm-1.26 installed Nov 30 19:17:38 devpi5sd pkg[10695]: libxml2-2.14.5 installed Nov 30 19:17:39 devpi5sd pkg[10695]: python311-3.11.13_1 installed Nov 30 19:17:39 devpi5sd pkg[10695]: py311-packaging-25.0 installed Nov 30 19:17:45 devpi5sd pkg[10695]: glib-2.84.1_3,2 installed Nov 30 19:17:47 devpi5sd pkg[10695]: xorgproto-2024.1 installed Nov 30 19:17:48 devpi5sd pkg[10695]: libXdmcp-1.1.5 installed Nov 30 19:17:49 devpi5sd pkg[10695]: libxcb-1.17.0 installed Nov 30 19:17:51 devpi5sd pkg[10695]: libX11-1.8.12,1 installed Nov 30 19:18:27 devpi5sd pkg[10695]: dbus-1.16.2_4,1 installed Nov 30 19:18:27 devpi5sd pkg[10695]: dbus-glib-0.114 installed Nov 30 19:18:28 devpi5sd pkg[10695]: avahi-app-0.8_6 installed Nov 30 19:18:28 devpi5sd pkg[10695]: nss_mdns-0.14.1.20200624_1 installed
2025-11-30: mmcsd0p4 - zroot - pkg - install pkg
root@devpi5sd:~ # pkg install pkg The package management tool is not yet installed on your system. Do you want to fetch and install it now? [y/N]: y Bootstrapping pkg from pkg+https://pkg.FreeBSD.org/FreeBSD:14:aarch64/quarterly, please wait... Verifying signature with trusted certificate pkg.freebsd.org.2013102301... done Installing pkg-2.4.2... Extracting pkg-2.4.2: 100% Updating FreeBSD repository catalogue... Fetching meta.conf: 100% 179 B 0.2kB/s 00:01 Fetching data.pkg: 100% 10 MiB 10.3MB/s 00:01 Processing entries: 100% FreeBSD repository update completed. 35656 packages processed. Updating FreeBSD-kmods repository catalogue... Fetching meta.conf: 100% 179 B 0.2kB/s 00:01 Fetching data.pkg: 100% 16 KiB 15.9kB/s 00:01 Processing entries: 100% FreeBSD-kmods repository update completed. 69 packages processed. All repositories are up to date. Updating database digests format: 100% Checking integrity... done (0 conflicting) The most recent versions of packages are already installed
2025-11-30: mmcsd0p4 - zroot - freebsd-update fetch
root@devpi5sd:~ # freebsd-update fetch src component not installed, skipped [..] The following files will be updated as part of updating to 14.3-RELEASE-p6: /bin/freebsd-version /boot/kernel/if_bnxt.ko /boot/kernel/kernel /boot/kernel/kernel.bin /boot/kernel/wlan_tkip.ko /boot/kernel/zfs.ko /lib/libcrypto.so.30 /lib/libzpool.so.2 [..] /usr/lib/libprivateunbound.a /usr/lib/libprivateunbound.so.5 /usr/lib/libzpool.a /usr/lib32/libarchive.a /usr/lib32/libarchive.so.7 /usr/lib32/libcrypto.a /usr/lib32/libcrypto.so.30 /usr/lib32/libprivateunbound.a /usr/lib32/libprivateunbound.so.5 /usr/lib32/libzpool.a /usr/lib32/libzpool.so.2 /usr/libexec/bsdinstall/distextract /usr/sbin/freebsd-update /usr/sbin/pkg /usr/share/man/man1/bsdtar.1.gz /usr/share/man/man1/tar.1.gz /usr/share/man/man3/archive_read_format.3.gz /usr/share/man/man3/archive_read_support_format_7zip.3.gz /usr/share/man/man3/archive_read_support_format_all.3.gz /usr/share/man/man3/archive_read_support_format_ar.3.gz /usr/share/man/man3/archive_read_support_format_by_code.3.gz /usr/share/man/man3/archive_read_support_format_cab.3.gz /usr/share/man/man3/archive_read_support_format_cpio.3.gz /usr/share/man/man3/archive_read_support_format_empty.3.gz /usr/share/man/man3/archive_read_support_format_iso9660.3.gz /usr/share/man/man3/archive_read_support_format_lha.3.gz /usr/share/man/man3/archive_read_support_format_mtree.3.gz /usr/share/man/man3/archive_read_support_format_rar.3.gz /usr/share/man/man3/archive_read_support_format_raw.3.gz /usr/share/man/man3/archive_read_support_format_tar.3.gz /usr/share/man/man3/archive_read_support_format_xar.3.gz /usr/share/man/man3/archive_read_support_format_zip.3.gz /usr/share/man/man3/archive_write_set_filter_option.3.gz /usr/share/man/man3/archive_write_set_format_option.3.gz /usr/share/man/man3/archive_write_set_option.3.gz /usr/share/man/man3/archive_write_set_options.3.gz /usr/share/man/man5/libarchive-formats.5.gz
install
root@devpi5sd:~ # freebsd-update install src component not installed, skipped Creating snapshot of existing boot environment... done. Installing updates... Restarting sshd after upgrade Performing sanity check on sshd configuration. Stopping sshd. Waiting for PIDS: 898. Performing sanity check on sshd configuration. Starting sshd. done.
2025-11-30: mmcsd0p4 - zroot - freebsd version
root@devpi5sd:~ # freebsd-version -ku 14.3-RELEASE 14.3-RELEASE
kernel
root@devpi5sd:~ # uname -a FreeBSD devpi5sd 14.3-RELEASE FreeBSD 14.3-RELEASE releng/14.3-n271432-8c9ce319fef7 GENERIC arm64
2025-11-30: mmcsd0p4 - zroot - zpool status
root@devpi5sd:~ # zpool status pool: zroot state: ONLINE config: NAME STATE READ WRITE CKSUM zroot ONLINE 0 0 0 mmcsd0p4 ONLINE 0 0 0 errors: No known data errors
2025-11-30: mmcsd0p4 - the fan spins a few rounds on boot, then stops.
2025-11-30: mmcsd0p4 - disk layout
root@freebsd:~ # df -h Filesystem Size Used Avail Capacity Mounted on zroot/ROOT/default 48G 3.6G 45G 7% / devfs 1.0K 0B 1.0K 0% /dev /dev/gpt/efiesp 32M 836K 31M 3% /boot/efi zroot/tmp 45G 428K 45G 0% /tmp zroot/var/log 45G 512K 45G 0% /var/log zroot/home 45G 416K 45G 0% /home zroot/usr/ports 45G 420K 45G 0% /usr/ports zroot/var/mail 45G 416K 45G 0% /var/mail zroot/var/tmp 45G 424K 45G 0% /var/tmp zroot/var/audit 45G 428K 45G 0% /var/audit zroot/var/crash 45G 424K 45G 0% /var/crash zroot/usr/obj 45G 420K 45G 0% /usr/obj zroot/usr/src 45G 420K 45G 0% /usr/src zroot/home/tingo 45G 132K 45G 0% /home/tingo
2025-11-30: mmcsd0p4 - the partitions on the microSD card look like this
root@freebsd:~ # gpart show -p -l => 40 122167216 mmcsd0 GPT (58G) 40 1048576 mmcsd0p1 (null) (512M) 1048616 1048576 mmcsd0p2 efiesp (512M) 2097192 14680064 mmcsd0p3 (null) (7.0G) 16777256 105390000 mmcsd0p4 (null) (50G)
2025-11-30: mmcsd0p4 - first boot failed because it could not find the label on the esp partition. Fixed in single-user by gpart modify -i 2 -l efiesp mmcsd0.
2025-11-30: I created this page.