[OE-core] [PATCH v2] systemd: don't install systemd-hwdb-update.service

Ross Burton ross.burton at intel.com
Mon Oct 7 19:39:07 UTC 2019


This service file is designed to do first-boot initialisation of the udev hwdb
database, but the condition logic to fire it is suboptimal: it can fire if not
needed, and can also not fire if needed.  Specifically it will always fire on
first boot, even though as part of rootfs generation we build the hwdb database.
On slow machines this can take a significant amount of time, the pathological
case being qemumips where the service can time out after 90 seconds of
processing.

Other distributions have also noticed this problem (specifically, at least
Debian and Clear) and solve it by using traditional postinst scripts to generate
the hwdb (which we already do) and deleting the service file (which we don't).

Finish the fix and improve boot times across all boards by deleting the service
file.

[ YOCTO #13504 ]

Signed-off-by: Ross Burton <ross.burton at intel.com>
---
 meta/recipes-core/systemd/systemd_243.bb | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/meta/recipes-core/systemd/systemd_243.bb b/meta/recipes-core/systemd/systemd_243.bb
index b9097593f17..a4a744ce9ba 100644
--- a/meta/recipes-core/systemd/systemd_243.bb
+++ b/meta/recipes-core/systemd/systemd_243.bb
@@ -297,13 +297,10 @@ do_install() {
 	# install default policy for presets
 	# https://www.freedesktop.org/wiki/Software/systemd/Preset/#howto
 	install -Dm 0644 ${WORKDIR}/99-default.preset ${D}${systemd_unitdir}/system-preset/99-default.preset
-}
 
-do_install_append () {
-	# Mips qemu is extremely slow, allow more time for the hwdb update
-	# This is a workaround until https://github.com/systemd/systemd/issues/13581 is resolved
-	[ ! -e ${D}${systemd_unitdir}/system/systemd-hwdb-update.service ] ||
-		sed -i -e s#TimeoutSec=90s#TimeoutSec=180s# ${D}${systemd_unitdir}/system/systemd-hwdb-update.service
+    # We use package postinsts for the hwdb update, as the update service is
+    # easily triggered for no reason and will slow down boots.
+    find ${D} -name systemd-hwdb-update.service -delete
 }
 
 python populate_packages_prepend (){
-- 
2.20.1



More information about the Openembedded-core mailing list