Git Product home page Git Product logo

meta-ptx's People

Contributors

a3f avatar bastian-krause avatar builder-skov-dk avatar davidnorrisbb avatar ejoerns avatar emantor avatar eugenwiens avatar gportay avatar hnez avatar jluebbe avatar jremmet avatar mgrzeschik avatar michaelolbrich avatar onkelulla avatar rohieb avatar ryanmeulenkamp avatar vivien avatar zandrey avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

meta-ptx's Issues

Rootfs image name

Hi,

I was updating our layers, and I ran into an issue with an incorrect filename passed to tar.

| NOTE: Unpacking /home/user/Documents/foo/build/tmp-glibc/deploy/images/nedap-foo/foo-base-nedap-foo.tar.bz2 to /home/user/Documents/foo/build/tmp-glibc/work/nedap_foo-oe-linux-gnueabi/foo-image/1.0/root
| tar: /home/user/Documents/foo/build/tmp-glibc/deploy/images/nedap-foo/foo-base-nedap-foo.tar.bz2: Cannot open: No such file or directory
| tar: Error is not recoverable: exiting now

I believe this is due to naming convention change in 4.3 https://docs.yoctoproject.org/singleindex.html#output-file-naming-changes .

The image is now named foo-base-nedap-foo.rootfs.tar.bz2 (recipe foo-base, machine nedap-foo). Note the addition of .rootfs.

I could work around this by setting

GENIMAGE_ROOTFS_IMAGE_FSTYPE = "rootfs.tar.bz2"

in my image recipe. However, I am not sure that this is an appropriate fix.

If there is more information needed, please let me know.

Thanks!

cannot be compatible with both scarthgap and nanbield

OE-core has renamed the bmap-tools recipe to bmaptool, so now one gets

ERROR: Nothing PROVIDES 'bmap-tools-native'. Close matches:
  bmaptool-native
  bpftool-native
  mtools-native

They refuse to add the PROVIDES which would give compatibility

https://lore.kernel.org/openembedded-core/CANNYZj_5AkKa_dJVmjzvnng_7SFrdDr70T_wDN=bcA2WfMX+Bw@mail.gmail.com/
https://lore.kernel.org/openembedded-core/ba338ad83d02efbaeac55e4f80d9560cab92a54d.camel@linuxfoundation.org/

I don't really see any way to actually keep meta-ptx compatible with both nanbield and scarthgap (of course, this particular thing is only an issue when one sets GENIMAGE_CREATE_BMAP).

Inconsistent rootfs used through SSTATE cache

Hello,

I found a compilation inconsistency in the way genimage.bbclass uses the shared state for the deploy task.
The genimage class inherits deploy. This allows reusing previously built images if the recipe's hashes haven't changed. The genimage.bbclass documentation meanwhile also recommends to add a dependency to the underlying rootfs image recipe in the form:

do_genimage[depends] += "core-image-minimal:do_image_complete"

However, image recipes like core-image-minimal do not inherit deploy.bbclass. This means they don't generate and reuse sstate artifacts. Hence, if I compile my genimage image in a new build directory with a populated sstate cache that matches (which happens a lot in CI), a new rootfs for core-image-minimal is reassembled, but we use the genimage .img from the sstate. If the rootfs build steps are not reproducible, for instance if I want to have a built timestamp like bellow, then the timestamps present on the rootfs .tar.bz2 and inside the genimage .img do not match!

REPRODUCIBLE_TIMESTAMP_ROOTFS = ""

Steps to reproduce:

  1. Add REPRODUCIBLE_TIMESTAMP_ROOTFS = "" in the rootfs image recipe
  2. Configure an external SSTATE_CACHE directory
  3. Create a genimage recipe from that rootfs image recipe
  4. Run bitbake to compile the genimage image
  5. Remove the build directory, keep the SSTATE cache
  6. Run bitbake to compile the genimage image again, while using the SSTATE cache
  7. The /etc/version contained in the .tar.bz2 and .img do not match. This can also be seen easily from the symlink names in tmp/deploy

I noticed that other image bundling Yocto classes do not inherit the deploy class. It seems reserved for packages wich have a deploy output like kernels and bootloaders. For instance, image.bbclass or swupdate.bbclass do no inherit deploy. I question whether genimage should do it as well because of the bug explained above. I think we should directly write into the DEPLOY_DIR_IMAGE like those examples do. What is your opinion on this?

Thank you very much for your support!

genimage: sstate hash failure on gatesgarth

WARNING: simple-sd-image-1.0-r0 do_genimage: KeyError in ./deploy-simple-sd-image
ERROR: simple-sd-image-1.0-r0 do_genimage: Error executing a python function in exec_python_func() autogenerated:

The stack trace of python calls that resulted in this exception/failure was:
File: 'exec_python_func() autogenerated', lineno: 2, function: <module>
     0001:
 *** 0002:sstate_report_unihash(d)
     0003:
File: '/home/phoenix/build/YOCTO.BSP-Pengutronix-OP-TEE/meta/classes/sstate.bbclass', lineno: 840, function: sstate_report_unihash
     0836:    report_unihash = getattr(bb.parse.siggen, 'report_unihash', None)
     0837:
     0838:    if report_unihash:
     0839:        ss = sstate_state_fromvars(d)
 *** 0840:        report_unihash(os.getcwd(), ss['task'], d)
     0841:}
     0842:
     0843:#
     0844:# Shell function to decompress and prepare a package for installation
File: '/home/phoenix/build/YOCTO.BSP-Pengutronix-OP-TEE/bitbake/lib/bb/siggen.py', lineno: 596, function: report_unihash
     0592:
     0593:            if "." in self.method:
     0594:                (module, method) = self.method.rsplit('.', 1)
     0595:                locs['method'] = getattr(importlib.import_module(module), method)
 *** 0596:                outhash = bb.utils.better_eval('method(path, sigfile, task, d)', locs)
     0597:            else:
     0598:                outhash = bb.utils.better_eval(self.method + '(path, sigfile, task, d)', locs)
     0599:
     0600:            try:
File: '/home/phoenix/build/YOCTO.BSP-Pengutronix-OP-TEE/bitbake/lib/bb/utils.py', lineno: 420, function: better_eval
     0416:    if extraglobals:
     0417:        ctx = copy.copy(ctx)
     0418:        for g in extraglobals:
     0419:            ctx[g] = extraglobals[g]
 *** 0420:    return eval(source, ctx, locals)
     0421:
     0422:@contextmanager
     0423:def fileslocked(files):
     0424:    """Context manager for locking and unlocking file locks."""
File: '<string>', lineno: 1, function: <module>
  File "<string>", line 1, in <module>

File: '/home/phoenix/build/YOCTO.BSP-Pengutronix-OP-TEE/meta/lib/oe/sstatesig.py', lineno: 592, function: OEOuthashBasic
     0588:
     0589:                update_hash("\n")
     0590:
     0591:            # Process this directory and all its child files
 *** 0592:            process(root)
     0593:            for f in files:
     0594:                if f == 'fixmepath':
     0595:                    continue
     0596:                process(os.path.join(root, f))
File: '/home/phoenix/build/YOCTO.BSP-Pengutronix-OP-TEE/meta/lib/oe/sstatesig.py', lineno: 555, function: process
     0551:                    add_perm(stat.S_IXOTH, 'x')
     0552:
     0553:                if include_owners:
     0554:                    try:
 *** 0555:                        update_hash(" %10s" % pwd.getpwuid(s.st_uid).pw_name)
     0556:                        update_hash(" %10s" % grp.getgrgid(s.st_gid).gr_name)
     0557:                    except KeyError:
     0558:                        bb.warn("KeyError in %s" % path)
     0559:                        raise
Exception: KeyError: 'getpwuid(): uid not found: 1000'

ERROR: Logfile of failure stored in: /home/phoenix/build/YOCTO.BSP-Pengutronix-OP-TEE/build/tmp/work/stm32dk2-oe-linux-gnueabi/simple-sd-image/1.0-r0/temp/log.do_genimage.2807
ERROR: Task (/home/phoenix/build/YOCTO.BSP-Pengutronix-OP-TEE/meta-ptx-optee/meta-ptx-optee-bsp/recipes-core/images/simple-sd-image.bb:do_genimage) failed with exit code '1'
NOTE: Tasks Summary: Attempted 2745 tasks of which 2744 didn't need to be rerun and 1 failed.

Summary: 1 task failed:
  /home/phoenix/build/YOCTO.BSP-Pengutronix-OP-TEE/meta-ptx-optee/meta-ptx-optee-bsp/recipes-core/images/simple-sd-image.bb:do_genimage
Summary: There was 1 WARNING message shown.
Summary: There was 1 ERROR message shown, returning a non-zero exit code.

This looks like a pseudo problem where pseudo tries to record the uid for the images contained in DEPLOYDIR, but those are already owned by the user and pseudo can't lookup the uid.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.