[OpenWrt-Devel] [PATCH] mtd: correct/change warning text about partition split / read-only status

Felix Fietkau nbd at openwrt.org
Sun May 10 07:39:27 EDT 2015


On 2015-04-24 21:58, Hannu Nyman wrote:
> Since the kernel/rootfs split handling was modified 2 years ago by r37283 ( 
> https://dev.openwrt.org/changeset/37283 ) and by the subsequent checkins, 
> users have seen rather scary mtd errors in the log at every boot. The message 
> ends "-- forcing read-only", which looks a bit error-like. That error has 
> been mentioned in some forum threads, when users have noticed this message 
> instead of some actual error.
> 
> [    2.940000] 0x000000070000-0x000000ff0000 : "firmware"
> [    2.970000] 2 netgear-fw partitions found on MTD device firmware
> [    2.970000] 0x000000070000-0x000000188440 : "kernel"
> [    2.980000] mtd: partition "kernel" must either start or end on erase 
> block boundary or be smaller than an erase block -- forcing read-only
> [    2.990000] 0x000000188440-0x000000ff0000 : "rootfs"
> [    2.990000] mtd: partition "rootfs" must either start or end on erase 
> block boundary or be smaller than an erase block -- forcing read-only
> [    3.010000] mtd: device 4 (rootfs) set to be root filesystem
> [    3.010000] 1 squashfs-split partitions found on MTD device rootfs
> [    3.020000] 0x000000660000-0x000000ff0000 : "rootfs_data"
> 
> The error text 'mtd: partition "kernel" must either start or end on erase 
> block boundary or be smaller than an erase block -- forcing read-only' 
> originates from 6 years ago, when nbd checked in r17658 to kernel 2.6.30.
> https://dev.openwrt.org/changeset/17658
> https://dev.openwrt.org/browser/trunk/target/linux/generic-2.6/patches-2.6.30/222-partial_eraseblock_write.patch?rev=17658
> 
> At that time, this message was rarely shown, as it was normal to have padding 
> after kernel, so that rootfs started at the next block boundary. Currently 
> many platforms have kernel & rootfs tightly packed without padding in 
> between, so the message is shown quite frequently.
> 
> Additionally, I think that the original warning message has a logical fault: 
> the first "or" should be "and". It should say "must either start AND end on 
> erase block boundary or be smaller than an erase block".  (otherwise 'kernel' 
> should not cause the warning message as it starts at a boundary...). The 
> logic in 411-mtd-partial_eraseblock_write.patch is pretty hard to follow, but 
> that is my reading about the correct reasoning.
> https://dev.openwrt.org/browser/trunk/target/linux/generic/patches-3.18/411-mtd-partial_eraseblock_write.patch 
> 
> 
> I propose that the message class is changed from a kernel warning to a kernel 
> info message and the text is changed to be less scary: 'partition "kernel" is 
> read-only: it does not start and end at erase block boundary and is larger 
> than a single block'
> 
> [    2.970000] 2 netgear-fw partitions found on MTD device firmware
> [    2.970000] 0x000000070000-0x000000188440 : "kernel"
> [    2.980000] mtd: partition "kernel" is read-only: it does not start and 
> end at erase block boundary and is larger than a single block
> [    2.990000] 0x000000188440-0x000000ff0000 : "rootfs"
> [    2.990000] mtd: partition "rootfs" is read-only: it does not start and 
> end at erase block boundary and is larger than a single block
> 
> 
> I would prefer to shorten the message even more, but I didn't invent a 
> suitable short but informative wording. (Althoug as this is currently most 
> often just an informative notice, I am not quite sure if the logic needs to 
> be explained quite that closely in the message.)
I think this message is quite pointless anyway, so I'd prefer to simply
have it removed instead of changing it.

- Felix
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list