[yocto] rpi-basic-image-1.0-r0 do_rootfs: Function failed: do_rootfs

Andrea Galbusera gizero at gmail.com
Fri Aug 11 03:27:55 PDT 2017


On Fri, Aug 11, 2017 at 9:27 AM, mohammed aqdam <mohammedaqdam at gmail.com>
wrote:

> thanks for your response.
> I made the reqd changes from the [1] link and added the open embedded
> layer as well and in that layer I found v4l-utils,so hopefully it will work.
> But in order to take pic I need gstreamer and OMXplayer which is present
> in met area so berry pi/recipes-multimedia.....now I want yo use this,how
> to add those two utilities to my image?
>

AFAICT omxplayer is part of rpi-test-image, a more feature reach image than
rpi-basic-image: you could try building that instead, or refer to
customising images content on the Yocto Reference Manual if you want to add
it to rpi-basic-image (i.e. by setting IMAGE_INSTALL_append). A simple
search for omxplayer in meta-raspberrypi documentation shows you'd also
need to enable building that specific recipe, since it depends on non-free
libraries. gstreamer is available from poky and meta-raspberrypi only
provides some customisation to that recipe via bbappends. Again, if not
already present in your image it should be possible to add it via the usual
IMAGE_INSTALL_append mechanism.


>
>
> On Aug 10, 2017 10:34 PM, "Andrea Galbusera" <gizero at gmail.com> wrote:
>
>> On Thu, Aug 10, 2017 at 4:06 PM, mohammed aqdam <mohammedaqdam at gmail.com>
>> wrote:
>>
>>> Thanks for your response
>>> I did it from scratch and it worked even apt is there but its not
>>> working properly.....its giving failed to fork and no installation packages
>>> for all commands....how to fix apt?
>>>
>>
>> Did you try to follow the suggestion to use "package-management" image
>> feature instead? Beside installing the tools like apt, it's going to deploy
>> all related configuration files, like the installed packages database and
>> whatever is needed to have a working package management on the target.
>>
>>
>>> Next I want to enable picamera v2 on rpi3 and use v4l2's api's......so
>>> how to add/enable camera? One more thing do I need to download any camera
>>> related folder and add it to bblayer.conf?
>>>
>>
>> I've never used the picamera myself, but I'd expect you'll need a lot of
>> stuff from kernel support to appropriate device tree overlays and user
>> space tools. A quick skim to meta-raspberrypi documentation showed [1] as a
>> starting point. Also, some v4l related utils can be found in meta-oe which,
>> yes, is one optional "layer" you can add to your bblayer.conf if needed.
>> For searching which layer includes recipes for the software you need,
>> please refer to the OpenEmbedded Layer Index [2]: it should be the most
>> up-to-date source for such a bit.
>>
>> [1] https://github.com/agherzan/meta-raspberrypi/blob/master/doc
>> s/extra-build-config.md#video-camera-support-with-v4l2-drivers
>> [2] https://layers.openembedded.org/layerindex/branch/master/layers/
>>
>>
>>> On Aug 10, 2017 3:04 PM, "Andrea Galbusera" <gizero at gmail.com> wrote:
>>>
>>>> On Thu, Aug 10, 2017 at 10:58 AM, mohammed aqdam <
>>>> mohammedaqdam at gmail.com> wrote:
>>>>
>>>>> thanks for your response...
>>>>> How to change my meta-raspberrypi branch to pyro?
>>>>>
>>>>
>>>> Just checkout pyro branch from meta-raspberrypi repo... This is plain
>>>> git, nothing specific to Yocto/OE.
>>>>
>>>>
>>>>> And yeah I'm trying to customize for Debian,and trying to add apt into
>>>>> my kernel using IMAGE_INSTALL_append +=" apt".
>>>>>
>>>>
>>>> If you want to add package management features to your image (which
>>>> rpi-basic-image does not include by default), the supported way is by using
>>>> the "package-management" image feature. This can be enabled either by
>>>> IMAGE_FEATURES += "package-management" in your custom image recipe or by
>>>> extending EXTRA_IMAGE_FEATURES in local.conf. See [1] for best practices on
>>>> enabling additional image features and dig the docs for package-management
>>>> to grasp the advantages of using this approach.
>>>>
>>>> That said, I just run a build with your exact metadata commits and it
>>>> went fine to the end, also resulting in apt-get related files to be in the
>>>> final image rootfs. You might have messed up something while changing your PACKAGE_CLASSES
>>>> value. Have you tried wiping tmp/ and running the build again? If it
>>>> doesn't help you should share your local.conf to help figuring out what's
>>>> wrong.
>>>>
>>>> [1] http://www.yoctoproject.org/docs/latest/mega-manual/mega
>>>> -manual.html#usingpoky-extend-customimage-imagefeatures
>>>>
>>>>
>>>>>
>>>>>
>>>>> On Aug 10, 2017 1:40 PM, "Andrea Galbusera" <gizero at gmail.com> wrote:
>>>>>
>>>>>> On Thu, Aug 10, 2017 at 6:16 AM, mohammed aqdam <
>>>>>> mohammedaqdam at gmail.com> wrote:
>>>>>>
>>>>>>> i was building image for rpi 3.
>>>>>>> so when i run bitbake -k rpi-basic-image i'm getting following error.
>>>>>>> how to recover this error...
>>>>>>>
>>>>>>> root at pcz-ee207837-2:/u/my_poky/poky/build# bitbake -k
>>>>>>> rpi-basic-image
>>>>>>> Parsing recipes: 100%
>>>>>>> |###########################################################
>>>>>>> ############################################################
>>>>>>> ###################|
>>>>>>> Time: 0:01:10
>>>>>>> Parsing of 851 .bb files complete (0 cached, 851 parsed). 1320
>>>>>>> targets, 73 skipped, 0 masked, 0 errors.
>>>>>>> NOTE: Resolving any missing task queue dependencies
>>>>>>>
>>>>>>> Build Configuration:
>>>>>>> BB_VERSION        = "1.34.0"
>>>>>>> BUILD_SYS         = "x86_64-linux"
>>>>>>> NATIVELSBSTRING   = "universal-4.8"
>>>>>>> TARGET_SYS        = "arm-poky-linux-gnueabi"
>>>>>>> MACHINE           = "raspberrypi3"
>>>>>>> DISTRO            = "poky"
>>>>>>> DISTRO_VERSION    = "2.3.1"
>>>>>>> TUNE_FEATURES     = "arm armv7ve vfp thumb neon vfpv4
>>>>>>> callconvention-hard cortexa7"
>>>>>>> TARGET_FPU        = "hard"
>>>>>>> meta
>>>>>>> meta-poky
>>>>>>> meta-yocto-bsp    = "pyro:4a39979c8d1e560fa54240e99734a651dfbaa63a"
>>>>>>> meta-raspberrypi  = "master:f6a2ca21c72b8d97cd0f89
>>>>>>> a0a436bf90b431698b"
>>>>>>>
>>>>>>
>>>>>> Hi! You are mixing layers from different release branches: this
>>>>>> shouldn't be a big issue in your scenario, but, in order to debug further,
>>>>>> you should try with pyro branch from meta-raspberrypi to match your poky
>>>>>> commit. Moreover, it looks like you are using package_deb as the packaging
>>>>>> format for your image: what's the exact value of your PACKAGE_CLASSES
>>>>>> variable? Do you have any other customisation in your local.conf w.r.t. the
>>>>>> default configuration?
>>>>>>
>>>>>>
>>>>>>>
>>>>>>> Initialising tasks: 100%
>>>>>>> |###########################################################
>>>>>>> ############################################################
>>>>>>> ################|
>>>>>>> Time: 0:00:06
>>>>>>> NOTE: Executing SetScene Tasks
>>>>>>> NOTE: Executing RunQueue Tasks
>>>>>>> ERROR: rpi-basic-image-1.0-r0 do_rootfs: 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:do_rootfs(d)
>>>>>>>      0003:
>>>>>>> File: '/u/my_poky/poky/meta/classes/image.bbclass', lineno: 270,
>>>>>>> function: do_rootfs
>>>>>>>      0266:
>>>>>>>      0267:    progress_reporter.next_stage()
>>>>>>>      0268:
>>>>>>>      0269:    # generate rootfs
>>>>>>>  *** 0270:    create_rootfs(d, progress_reporter=progress_reporter,
>>>>>>> logcatcher=logcatcher)
>>>>>>>      0271:
>>>>>>>      0272:    progress_reporter.finish()
>>>>>>>      0273:}
>>>>>>>      0274:do_rootfs[dirs] = "${TOPDIR}"
>>>>>>> File: '/u/my_poky/poky/meta/lib/oe/rootfs.py', lineno: 1005,
>>>>>>> function:
>>>>>>> create_rootfs
>>>>>>>      1001:        RpmRootfs(d, manifest_dir, progress_reporter,
>>>>>>> logcatcher).create()
>>>>>>>      1002:    elif img_type == "ipk":
>>>>>>>      1003:        OpkgRootfs(d, manifest_dir, progress_reporter,
>>>>>>> logcatcher).create()
>>>>>>>      1004:    elif img_type == "deb":
>>>>>>>  *** 1005:        DpkgRootfs(d, manifest_dir, progress_reporter,
>>>>>>> logcatcher).create()
>>>>>>>      1006:
>>>>>>>      1007:    os.environ.clear()
>>>>>>>      1008:    os.environ.update(env_bkp)
>>>>>>>      1009:
>>>>>>> File: '/u/my_poky/poky/meta/lib/oe/rootfs.py', lineno: 638,
>>>>>>> function: __init__
>>>>>>>      0634:        bb.utils.remove(self.d.getVar('MULTILIB_TEMP_ROOTFS'),
>>>>>>> True)
>>>>>>>      0635:        self.manifest = DpkgManifest(d, manifest_dir)
>>>>>>>      0636:        self.pm = DpkgPM(d, d.getVar('IMAGE_ROOTFS'),
>>>>>>>      0637:                         d.getVar('PACKAGE_ARCHS'),
>>>>>>>  *** 0638:                         d.getVar('DPKG_ARCH'))
>>>>>>>      0639:
>>>>>>>      0640:
>>>>>>>      0641:    def _create(self):
>>>>>>>      0642:        pkgs_to_install = self.manifest.parse_initial_ma
>>>>>>> nifest()
>>>>>>> File: '/u/my_poky/poky/meta/lib/oe/package_manager.py', lineno:
>>>>>>> 1245,
>>>>>>> function: __init__
>>>>>>>      1241:        self.all_arch_list = archs.split()
>>>>>>>      1242:        all_mlb_pkg_arch_list =
>>>>>>> (self.d.getVar('ALL_MULTILIB_PACKAGE_ARCHS') or "").split()
>>>>>>>      1243:        self.all_arch_list.extend(arch for arch in
>>>>>>> all_mlb_pkg_arch_list if arch not in self.all_arch_list)
>>>>>>>      1244:
>>>>>>>  *** 1245:        self._create_configs(archs, base_archs)
>>>>>>>      1246:
>>>>>>>      1247:        self.indexer = DpkgIndexer(self.d, self.deploy_dir)
>>>>>>>      1248:
>>>>>>>      1249:    """
>>>>>>> File: '/u/my_poky/poky/meta/lib/oe/package_manager.py', lineno:
>>>>>>> 1483,
>>>>>>> function: _create_configs
>>>>>>>      1479:            if variant_arch not in base_arch_list:
>>>>>>>      1480:                base_arch_list.append(variant_arch)
>>>>>>>      1481:
>>>>>>>      1482:        with open(self.apt_conf_file, "w+") as apt_conf:
>>>>>>>  *** 1483:            with
>>>>>>> open(self.d.expand("${STAGING_ETCDIR_NATIVE}/apt/apt.conf.sample"))
>>>>>>> as
>>>>>>> apt_conf_sample:
>>>>>>>      1484:                for line in apt_conf_sample.read().split("
>>>>>>> \n"):
>>>>>>>      1485:                    match_arch = re.match("  Architecture
>>>>>>> \".*\";$", line)
>>>>>>>      1486:                    architectures = ""
>>>>>>>      1487:                    if match_arch:
>>>>>>> Exception: FileNotFoundError: [Errno 2] No such file or directory:
>>>>>>> '/u/my_poky/poky/build/tmp/work/raspberrypi3-poky-linux-gnue
>>>>>>> abi/rpi-basic-image/1.0-r0/recipe-sysroot-native/etc/apt/apt
>>>>>>> .conf.sample'
>>>>>>>
>>>>>>> ERROR: rpi-basic-image-1.0-r0 do_rootfs: Function failed: do_rootfs
>>>>>>> ERROR: Logfile of failure stored in:
>>>>>>> /u/my_poky/poky/build/tmp/work/raspberrypi3-poky-linux-gnuea
>>>>>>> bi/rpi-basic-image/1.0-r0/temp/log.do_rootfs.21760
>>>>>>> ERROR: Task (/u/my_poky/poky/meta-raspberr
>>>>>>> ypi/recipes-core/images/rpi-basic-image.bb:do_rootfs)
>>>>>>> failed with exit code '1'
>>>>>>> NOTE: Tasks Summary: Attempted 2312 tasks of which 2311 didn't need
>>>>>>> to
>>>>>>> be rerun and 1 failed.
>>>>>>>
>>>>>>> Summary: 1 task failed:
>>>>>>>   /u/my_poky/poky/meta-raspberrypi/recipes-core/images/rpi-bas
>>>>>>> ic-image.bb:do_rootfs
>>>>>>> Summary: There were 2 ERROR messages shown, returning a non-zero
>>>>>>> exit code.
>>>>>>> --
>>>>>>> _______________________________________________
>>>>>>> yocto mailing list
>>>>>>> yocto at yoctoproject.org
>>>>>>> https://lists.yoctoproject.org/listinfo/yocto
>>>>>>>
>>>>>>
>>>>>>
>>>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20170811/d577d07e/attachment.html>


More information about the yocto mailing list