@@ -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 (){
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 #13581 ] Signed-off-by: Ross Burton <ross.burton@intel.com> --- meta/recipes-core/systemd/systemd_243.bb | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) -- 2.20.1 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core