[yocto] Removing hostapd init file

Darcy Watkins dwatkins at sierrawireless.com
Thu Nov 1 11:55:02 PDT 2018


Hi,

I have tried schemes like these and found that although they appear to work during rootfs generation, it can result in RPM transaction failures if you try to perform in-place upgrades using RPMs.  The post install scriptlets can fail as they attempt to run the update-rc.d command, passing bad (or missing) parms.

Fortunately for this particular case there is a hook variable that is used to leep sysvinit out of the way when using system (or other alternative).  I fixed it by adding the following to my bbappend…

  INHIBIT_UPDATERCD_BBCLASS = “1”



Regards,

Darcy

Darcy Watkins ::  Senior Staff Engineer, Firmware

SIERRA WIRELESS
Direct  +1 604 233 7989   ::  Fax  +1 604 231 1109  ::  Main  +1 604 231 1100
13811 Wireless Way  :: Richmond, BC Canada V6V 3A4
[P2]
dwatkins at sierrawireless.com<mailto:dwatkins at sierrawireless.com> :: www.sierrawireless.com<http://www.sierrawireless.com/>

From: yocto-bounces at yoctoproject.org <yocto-bounces at yoctoproject.org> On Behalf Of Joshua Watt
Sent: November-01-18 10:39 AM
To: Kristupas Savickas <kristupas.savickas at teltonika.lt>; yocto at yoctoproject.org
Subject: Re: [yocto] Removing hostapd init file

On Tue, 2018-10-23 at 09:03 +0300, Kristupas Savickas wrote:

Greetings,

I'm trying to remove the hostapd init file as I'll handle startup of it on my own. I've created a .bbappend file in my layer to do this:

do_install_append() {
    rm -rf ${D}${sysconfdir}/init.d
}

However, this results in a compilation warning when building my image and the ipk-postinst is still being run on my target:

WARNING: tlt-image-1.0-r0 do_rootfs: hostapd.postinst returned 1, marking as unpacked only, configuration required on target.
WARNING: tlt-image-1.0-r0 do_rootfs: Intentionally failing postinstall scriptlets of ['hostapd'] to defer them to first boot is deprecated. Please place them into pkg_postinst_ontarget_${PN} ().
If deferring to first boot wasn't the intent, then scriptlet failure may mean an issue in the recipe, or a regression elsewhere.
Details of the failure are in /home/kristupas/projects/fml-linux-sdk-qtel/oe-core/build/tmp-glibc/work/fml001-oe-linux-gnueabi/tlt-image/1.0-r0/temp/log.do_rootfs.
WARNING: tlt-image-1.0-r0 do_rootfs: [log_check] tlt-image: found 1 warning message in the logfile:
[log_check] WARNING: Intentionally failing postinstall scriptlets of ['hostapd'] to defer them to first boot is deprecated. Please place them into pkg_postinst_ontarget_${PN} ().



I tried setting INITSCRIPT_NAME to "" in my .bbappend, but it fails with an error during do_rootfs task of my image:
cat build/tmp-glibc/work/fml001-oe-linux-gnueabi/tlt-image/1.0-r0/temp/log.do_rootfs.24919 | grep hostapd
NOTE: Found hostapd-dbg_2.6-r0_armv7ahf-neon.ipk in Packages, but mtime differs - re-reading
Found hostapd-dev_2.6-r0_armv7ahf-neon.ipk in Packages, but mtime differs - re-reading
Found hostapd_2.6-r0_armv7ahf-neon.ipk in Packages, but mtime differs - re-reading
NOTE: Installing the following packages: android-system-core-adbd android-system-core-liblog android-system-core-usb ap6212 avlcommd base-files base-passwd boot-config config-backup curl dnsmasq dropbear ethtool eventslog factory-restore firewall3 fsl-rc-local gps-control gps-utils gpsd gpsd-conf gsmd hostapd iio-utils iiod iproute2 iptables iputils iw kernel-modules libcutils0 libglib-2.0-0 libnl-3-200 libstdc++6 libtlt-lua libxml2 lsm6dsl-rebind lsqlite3 luci lucihttp mnf-info motion-monitor mtd-utils-ubifs netifd openssl os-release packagegroup-core-boot perl ppp preinit procd qmuxd recgend rpcd run-postinsts shadow sms-utilities sqlite3 storage sysntpd system sysup tlt-base-files tlt-connection-manager tlt-eventslog-lua tzdata ubus uhttpd update-rc.d ustream-ssl
NOTE: /home/kristupas/projects/fml-linux-sdk-qtel/oe-core/build/tmp-glibc/work/fml001-oe-linux-gnueabi/tlt-image/1.0-r0/recipe-sysroot-native/usr/bin/opkg --volatile-cache -f /home/kristupas/projects/fml-linux-sdk-qtel/oe-core/build/tmp-glibc/work/fml001-oe-linux-gnueabi/tlt-image/1.0-r0/opkg.conf -t /home/kristupas/projects/fml-linux-sdk-qtel/oe-core/build/tmp-glibc/work/fml001-oe-linux-gnueabi/tlt-image/1.0-r0/temp/ipktemp/ -o /home/kristupas/projects/fml-linux-sdk-qtel/oe-core/build/tmp-glibc/work/fml001-oe-linux-gnueabi/tlt-image/1.0-r0/rootfs  --force_postinstall --prefer-arch-to-version --no-install-recommends  --force-overwrite install android-system-core-adbd android-system-core-liblog android-system-core-usb ap6212 avlcommd base-files base-passwd boot-config config-backup curl dnsmasq dropbear ethtool eventslog factory-restore firewall3 fsl-rc-local gps-control gps-utils gpsd gpsd-conf gsmd hostapd iio-utils iiod iproute2 iptables iputils iw kernel-modules libcutils0 libglib-2.0-0 libnl-3-200 libstdc++6 libtlt-lua libxml2 lsm6dsl-rebind lsqlite3 luci lucihttp mnf-info motion-monitor mtd-utils-ubifs netifd openssl os-release packagegroup-core-boot perl ppp preinit procd qmuxd recgend rpcd run-postinsts shadow sms-utilities sqlite3 storage sysntpd system sysup tlt-base-files tlt-connection-manager tlt-eventslog-lua tzdata ubus uhttpd update-rc.d ustream-ssl
ERROR: Unable to install packages. Command '/home/kristupas/projects/fml-linux-sdk-qtel/oe-core/build/tmp-glibc/work/fml001-oe-linux-gnueabi/tlt-image/1.0-r0/recipe-sysroot-native/usr/bin/opkg --volatile-cache -f /home/kristupas/projects/fml-linux-sdk-qtel/oe-core/build/tmp-glibc/work/fml001-oe-linux-gnueabi/tlt-image/1.0-r0/opkg.conf -t /home/kristupas/projects/fml-linux-sdk-qtel/oe-core/build/tmp-glibc/work/fml001-oe-linux-gnueabi/tlt-image/1.0-r0/temp/ipktemp/ -o /home/kristupas/projects/fml-linux-sdk-qtel/oe-core/build/tmp-glibc/work/fml001-oe-linux-gnueabi/tlt-image/1.0-r0/rootfs  --force_postinstall --prefer-arch-to-version --no-install-recommends  --force-overwrite install android-system-core-adbd android-system-core-liblog android-system-core-usb ap6212 avlcommd base-files base-passwd boot-config config-backup curl dnsmasq dropbear ethtool eventslog factory-restore firewall3 fsl-rc-local gps-control gps-utils gpsd gpsd-conf gsmd hostapd iio-utils iiod iproute2 iptables iputils iw kernel-modules libcutils0 libglib-2.0-0 libnl-3-200 libstdc++6 libtlt-lua libxml2 lsm6dsl-rebind lsqlite3 luci lucihttp mnf-info motion-monitor mtd-utils-ubifs netifd openssl os-release packagegroup-core-boot perl ppp preinit procd qmuxd recgend rpcd run-postinsts shadow sms-utilities sqlite3 storage sysntpd system sysup tlt-base-files tlt-connection-manager tlt-eventslog-lua tzdata ubus uhttpd update-rc.d ustream-ssl' returned 255:
Installing hostapd (2.6) on root
Downloading file:/home/kristupas/projects/fml-linux-sdk-qtel/oe-core/build/tmp-glibc/deploy/ipk/armv7ahf-neon/hostapd_2.6-r0_armv7ahf-neon.ipk<file://home/kristupas/projects/fml-linux-sdk-qtel/oe-core/build/tmp-glibc/deploy/ipk/armv7ahf-neon/hostapd_2.6-r0_armv7ahf-neon.ipk>.
To remove package debris, try `opkg remove hostapd`.
To re-attempt the install, try `opkg install hostapd`.
 * preinst_configure: Aborting installation of hostapd.

Any pointers of how I could accomplish my goal?



We override INITSCRIPT_PARAMS in a bbappend like so:

INITSCRIPT_PARAMS = "stop 20 0 1 0 ."

Seems to work OK.


--
Joshua Watt <JPEWhacker at gmail.com<mailto:JPEWhacker at gmail.com>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20181101/df07ab68/attachment-0001.html>


More information about the yocto mailing list