[FS#3492] sysupgrade from CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y loses settings where image has BLOCKSIZE:=64k

OpenWrt Bugs openwrt-bugs at lists.openwrt.org
Mon Dec 7 21:31:33 EST 2020


THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.

A new Flyspray task has been opened.  Details are below. 

User who did this - John (johnth) 

Attached to Project - OpenWrt/LEDE Project
Summary - sysupgrade from CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y loses settings where image has BLOCKSIZE:=64k
Task Type - Bug Report
Category - Base system
Status - Unconfirmed
Assigned To - 
Operating System - All
Severity - Medium
Priority - Very Low
Reported Version - Trunk
Due in Version - Undecided
Due Date - Undecided
Details - Test device: ath79 mikrotik wap-g on snapshot r15165-66d12ce667

Reproduce
  - sysupgrade
  - change settings
  - sysupgrade: settings lost

without CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y
  * settings are found and restored on sysupgrade (after the initial 4K_SECTORS=y to 4K_SECTORS=n upgrade)
  * lose write access for routerboot soft_config (which explicitly requires CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y, as Openwrt partial erase target/linux/generic/pending-5.4/411-mtd-partial_eraseblock_write.patch had a merge error which was rendering devices unbootable at the time.)
  * faster sysupgrade erase/write time: 45s -> 26s


https://github.com/openwrt/openwrt/pull/3094#issuecomment-667557585
https://github.com/openwrt/openwrt/pull/3037#issuecomment-669332233

target/linux/generic/pending-5.4/470-mtd-spi-nor-support-limiting-4K-sectors-support-base.patch stopped functioning with linux 4.19
Now all partitions have a 4K erase block if CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y
This causes mount_root to fail to find upgrade settings where the image is expecting 64K blocksize.


grep --binary-files=text -E 'overlay|upgrade|reboot|mount' ath79_mikrotik_wap-g_sysupgrade_loses_settings 
[    8.892059] mount_root: switching to jffs2 overlay
[    8.899647] overlayfs: upper fs does not support tmpfile.
Mon Dec  7 13:25:31 UTC 2020 upgrade: Sending TERM to remaining processes ... logd hostapd wpa_supplicant netifd odhcpd ntpd dnsmasq ubusd askfirst urngd
Mon Dec  7 13:25:34 UTC 2020 upgrade: Sending KILL to remaining processes ...
Mon Dec  7 13:25:35 UTC 2020 upgrade: Switching to ramdisk...
Mon Dec  7 13:25:38 UTC 2020 upgrade: Performing system upgrade...
Appending jffs2 data from /tmp/sysupgrade.tgz to firmware..
Mon Dec  7 13:26:21 UTC 2020 upgrade: Upgrade completed
Mon Dec  7 13:26:22 UTC 2020 upgrade: Rebooting system...
umount: can't unmount /dev: Resource busy
umount: can't unmount /tmp: Resource busy
[  175.677595] reboot: Restarting system
[    8.611437] mount_root: no usable overlay filesystem found, using tmpfs overlay
[  117.356605] overlayfs: upper fs does not support tmpfile.




./package/base-files/files/lib/preinit/80_mount_root:do_mount_root() {


do_mount_root() {
        mount_root
        boot_run_hook preinit_mount_root
        [ -f /sysupgrade.tgz ] && {
                echo "- config restore -"
                cp /etc/passwd /etc/group /etc/shadow /tmp
                cd /
                tar xzf /sysupgrade.tgz
                missing_lines /tmp/passwd /etc/passwd >> /etc/passwd
                missing_lines /tmp/group /etc/group >> /etc/group
                missing_lines /tmp/shadow /etc/shadow >> /etc/shadow
                rm /tmp/passwd /tmp/group /tmp/shadow
                # Prevent configuration corruption on a power loss
                sync
        }
}


https://git.openwrt.org/?p=project/fstools.git;a=blob;f=mount_root.c;

  61         case FS_NONE:
  62                 ULOG_WARN("no usable overlay filesystem found, using tmpfs overlay\n");
  63                 return ramoverlay();


More information can be found at the following URL:
https://bugs.openwrt.org/index.php?do=details&task_id=3492

You are receiving this message because you have requested it from the Flyspray bugtracking system.  If you did not expect this message or don't want to receive mails in future, you can change your notification settings at the URL shown above.



More information about the openwrt-bugs mailing list