Re: Multiple ubifs partition


Ulrich Ölmann
 

Hi Gabriele,

On Thu, May 02 2019 at 13:25 +0200, Gabriele Zampieri <gabbla.malist@...> wrote:
ok, I guess I miss-understand how that class works. I thought that I
had to add the customization on my own image recipe.
So the correct way is to write a 'customization recipe' and install
via IMAGE_INSTALL? Can you provide an example?
use your custom image recipe as before to just produce your root-
filesystem which results in a (compressed) tar-file in ${DEPLOY_DIR_
IMAGE}. It will be referenced from the genimage recipe without any file
extension via GENIMAGE_ROOTFS_IMAGE. Now your UBI-recipe (e.g. 'your-
customized-ubi.bb') could look like

inherit genimage
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"

SRC_URI += "file://genimage.config"

# to not confuse the flashable UBI-image ('ubi')
# with the UBI-filesystems ('ubifs') it contains
GENIMAGE_IMAGE_SUFFIX = "ubi"

# the name of the root-filesystem genimage should use
GENIMAGE_ROOTFS_IMAGE = "your-customized-rootfs"

with the accompanying 'genimage.config' for example as follows

#
# Manufacturer ID: 0x2c, Chip ID: 0xda
# -> Micron MT29F2G08ABAEAWP
# 256 MiB, SLC
#
flash nand {
pebsize = 131072
lebsize = 126976
numpebs = 2044
minimum-io-unit-size = 2048
sub-page-size = 2048
}

image @IMAGE@ {
flashtype = "nand"
ubi {
}

partition rootfs {
image = rootfs.ubifs
size = 64MiB
}

partition opt {
image = opt.ubifs
size = 32MiB
}

partition data {
image = data.ubifs
autoresize = true
}
}

image rootfs.ubifs {
flashtype = "nand"
ubifs {
extraargs = "-x lzo"
max-size = 64MiB
}
mountpoint = "/"
}

image opt.ubifs {
flashtype = "nand"
ubifs {
extraargs = "-x lzo"
max-size = 32MiB
}
mountpoint = "/opt"
}

image data.ubifs {
flashtype = "nand"
ubifs {
extraargs = "-x lzo"
max-size = 192MiB
}
mountpoint = "/data"
}

In a UBI-image almost all UBI-volumes need to have a fixed size and only
one is allowed to use the autoresize mechanism which blows it up to use
the remaining space when it is UBI-attached for the first time. Distinct
from that is the UBI-filesystem's max-size parameter which prescribes
the maximum size of an UBI-volume that shall be addressable by this
filesystem. This means that if you would re-use 'data.ubifs' in a volume
that has been autoresized to e.g. 1024MiB the filesystem would not be
able to make use of it.

I neither tested the recipe nor the genimage.config, so please give some
feedback.

Best regards
Ulrich


Thanks,
Gabriele

Il giorno mer 24 apr 2019 alle ore 15:15 Ulrich Ölmann <
u.oelmann@...> ha scritto:

Hi Gabriele,

On Wed, Apr 24 2019 at 14:06 +0200, Gabriele Zampieri <
gabbla.malist@...> wrote:
I'm now testing genimage via meta-ptx in my Yocto workflow, but I found a
problem: I cannot set a SRC_URI in my custom image recipe (that inherit
from core-image which in turn inherit from image) because do_fetch and
do_unpack tasks have noexec set to 1. If I specify the SRC_URI with my
genimage.config, bitbake exits, complaining about LIC_FILE_CHECKSUM (that
is correctly specified). If I hack image.bbclass and comment out

#do_fetch[noexec] = "1"


#do_unpack[noexec] = "1"

The process start correctly. Is there a way to avoid touching
image.bbclass
and install my configuration from the image recipe?

Thanks,
Gabriele
you need one or more recipe(s) that construct(s) your filesystem(s) and
a separate one that makes a flashable image out of that (see the
introductory documentation in 'genimage.bbclass'). In the former you
inherit 'core-image' and only in the latter which inherits 'genimage'
you have to set the SRC_URI to point to your 'genimage.config'.

Best regards
Ulrich


Il giorno mer 13 mar 2019 alle ore 16:14 Gabriele Zampieri <
gabbla.malist@...> ha scritto:

Hi all,

thank you very much for the suggestion, I will check genimage and test
it.

Gabriele

Il giorno gio 7 mar 2019 alle ore 16:23 Ulrich Ölmann <
u.oelmann@...> ha scritto:

Hi there,

On Thu, Mar 07 2019 at 15:11 +0100, Stelling2 Carsten <
Carsten.Stelling2@...> wrote:
Have you seen https://github.com/pengutronix/genimage?
you can find it included within
https://github.com/pengutronix/meta-ptx
with an accompanying genimage.bbclass.

Best regards
Ulrich

Regards,

Carsten

Von: yocto-bounces@... [mailto:
yocto-bounces@...] Im Auftrag von Gabriele Zampieri
Gesendet: Montag, 4. März 2019 12:17
An: yocto@...
Betreff: [yocto] Multiple ubifs partition

Hi all,

I'm trying to build a distribution that has multiple partitions. The
desiderata is something like:

- rootfs.ubifs mounted on /
- data.ubifs mounted on /data
- opt.ubifs mounted on /opt

I was wondering if there is a standard way to achieve the goal. I see
that there is a tool called wic, but it does not seems to support
ubifs. I
could post process the tarball image and doing stuff with my scripts,
but
I'd prefer doing this in a single bitbake run. Can you suggest
something?

Thanks,
Gabriele

--
Pengutronix e.K. | Ulrich Ölmann
|
Industrial Linux Solutions |
http://www.pengutronix.de/
|
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0
|
Amtsgericht Hildesheim, HRA 2686 | Fax:
+49-5121-206917-5555 |

--
Pengutronix e.K. | Ulrich Ölmann |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |

--
Pengutronix e.K. | Ulrich Ölmann |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |

Join {yocto@lists.yoctoproject.org to automatically receive all group messages.