OpenWRT sysupgrade with ExtRoot

By | 26 May 2014

Run sysupgrade or upload the new file with LuCI.

After the reboot, you will be in the base system (that is, your configuration, but without ExtRoot). Run these commands to get back on track:

opkg update
opkg install block-mount
opkg install kmod-fs-ext4
opkg install kmod-usb-storage
mount /dev/sda1 /mnt
rm /mnt/etc/.extroot-uuid

After this reboot, either everything will be working again (/dev/sda1 mounted to /overlay) or – if there was a new kernel in that upgrade – /dev/sda1 might be mounted to /overlay-disabled. In that case, you have to recreate ExtRoot (save your configuration first).

If your previous ExtRoot mounted fine, you might want to update your packages there. It is important to NOT upgrade kernel modules as this might break things. The ExtRoot Wiki Page lists a command to only update non-kernel-packages:

opkg upgrade $(opkg list-upgradable | awk '($1 !~ "^kmod|Multiple") {print $1}')

One thought on “OpenWRT sysupgrade with ExtRoot

  1. simonszu

    Thanks, mentioning the UUID helped me to figure out why my old extroot usb drive wasn’t mounted properly. Since i do not have an emergency boot config in the “real” root, i just mounted the usb drive to another folder, cleaned it completely, and installed a new extroot with the tar-cp-pipe mentioned in the OpenWRT wiki.


Leave a Reply