Re: MTD: How to get actual image size from MTD partition
From: Richard Weinberger <hidden>
Date: 2021-07-27 21:16:40
Also in:
linux-fsdevel, lkml
On Thu, Jul 22, 2021 at 1:11 PM Pintu Agarwal [off-list ref] wrote:
On Thu, 22 Jul 2021 at 02:24, Richard Weinberger [off-list ref] wrote:quoted
----- Ursprüngliche Mail -----quoted
quoted
But let me advertise ubiblock a second time.Sorry, I could not understand about the ubiblock request. Is it possible to elaborate little more ? We are already using squashfs on top of our UBI volumes (including rootfs mounting). This is the kernel command line we pass: rootfstype=squashfs root=/dev/mtdblock44 ubi.mtd=40,0,30 And CONFIG_MTD_UBI_BLOCK=y is already enabled in our kernel. Do we need to do something different for ubiblock ?From that command line I understand that you are *not* using squashfs on top of UBI. You use mtdblock. ubiblock is a mechanism to turn an UBI volume into a read-only block device. See: http://www.linux-mtd.infradead.org/doc/ubi.html#L_ubiblockOkay, you mean to say, we should use this ? ubi.mtd=5 ubi.block=0,0 root=/dev/ubiblock0_0 Instead of this: root=/dev/mtdblock44 ubi.mtd=40,0,30
Yes. But it is not only about a different command line. It is a different concept. You use a emulated block device on top of UBI, and not directly on top of an MTD part.
Sorry, I could not get this part. How static volume can give image len ? You mean there is some interface available in kernel to get actual image len ?
use the ubinfo tool. Static volumes know exactly how much they are filled.
quoted
quoted
Also, how can we get the checksum of the entire UBI volume content (ignoring the erased/empty/bad block content) ?Just read from the volume. /dev/ubiX_Y.I think this also will give the entire volume size, but we still don't know how many pages have real data ?
"ubiinfo /dev/ubiX_Y" will tell you if the volume is of type static.
For example: Suppose, my raw partition/volume is of size 10MB But my actual data inside it is of size ~3MB (may be split across?) Then, how can we get the actual size of the data content ?
See above.
You mean to say: /dev/ubiX_Y should contain only data blocks ?
Yes. An UBI volume contains only "user data". -- Thanks, //richard _______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies