Mounting issue with old rootfs and new kernel
Jaap de Jong
jaap.dejong at nedap.com
Fri Dec 1 06:26:12 PST 2017
On 30-11-17 17:20, Richard Weinberger wrote:
> Jaap,
>
> Am Donnerstag, 30. November 2017, 16:42:33 CET schrieb Jaap de Jong:
>> Hi Richard,
>>
>> On 30-11-17 16:28, Richard Weinberger wrote:
>>> Jaap,
>>>
>>> On Thu, Nov 30, 2017 at 4:22 PM, Jaap de Jong <jaap.dejong at nedap.com>
> wrote:
>>>> Hi
>>>>
>>>> I'm hoping for some pointers.
>>>>
>>>> I have this a created with openembedded classic.
>>>>
>>>> It works just fine when running with an old kernel (2.6.35)
>>>>
>>>> Now with the same rootfs and a newer kernel (4.9.28) it damages the old
>>>> rootfs in such a way that it becomes unusable.
>>>>
>>>> This is the error it shows:
>>>> [ 1.523437] ubi0 error:
>>>> ubi_read_volume_table: the layout volume was
>>>> not found [ 1.531250] ubi0 error:
>>>> ubi_attach_mtd_dev: failed to attach mtd3,
>>>> error -22>
>>> Are these really the only erros/warnings from UBI?
>>
>> Yes. Also ran it without 'quiet' as kernel parameter and that also does
>> not show extra errors.
>
> Hm, but U-Boot comes first? Maybe it damaged the UBI image already.
That is the same U-Boot as before which didn't damage the rootfs.
Also U-boot is still able to mount and read files from it even after it
has been damaged by the new kernel.
So what do I have so far?
1) flash a unit with uboot, old kernel and old rootfs, boot it --> fine
2) flash a unit with uboot, new kernel and new rootfs, boot it --> fine
3) flash a unit with uboot, new kernel and old rootfs, boot it --> fine
4) as with 1) but afterwards boot it with new kernel --> rootfs damaged
>
>> If I boot u-boot and try to mount it there, some other errors are show
>> although basically the same
>>
>> U-Boot> ubi part rootfs
>> UBI: mtd1 is detached from ubi0
>> Creating 1 MTD partitions on "nand0":
>> 0x000000100000-0x000020000000 : "mtd=3"
>> UBI: attaching mtd1 to ubi0
>> UBI: physical eraseblock size: 131072 bytes (128 KiB)
>> UBI: logical eraseblock size: 129024 bytes
>> UBI: smallest flash I/O unit: 2048
>> UBI: sub-page size: 512
>> UBI: VID header offset: 512 (aligned 512)
>> UBI: data offset: 2048
>> UBI: attached mtd1 to ubi0
>> UBI: MTD device name: "mtd=3"
>> UBI: MTD device size: 511 MiB
>> UBI: number of good PEBs: 4088
>> UBI: number of bad PEBs: 0
>> UBI: max. allowed volumes: 128
>> UBI: wear-leveling threshold: 4096
>> UBI: number of internal volumes: 1
>> UBI: number of user volumes: 1
>> UBI: available PEBs: 40
>> UBI: total number of reserved PEBs: 4048
>> UBI: number of PEBs reserved for bad PEB handling: 40
>> UBI: max/mean erase counter: 2/0
>>
>> U-Boot> ubifsmount rootfs
>> UBIFS error (pid 0): ubifs_read_node: bad node type (255 but expected 6)
>> UBIFS error (pid 0): ubifs_read_node: bad node at LEB 0:0
>> Error reading superblock on volume 'ubi:rootfs'!
>>
>>>> [ 1.539062] UBI error: cannot attach mtd3
>>>> [ 1.546875] Kernel panic - not syncing: VFS:
>>>> Unable to mount root fs on unknown-block(0,0) [
>>>> 1.546875] Rebooting in 1 seconds..RomBOOT
>>>>
>>>> As far as I can see the kernel configuration seems to be ok.
>>>>
>>>> Any ideas?
>>>
>>> If the MTD layout had changed I'd expect more errors from UBI.
>>> Is this NAND?
>>
>> Yes nandflash
>>
>>> Did you compare the MTD partition layout and number of bad blocks?
>>
>> Do you mean before and after?
>
> Yes. Something must be different.
> Page size? Sub pages? Number or erase blocks, etc...
Will come back on this, need some more time...
>
> Thanks,
> //richard
>
>
More information about the linux-mtd
mailing list