[yocto] Multiple ubifs partition

Gabriele Zampieri gabbla.malist at gmail.com
Mon May 6 04:32:24 PDT 2019


Hi Ulrich,

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?

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 |
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20190506/87fef33e/attachment.html>


More information about the yocto mailing list