UBI+UBIFS on Read-Only NAND

Matthieu CASTET matthieu.castet at parrot.com
Fri Dec 6 06:33:03 EST 2013


Le Fri, 6 Dec 2013 09:24:40 +0100,
Richard Genoud <richard.genoud at gmail.com> a écrit :

> 2013/12/5 Thomas Herrmann <THerrmann at adwin.de>:
> > We had an old JFFS based system that had a dip switch connected to
> > the write-enable pin of the flash device, and it worked as
> > expected. Users were able to configure and use the system in r/w
> > mode and then "lock" the configuration.
> >
> > I tried the same with our newer hardware, and UBI/UBIFS. I did not
> > use static volumes, since write support is essential for initial
> > setup. However, the system will not boot if the flash is
> > write-protected in hardware, because UBI assumes that it is R/W.
> >
> > What is the suggested solution for such a setup? I could not find
> > anything in the FAQ or in the archive, but I may have been
> > searching for the wrong keywords...
> 
> AFAIK, UBI is not design to be used on a write protected NAND.
> As it is basically a wear-leveling / bad block handling layer, it
> wouldn't make much sense without a write capability.
> The closest use case I can imagine would be to mount the UBIFS volume
> RO by default and remount it RW when a gpio button is pushed.
> But with a dip switch directly on the NAND WP pin, I don't think
> there's an UBI based solution.
> 
When you open a UBI volume you can choose the mode (UBI_READONLY,
UBI_READWRITE, UBI_EXCLUSIVE).
But ubifs always open it in UBI_READWRITE mode (in ubifs_fill_super),
even if we are in ro mode.

If it wasn't the case you can implement a software write protect at ubi
level.


Matthieu



More information about the linux-mtd mailing list