From the following portion of logread
Jan 1 00:00:07 (none) user.warn kernel: Looking for mtd device :mtd1:
Jan 1 00:00:07 (none) user.warn kernel: Found a mtd1 image (0x10000), with size (0x76b78).
Jan 1 00:00:07 (none) user.warn kernel: Looking for mtd device :mtd2:
Jan 1 00:00:07 (none) user.warn kernel: Found a mtd2 image (0x0), with size (0x10000).
Jan 1 00:00:07 (none) user.warn kernel: Assuming adam2 size of 0x10000
Jan 1 00:00:07 (none) user.warn kernel: Looking for mtd device :mtd3:
Jan 1 00:00:07 (none) user.warn kernel: Found a mtd3 image (0x3f0000), with size (0x10000).
Jan 1 00:00:07 (none) user.warn kernel: Looking for mtd device :mtd4:
Jan 1 00:00:07 (none) user.warn kernel: Found a mtd4 image (0x10000), with size (0x3e0000).
Jan 1 00:00:07 (none) user.warn kernel: Setting new rootfs offset to 00086b78
Jan 1 00:00:07 (none) user.warn kernel: Squashfs detected (size = 0xb0086bec)
Jan 1 00:00:07 (none) user.notice kernel: Creating 5 MTD partitions on "Physically mapped flash":
Jan 1 00:00:07 (none) user.notice kernel: 0x00000000-0x00010000 : "adam2"
Jan 1 00:00:07 (none) user.notice kernel: 0x00010000-0x003f0000 : "linux"
Jan 1 00:00:07 (none) user.notice kernel: 0x00086b78-0x001c0000 : "rootfs"
Jan 1 00:00:07 (none) user.warn kernel: mtd: partition "rootfs" doesn't start on an erase block boundary -- force read-only
It looks like the squashfs must be aligned on an erase boundary. I have flashed a WRT54GS and that worked perfectly, but the same version of code compiled for the AR7 to run on my DSL-502T stays in RO mode obviously (I think) from the last line in the above log.
Should the code compile normally with the correct allignment or is there an option I need to add to the make command (or maybe somewhere in the make menuconfig) that I have missed ?
I have read quite a lot on the processes required but have been unable to turn up a solution.
I have been setting the mtd0 value to
mtd0 0x90086bc7,0x903f0000
by looking for the position of sqsh in the file (theres ony 1 such entry) and using this as the offset. It looks as though the 0x90086bc7 needs to be on an erase boundary (I assume a 4K boundary ?) but I cant see how to get the compile process to pad it to a correct boundary.
I was following the procedure from http://wiki.openwrt.org/OpenWrtDocs/Har … k/DSL-502T
Thanks,
Andrew
