Kategorien

Druckansicht des Beitrags Druckansicht des Beitrags

FreeBSD auf Rasperry Pi aktualisieren

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.

  1. 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.

  2. 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
  3. 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 suchen

    cd /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 /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
    umount /media
    mdconfig -d -u 0
    zfs umount remote_backup

    Dann neu starten mit

    shutdown -r now
  4. 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
    zfs umount remote_backup
    zfs mount remote_backup
  5. 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
  6. Pakete installieren
    Paketquelle wieder richtig setzen mit

    rm /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

2 comments to FreeBSD auf Rasperry Pi aktualisieren

  • Alternativer Weg für ein Backup beginnt mit

    dd if=/dev/zero of=haning_2020-07-12.img bs=1m count=31915 status=progress

    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:

    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

    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
  • 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.

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

  

  

  

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.