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