[LEDE-DEV] Sysupgrade leads to SQUASHFS error: unable to read id index table
Petr Štetiar
ynezz at true.cz
Mon Dec 12 02:58:16 PST 2016
Hi,
I've found some issue with squashfs possibly related to mtdblock and mtdsplit
usage. Before digging deeper into it, I would like to ask first for any
pointers here.
I've recently rebased my Git tree to LEDE master and rebuilt my image (haven't
done this for month or so). I've noticed, that the resulting rootfs image has
grown from 5MB to 7MB(going to investigate this also soon), leading to the
following error SQUASHFS error:
mmcblk0: mmc1:0001 004GE0 3.69 GiB
mmcblk0boot0: mmc1:0001 004GE0 partition 1 2.00 MiB
mmcblk0boot1: mmc1:0001 004GE0 partition 2 2.00 MiB
mmcblk0rpmb: mmc1:0001 004GE0 partition 3 512 KiB
3 cmdlinepart partitions found on MTD device eMMC
Creating 3 MTD partitions on "eMMC":
0x000000000000-0x000000080000 : "dtb"
0x000000080000-0x000000480000 : "kernel"
0x000000480000-0x000008480000 : "rootfs"
mtd: device 2 (rootfs) set to be root filesystem
1 squashfs-split partitions found on MTD device rootfs
0x000000c80000-0x000008480000 : "rootfs_data"
block2mtd: mtd0: [eMMC] erase_size = 512KiB [524288]
squashfs: SQUASHFS error: unable to read id index table
List of all partitions:
b300 3866624 mmcblk0 driver: mmcblk
b318 512 mmcblk0rpmb (driver?)
b310 2048 mmcblk0boot1 (driver?)
b308 2048 mmcblk0boot0 (driver?)
1f00 512 mtdblock0 (driver?)
1f01 4096 mtdblock1 (driver?)
1f02 131072 mtdblock2 (driver?)
1f03 122880 mtdblock3 (driver?)
No filesystem could mount root, tried: ext3 ext4 ext2 squashfs
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,2)
CPU0: stopping
CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.4.36 #0
Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
Backtrace:
[<800234c0>] (dump_backtrace) from [<800236b8>] (show_stack+0x18/0x1c)
My kernel commandline:
block2mtd.block2mtd=/dev/mmcblk0,524288,eMMC,5 mtdparts=eMMC:512k(dtb),4M(kernel),128M(rootfs) rootwait console=ttymxc0,115200n8
Working MTD layout before sysupgrade (old 5M rootfs):
Creating 3 MTD partitions on "eMMC":
0x000000000000-0x000000080000 : "dtb"
0x000000080000-0x000000480000 : "kernel"
0x000000480000-0x000008480000 : "rootfs"
mtd: device 2 (rootfs) set to be root filesystem
1 squashfs-split partitions found on MTD device rootfs
0x000000a00000-0x000008480000 : "rootfs_data"
My custom sysupgrade commands:
tar -xOf "$1" sysupgrade-$board/dtb | mtd write - dtb
tar -xOf "$1" sysupgrade-$board/kernel | mtd write - kernel
tar -xOf "$1" sysupgrade-$board/rootfs | mtd write - rootfs
if [ "$SAVE_CONFIG" -eq 1 ]; then
mtd -e rootfs_data jffs2write "$CONF_TAR" rootfs_data
else
mtd erase rootfs_data
fi
Thanks!
-- ynezz
More information about the Lede-dev
mailing list