UBIFS read-only rootfs needs 1 or more eraseblocks to mount
Artem Bityutskiy
dedekind1 at gmail.com
Wed Dec 9 05:16:28 EST 2009
On Tue, 2009-12-08 at 16:09 -0800, Darwin Rambo wrote:
> On a read-only UBIFS rootfs, why do you need at least 1 eraseblock?
> There is nothing to replace since nothing is ever written to this
> partition on the fly and a block that goes bad cannot be recovered
> anyways?
>
> UBI error: ubi_eba_init_scan: no enough physical eraseblocks (0, need
> 1)
> UBI error: ubi_init: cannot attach mtd6
> UBI error: ubi_init: UBI error: cannot initialize UBI, error -28
This is UBI error, not UBIFS. UBI does not really have a notion of
read-only UBI device, so it always reserves some amount of eraseblocks.
There is a compile-time option about amount of eraseblocks to reserve,
in percent. You can make it 0%, then UBI will not reserve anything.
Probably it will not work out of the box (I never tried that), and
you'll need to do some small investigation / fixing.
> Note that adding room for a single bad block PEB allows the mount to
> work, and you get a warning like this:
> "UBI warning: ubi_eba_init_scan: cannot reserve enough PEBs for bad
> PEB handling, reserved 0, need 19"
This is again UBI warning, not UBIFS.
> It looks like the normal read/write code is reserving/requiring blocks
> that the read-only mode doesn't actually use?
R/O stuff is on UBIFS level, you get warning at UBI level, and UBI does
assumes everything is R/W.
> All this is probably just a future suggestion to support read-only
> mode a little bit better with less block wastage.
Ok, you might as well just come up with a patch or patches!
--
Best Regards,
Artem Bityutskiy (Артём Битюцкий)
More information about the linux-mtd
mailing list