Linux-mtd Archive on lore.kernel.org
 help / color / Atom feed
* Where to define multiple volumes sizes in one MTD rootfs partition?
@ 2019-10-05  0:50 JH
  2019-10-05  8:43 ` Richard Weinberger
  0 siblings, 1 reply; 4+ messages in thread
From: JH @ 2019-10-05  0:50 UTC (permalink / raw)
  To: linux-mtd

Hi,

My apology if my question is not related to this mailing list.

I set up following 6 MTD partitions in boot argument environment, the
rootfs is in mtd5 partition where it is currently created one ubi
volume for rootfs in ubi0.

MFG_NAND_PARTITION
"mtdparts=gpmi-nand:4m(boot),2m(ubootenv),2m(dtb),16m(kernel1),16m(kernel2),-(ubi)
"

NAND_ROOT_UBI "root=ubi0:rootfs_data rw ubi.mtd=5,2048 noinitrd
rootfstype=ubifs mem=256M rootwait=1"

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?

NAND_ROOT_UBI "root=ubi0:rootfs_data ro storage=ubi1:rootfs_data rw
ubi.mtd=5,2048 noinitrd rootfstype=ubifs mem=256M rootwait=1"

Sorry if it is a wrong question to this mailing list.

Thank you.

Kind regards,

- jh

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Where to define multiple volumes sizes in one MTD rootfs partition?
  2019-10-05  0:50 Where to define multiple volumes sizes in one MTD rootfs partition? JH
@ 2019-10-05  8:43 ` Richard Weinberger
  2019-10-11  9:38   ` JH
  0 siblings, 1 reply; 4+ messages in thread
From: Richard Weinberger @ 2019-10-05  8:43 UTC (permalink / raw)
  To: JH; +Cc: linux-mtd

On Sat, Oct 5, 2019 at 2:51 AM JH <jupiter.hce@gmail.com> 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.

-- 
Thanks,
//richard

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Where to define multiple volumes sizes in one MTD rootfs partition?
  2019-10-05  8:43 ` Richard Weinberger
@ 2019-10-11  9:38   ` JH
  2019-10-14  4:57     ` JH
  0 siblings, 1 reply; 4+ messages in thread
From: JH @ 2019-10-11  9:38 UTC (permalink / raw)
  To: Richard Weinberger; +Cc: linux-mtd

On 10/5/19, Richard Weinberger <richard.weinberger@gmail.com> wrote:
> On Sat, Oct 5, 2019 at 2:51 AM JH <jupiter.hce@gmail.com> 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/

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Where to define multiple volumes sizes in one MTD rootfs partition?
  2019-10-11  9:38   ` JH
@ 2019-10-14  4:57     ` JH
  0 siblings, 0 replies; 4+ messages in thread
From: JH @ 2019-10-14  4:57 UTC (permalink / raw)
  To: linux-mtd

Hi,

Sorry, if it is not right the mailing list to ask helps for multiple
volumes in a single ubi0 instance, any advice please?

Thank you.

Kind regards,

- jh

On 10/11/19, JH <jupiter.hce@gmail.com> wrote:
> On 10/5/19, Richard Weinberger <richard.weinberger@gmail.com> wrote:
>> On Sat, Oct 5, 2019 at 2:51 AM JH <jupiter.hce@gmail.com> 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
>

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, back to index

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-05  0:50 Where to define multiple volumes sizes in one MTD rootfs partition? JH
2019-10-05  8:43 ` Richard Weinberger
2019-10-11  9:38   ` JH
2019-10-14  4:57     ` JH

Linux-mtd Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-mtd/0 linux-mtd/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-mtd linux-mtd/ https://lore.kernel.org/linux-mtd \
		linux-mtd@lists.infradead.org linux-mtd@archiver.kernel.org
	public-inbox-index linux-mtd

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.infradead.lists.linux-mtd


AGPL code for this site: git clone https://public-inbox.org/ public-inbox