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)
Wechseln ins Backup-Verzeichnis:cd /remote_backup/backup_haning
Über
geom disk list
herausfinden, wie groß das Systemvolume ist (hier SD-Karte mmcsd0) und dann den Parameter count im folgenden Befehl anpassen, um die Backup-Datei zu erzeugen:
dd if=/dev/zero of=haning_2020-07-12.img bs=1m count=31915
Backup dann wie folgt erzeugen:
mdconfig -a -u 0 -t vnode -f /remote_backup/backup_haning/haning_2020-07-12.img gpart create -s MBR md0 gpart add -tfreebsd md0 newfs -nU /dev/md0s1 tunefs -a enable -m 0 /dev/md0s1 mount -o noatime /dev/md0s1 /media clone -c rwoff -x /remote_backup / /media umount /media mdconfig -d -u
- 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 /media/bin /bin clone -c rwoff -s /media/libexec /libexec clone -c rwoff -s /media/lib /lib 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 /media/etc /etc clone -c rwoff -s -x /boot/loader.conf:/boot:modules:/boot/msdos /media/boot /boot umount /media mdconfig -d -u 0
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 remote_backup
- Boot-Partition aktualisieren
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 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
Leave a Reply