[FS#533] anon_mount 1 in fstab freezes boot in wrt3200acm

LEDE Bugs lede-bugs at lists.infradead.org
Tue Feb 21 09:29:33 PST 2017


The following task has a new comment added:

FS#533 - anon_mount 1 in fstab freezes boot in wrt3200acm
User who did this - Hannu Nyman (hnyman)

----------
Update: detailed info on the parameters used by the fstools block mount

The bug can also be triggered just by running this in a router that still has Linksys OEM firmware in the other partition:

mount -t jffs2 /dev/mtdblock6 /mnt/mtdblock6

  (mtdblock6 or mtdblock8 depending on which partition contains OEM firmware)

It never finishes, doesn't give an error. Kernel log floods with
"pxa3xx-nand f10d0000.flash: Wait time out!!!" message.

This sounds like a fix is needed from fstools specialists and/or mvebu gurus. Somehow this wrong(?) jffs2 partition with OEM contents should be skipped from the automatic mount tries.

Like I said earlier, this is a nasty bug as it hits newcomer users who have flashed LEDE just once and are configuring their router. Simply adding "anon_mount 1" option to fstab will make that router unbootable.

----

Debugging from MagicSimi:

With "anon_mount 1":


root at LEDE:/tmp# /tmp/block mount
block: list_for_each_entry starts
block: mount_device for mtdblock6, type=jffs2, version=(null),
       label=(null), uuid=(null)
block: mount_device for mtdblock6 auto_mount test
block: mount_device for mtdblock6 extroot test
block: mount_device for mtdblock6 check anon_mount
block: mount_device for mtdblock6 try anon_mount
block: handle_mount mount source=/dev/mtdblock6, target=/mnt/mtdblock6, fstype=jffs2
...hang...


With "anon_mount 0":


root at LEDE:/tmp# /tmp/block mount
block: list_for_each_entry starts
block: mount_device for mtdblock6, type=jffs2, version=(null),
       label=(null), uuid=(null)
block: mount_device for mtdblock6 auto_mount test
block: mount_device for mtdblock6 extroot test
block: mount_device for mtdblock6 check anon_mount
block: mount_device for mtdblock6 ends
block: mount_device for ubiblock0_0, type=squashfs, version=4.0,
       label=(null), uuid=643ef9c1-d0d092d2-0fa9f12b-3da3502a
block: mount_device for ubiblock0_0 auto_mount test
block: /dev/ubiblock0_0 is already mounted on /rom

block: mount_device for ubi0_1, type=ubifs, version=w4r0,
       label=(null), uuid=a9709d2e-35ba-4444-a544-aa10a4b4133e
block: mount_device for ubi0_1 auto_mount test
block: /dev/ubi0_1 is already mounted on /overlay

block: mount_device for ubi1_0, type=ubifs, version=w4r0,
       label=(null), uuid=e16dd61c-066d-45ee-9b2b-0a92e84b06bb
block: mount_device for ubi1_0 auto_mount test
block: mount_device for ubi1_0 extroot test
block: mount_device for ubi1_0 check anon_mount
block: mount_device for ubi1_0 ends
block: list_for_each_entry ends


The bug can also be triggered just by running

mount -t jffs2 /dev/mtdblock6 /mnt/mtdblock6

It never finishes, doesn't give an error that /mnt/mtdblock6 doesn't exist. In the log is the usual "pxa3xx-nand f10d0000.flash: Wait time out!!!" message.

It seems to be a problem with /dev/mtdblock6, which (if I understand the partition layout correctly) is the partition where the original linksys firmware is located.

----------

More information can be found at the following URL:
https://bugs.lede-project.org/index.php?do=details&task_id=533#comment1930



More information about the lede-bugs mailing list