Procedure

  • Take a backup (System -> Backup)
  • Get the sysupgrade image
  • cd /tmp && wget https://downloads.openwrt.org/releases/24.10.5/targets/mediatek/filogic/openwrt-24.10.5-mediatek-filogic-bananapi_bpi-r4-squashfs-sysupgrade.itb
  • sysupgrade -v openwrt-24.10.5-mediatek-filogic-bananapi_bpi-r4-squashfs-sysupgrade.itb
  • Wait for reboot
  • Fix /etc/resolv.conf (broken from https-dns-proxy)
  • opkg update
  • opkg install luci-app-https-dns-proxy https-dns-proxy tailscale
  • reboot
  • tailscale update (package version is very outdated)
  • reboot
  • tailscale up

Overlayfs fix

applied for first time since tailscale update ran out of space

  • opkg update && opkg install fdisk
  • fdisk /dev/mmcblk0
  • create new partition and write changes
  • reboot
  • mkfs.ext4 /dev/mmcblk0p1
  • mkdir -p /mnt
  • mount /dev/mmcblk0p1 /mnt
  • tar -C /overlay -cf - . | tar -C /mnt -xf -
  • umount /mnt
  • opkg update && opkg install block-mount
  • block detect > /etc/config/fstab
uci set fstab.overlay="mount"
uci set fstab.overlay.device="/dev/mmcblk0p1"
uci set fstab.overlay.target="/overlay"
uci set fstab.overlay.fstype="ext4"
uci set fstab.overlay.options="rw,noatime"
uci set fstab.overlay.enabled="1"
uci commit fstab
  • ensure its present in /etc/config/fstab
  • reboot

Evalution

It was easier, than I anticipated. The overlay fix was a bit scary, but it worked. All config remained in place throughout the process. Even Tailscale was just missing its binaries. The prodecure took about 30 minutes.