summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2019-10-07 20:39:07 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-10-08 11:22:19 +0100
commitb1fffd407029d5936e01ba6988b9e82279d98285 (patch)
tree1a78813fed1529b5c08660e49fcc9f90c16b7c4b
parent9f0f688cecbd2bad28c46f8dc467eb88486a3f6e (diff)
downloadopenembedded-core-contrib-b1fffd407029d5936e01ba6988b9e82279d98285.tar.gz
openembedded-core-contrib-b1fffd407029d5936e01ba6988b9e82279d98285.tar.bz2
openembedded-core-contrib-b1fffd407029d5936e01ba6988b9e82279d98285.zip
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 <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-core/systemd/systemd_243.bb9
1 files changed, 3 insertions, 6 deletions
diff --git a/meta/recipes-core/systemd/systemd_243.bb b/meta/recipes-core/systemd/systemd_243.bb
index e874a451c4..6e7f95693b 100644
--- a/meta/recipes-core/systemd/systemd_243.bb
+++ b/meta/recipes-core/systemd/systemd_243.bb
@@ -295,13 +295,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 (){