ubiattach fails with bad VID header offset 2048, expected 512 ???

Artem Bityutskiy dedekind at infradead.org
Thu Dec 11 14:28:23 EST 2008


On Thu, 2008-12-11 at 08:41 -0500, Cal Page wrote:
> ubiattach fails with bad VID header offset 2048, expected 512 ???
> 
> The is the first thing out of the box. It reads block 0 to get the 
> ubi_ec_hdr then parses it.

I guess you generated an image with wrong sub-page size?

> UBI DBG (pid 2785): ctrl_cdev_ioctl: attach MTD device
> UBI: attaching mtd12 to ubi0
> UBI DBG (pid 2785): io_init: min_io_size      2048
> UBI DBG (pid 2785): io_init: hdrs_min_io_size 512
> UBI DBG (pid 2785): io_init: ec_hdr_alsize    512
> UBI DBG (pid 2785): io_init: vid_hdr_alsize   512
> UBI DBG (pid 2785): io_init: vid_hdr_offset   512
> UBI DBG (pid 2785): io_init: vid_hdr_aloffset 512
> UBI DBG (pid 2785): io_init: vid_hdr_shift    0
> UBI DBG (pid 2785): io_init: leb_start        2048
> 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

You have 512 bytes sub-pages, so UBI expects the volume ID header to be
at offset 512.

Probably these sections should give you some understanding how and at
which offsets the headers are stored:

http://www.linux-mtd.infradead.org/doc/ubi.html#L_overhead
http://www.linux-mtd.infradead.org/faq/ubi.html#L_ubi_mkimg
http://www.linux-mtd.infradead.org/faq/ubi.html#L_find_min_io_size

Anyway, if you want to force UBI to use other position for the VID
header, there are UBI module options for this. Take a look at what
'modinfo ubi' tells.

-- 
Best regards,
Artem Bityutskiy (Битюцкий Артём)




More information about the linux-mtd mailing list