[PATCH 1/1] ubi: Introduce block devices for UBI volumes

Willy Tarreau w at 1wt.eu
Sat Feb 8 18:13:08 EST 2014


Hi Piergiorgio,

On Sun, Feb 09, 2014 at 12:05:12AM +0100, Piergiorgio Beruto wrote:
> Hello,
> I am one of the early testers of ubi block.
> 
> In my design, which is pretty common for embedded systems, I use ubiblk in
> read-only mode (and no caching since squashfs already provides it).
> For updating the squash I use ubiupdatevol, as shown in this code snippet
> (double bank handling).
> 
> swrel_update() {
>    swrel_loadst || return
>    if [ -z "$FILE" ] ; then
>       echo "error: you must specify a valid image file with -f option"
>       return 1
>    fi
> 
>    if [ -z "$BANK" ] ; then
>       # search for an active bank to update
>       # valid state is when at least one bank is standby
>       [ "$SWREL2_STATE" != "active" ] && [ "$SWREL2_STATE" != "committed" ]
> && BANK=2
>       [ "$SWREL1_STATE" != "active" ] && [ "$SWREL1_STATE" != "committed" ]
> && BANK=1
> 
>       if [ -z "$BANK" ] ; then
>          decho "swrel_update: cannot find a standby bank to update"
>          exit 2
>       fi
>    fi
> 
>    decho "swrel_update: updating bank #$BANK with file \"$FILE\""
> 
>    dev="/dev/ubi-app${BANK}w"
>    ubiupdatevol $dev "$FILE" || return
> 
>    # if there are no committed banks, commit the updating one automatically
>    if [ "$SWREL1_STATE" != "committed" ] && [ "$SWREL2_STATE" != "committed"
> ] ; then
>       decho "swrel_update: committing bank #$BANK as no committed banks were
> found"
>       swrel_commit
>    fi
> }
> 
> If I had to go for a RW filesystem I would use ubifs instead of ubiblk in RW
> mode.

I've been using ubifs for rootfs, but for a config FS, I'd rather use something
simple like ext2. Ubifs has unfortunately failed too many times on me and there
is no fsck to recover it after a failure. While I don't mind this for a rootfs
which is supposed to be easy to rebuild on an embedded device, it can be
problematic for some other parts like config and/or extra data that need to
be read once per boot and written very rarely. Anyway, squashfs guarantees me
that the FS I'm using matches what I think it should be.

> But of course this is my very personal need.

Yes and that's very interesting to all share our respective needs!

Regards,
Willy




More information about the linux-mtd mailing list