diff options
authorRoss Burton <>2019-10-07 20:39:07 +0100
committerRichard Purdie <>2019-10-08 11:22:19 +0100
commitb1fffd407029d5936e01ba6988b9e82279d98285 (patch)
parent9f0f688cecbd2bad28c46f8dc467eb88486a3f6e (diff)
systemd: don't install systemd-hwdb-update.service
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 <> Signed-off-by: Richard Purdie <>
1 files changed, 3 insertions, 6 deletions
diff --git a/meta/recipes-core/systemd/ b/meta/recipes-core/systemd/
index e874a451c4..6e7f95693b 100644
--- a/meta/recipes-core/systemd/
+++ b/meta/recipes-core/systemd/
@@ -295,13 +295,10 @@ do_install() {
# install default policy for presets
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 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 (){