[yocto] Multiple ubifs partition
Ulrich Ölmann
u.oelmann at pengutronix.de
Mon May 6 05:15:19 PDT 2019
Hi Gabriele,
On Mon, May 06 2019 at 13:32 +0200, Gabriele Zampieri <gabbla.malist at gmail.com> wrote:
> thank you very much for your explanation. The provided genimage.config
> looks similar to mine, so I guess it is ok. I will try when I come back to
> the office. The point I missed was that I need to call: bitbake
> your-customized-ubi and not bitbake my-custom-image, right?
correct - "my-custom-image" will indirectly become a dependency via the
variable GENIMAGE_ROOTFS_IMAGE, see [1].
Best regards
Ulrich
[1] https://github.com/pengutronix/meta-ptx/blob/master/classes/genimage.bbclass#L88
> Thank you again,
> Gabriele
>
>
> Il giorno ven 3 mag 2019 alle ore 07:59 Ulrich Ölmann <
> u.oelmann at pengutronix.de> ha scritto:
>
>> Hi Gabriele,
>>
>> On Thu, May 02 2019 at 13:25 +0200, Gabriele Zampieri <
>> gabbla.malist at gmail.com> 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 at pengutronix.de> ha scritto:
>> >
>> >> Hi Gabriele,
>> >>
>> >> On Wed, Apr 24 2019 at 14:06 +0200, Gabriele Zampieri <
>> >> gabbla.malist at gmail.com> 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 at gmail.com> 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 at pengutronix.de> ha scritto:
>> >> >>
>> >> >>> Hi there,
>> >> >>>
>> >> >>> On Thu, Mar 07 2019 at 15:11 +0100, Stelling2 Carsten <
>> >> >>> Carsten.Stelling2 at goerlitz.com> 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 at yoctoproject.org [mailto:
>> >> >>> yocto-bounces at yoctoproject.org] Im Auftrag von Gabriele Zampieri
>> >> >>> > Gesendet: Montag, 4. März 2019 12:17
>> >> >>> > An: yocto at yoctoproject.org
>> >> >>> > 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 |
>>
--
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 |
More information about the yocto
mailing list