[yocto] pyro openembedded gpsd update-rc.d problems with read-only-rootfs

Dan Walkes danwalkes at trellis-logic.com
Sun Sep 10 13:35:06 PDT 2017


We’ve successfully included gpsd from meta-openembedded in a project
with IMAGE_FEATURES including read-only-rootfs on the morty branch.
However, I’m running into issues on an attempt to upgrade from morty
to pyro.  The do_rootfs for my image build step is failing with
message:

...

ERROR: core-image-fs5-nand-1.0-r0 do_rootfs: The following packages
could not be configured offline and rootfs is read-only: ['100-gpsd']

...

Earlier In the do_rootfs log I see these messages:

...

 Installing  : gpsd-gpsctl-3.14-r1.armv7ahf_neon                        98/407

Removing any system startup links for gpsd ...

 Installing  : gpsd-3.14-r1.armv7ahf_neon                               99/407

update-alternatives: Linking
/home/dan/ASD/Yocto/build-am3517/tmp/work/fs5_am3517-poky-linux-gnueabi/core-image-fs5-nand/1.0-r0/rootfs/usr/bin/gpsd-defaults
to /etc/default/gpsd.default

update-rc.d: /home/dan/ASD/Yocto/build-am3517/tmp/work/fs5_am3517-poky-linux-gnueabi/core-image-fs5-nand/1.0-r0/rootfs/etc/init.d/gpsd:
file does not exist

warning: %post(gpsd-3.14-r1.armv7ahf_neon) scriptlet failed, exit status 1
...

Complete!

Non-fatal POSTIN scriptlet failure in rpm package gpsd

Non-fatal POSTIN scriptlet failure in rpm package gpsd


NOTE: Saving postinstall script of gpsd

…


It looks like because the update-rc.d step fails this setup gets moved
into a gpsd post install script, which won’t work because I’m
configured to use a read only root filesystem.  So I need to find a
way to keep the update-rc.d step from failing.


If I do ls-la on the path
/home/dan/ASD/Yocto/build-am3517/tmp/work/fs5_am3517-poky-linux-gnueabi/core-image-fs5-nand/1.0-r0/rootfs/etc/init.d/gpsd
after the failure the file does in fact exist.  So it must be added
sometime after the failure occurs.

If I remove the dependency on gpsd I’m able to build my image, so it
appears this is the only dependency which is causing issues for me
after attempting the switch from morty to pyro branches.

The “Removing any system startup links for gpsd” message during the
gpsd-gpsctl install step just before the error looks suspicious and
I’m wondering if something about multiple packages being provided in
the gpsd_3.16.bb file at
https://github.com/openembedded/meta-openembedded/blob/master/meta-oe/recipes-navigation/gpsd/gpsd_3.16.bb
is related.  It’s not obvious to me from a review of the yocto
development manual what might be missing in the setup for update-rc.d
which would explain this.

Any suggestions about what I’m doing wrong or how I could debug this
would be greatly appreciated.

Thanks,
Dan



More information about the yocto mailing list