Leider lässt sich FreeBSD auf dem Rasperry Pi nicht mit freebsd-update aktualisieren, da dort leider die Unterstützung für arm-Architekturen fehlt. In Anlehnung an einen Post im FreeBSD-Forum habe ich nun FreeBSD auf dem Rasperry Pi 3 wie folgt aktualisiert, um den langwierigen build-Prozess zu umgehen.
- Clone-Version installieren
mkdir -p /usr/local/etc/pkg/repos/ vi /usr/local/etc/pkg/repos/FreeBSD.conf Dann dort folgenden Inhalt eintragen: FreeBSD: { url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest", }und mit pkg install clone die richtige Version von clone installieren. 
- Backup des aktuellen OS (SD-Karte auf externe USB-Festplatte)
 In meinem Fall das Backup-Drive mounten:zfs mount remote_backup Wechseln ins Backup-Verzeichnis: cd /remote_backup/backup_haning Über geom disk list herausfinden, welches das Systemvolume ist (hier SD-Karte mmcsd0) und dann den Parameter if im folgenden Befehl anpassen, um die Backup-Datei zu erzeugen: dd if=/dev/mmcsd0 of=haning_2020-07-12.img bs=1M status=progress Backup dann wie folgt testen: mdconfig -a -u 0 -t vnode -f /remote_backup/backup_haning/haning_2020-07-12.img mount -o noatime /dev/md0s1 /media ls /media umount /media mdconfig -d -u 0 
- FreeBSD aktualisieren auf den neusten Stand
 Unter FreeBSD Releases, die aktuellste Version herausfinden und dann unter https://download.freebsd.org/ftp/releases/arm64/aarch64/ISO-IMAGES/ die entsprechende Version suchencd /remote_backup/backup_haning/images fetch https://download.freebsd.org/ftp/releases/arm64/aarch64/ISO-IMAGES/12.1/FreeBSD-12.1-RELEASE-arm64-aarch64-RPI3.img.xz xz -d FreeBSD-12.1-RELEASE-arm64-aarch64-RPI3.img.xz mdconfig -a -u 0 -t vnode -f /remote_backup/backup_haning/images/FreeBSD-12.1-RELEASE-arm64-aarch64-RPI3.img mount -o noatime,ro /dev/md0s2a /media clone -c rwoff -s -x /usr/home:/usr/local:/usr/ports:/usr/obj:/usr/src /media/usr /usr & clone -c rwoff -s /media/sbin /sbin & clone -c rwoff -s /media/rescue /rescue & clone -c rwoff -s -x crontab:exports:fstab:group:hosts:shells:localtime:master.passwd:motd:ntp.conf:passwd:pwd.db:rc.conf:rc.local:resolv.conf:spwd.db:ssh:ssl:unbound:aliases:dma:mailer/mailer.conf /media/etc /etc & clone -c rwoff -s -x /boot/loader.conf:/boot:modules:/boot/msdos /media/boot /boot & clone -c rwoff -s /media/bin /bin & clone -c rwoff -s /media/libexec /libexec & clone -c rwoff -s /media/lib /lib & Dann mit dem Befehl jobs prüfen, bis alle Befehle im Hintergrund fertiggestellt wurden. umount /media mdconfig -d -u 0 zfs umount remote_backup Dann neu starten mit shutdown -r now 
- Bitte überspringen – nur als Erinnerung für mich: verschlüsselte USB-Festplatte einbinden mit
geli attach -k /root/remote_backup_wd_elements_10tb.key /dev/da0p2 zpool import -N remote_backup zfs mount remote_backup 
- Boot-Partition aktualisieren und Pakete installieren wie z.B. dma
mdconfig -a -u 0 -t vnode -f /remote_backup/backup_haning/images/FreeBSD-12.1-RELEASE-arm64-aarch64-RPI3.img mount_msdosfs -o noatime /dev/md0s1 /media clone -c rwoff -s /media /boot/msdos umount /media mdconfig -d -u 0 pkg install dma shutdown -r now 
- Pakete installieren
 Paketquelle wieder richtig setzen mitrm /usr/local/etc/pkg/repos/FreeBSD.conf Jetzt fehlen eventuell die aus der Vergangenheit vorhandenen Pakete. Diese lassen sich installieren mit pkg update pkg upgrade 


Alternativer Weg für ein Backup beginnt mit
um herausfinden, wie groß das Systemvolume ist (hier SD-Karte mmcsd0) ist. Dann den Parameter count im folgenden Befehl anpassen, um die Backup-Datei zu erzeugen:
Backup dann wie folgt erzeugen:
Funktionierte auch mit dem Update auf FreeBSD 13. Allerdings gab es Probleme mit dem Ausführen der letzten rclone-Befehlen, da dann die Libraries schon von einem zu neuen Stand waren. Das lies sich über ein chroot-Environment mit bind –nullfs umgehen.
Um die FreeBSD Installation mit Sicherheitspatches auf dem aktuellsten Stand zu halten, kann man wie folgt vorgehen:
freebsd-update fetch install
pkg update && pkg upgrade
reboot
Quelle