Re: Where to define multiple volumes sizes in one MTD rootfs partition?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/5/19, Richard Weinberger <richard.weinberger@xxxxxxxxx> wrote:
> On Sat, Oct 5, 2019 at 2:51 AM JH <jupiter.hce@xxxxxxxxx> wrote:
>> Recently, one of my device is broken failed to boot up, I still don't
>> know what was the cause by hardware problem or software, to be
>> precaution in the future meltdown, I am going to separate all writing
>> data from ubi0 to to another ubi volume ubi1, to keep the rootfs in
>> ubi0 read only. How can I define the ubi0 volume size to 160 MB and
>> the ubi1 volume size to 30 MB?
>
> Don't setup multiple UBI instances on the same chip.
> The wear leveling domain should be as large as possible.
>
> If you want to have multiple UBIFS filesystems, just create more UBI
> volumes.

Hmm, wandering for several days how to do it, reading lots of
documents, still not clear how could I make that work, let's say I
have following a volume configure file:

$ cat volume.conf

[kernel-volume]
mode=ubi
image=zImage
vol_id=1
vol_size=10MiB
vol_type=static
vol_name=kernel

[rootfs-volume]
mode=ubi
image=rootfs_data
vol_id=2
vol_size=110MiB
vol_type=static
vol_name=rootfs

[data-volume]
mode=ubi
image=rootfs_data
vol_id=3
vol_size=10MiB
vol_type=dynamic
vol_name=data
vol_flags=autoresize

$ ubinize -o rootfs.img -p 130MiB -m 512 -s 256 volume.conf

$ ubidetach -p /dev/mtd5
$ ubiformat /dev/mtd5 -y
$ ubiattach -m 5
$ ubimkvol /dev/ubi0 -s 130MiB -N rootfs_data

$ mount -t ubifs ubi0:rootfs_data /mnt

If I have a single ubi0 rootfs in /dev/mtd5, I can set
"root=ubi0:rootfs_data rw ubi.mtd=5,2048  noinitrd rootfstype=ubifs
mem=256M rootwait=1"

$ tar zxvf yocto-image-rootfs.tar.gz -C /mnt

It can boot from the a single rootfs volume.

But for multiple volumes in ubi0, I lost completely, how can it boot
from volume configure file with multiple volumes? Where the
volume.conf should be placed in Linux rootfs, in "/"? If it is correct
to copy volume.conf to /mnt (the "/"), how will it boot from NAND with
multiple volumes? That is most confusing parts, I could not see any
clear examples and statements in documents, appreciate kindly advice.

Thank you very much Richard.

Kind regards,

- jh



it works, but how it can boot from volume configure file?

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/



[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux