[Buildroot] [PATCH] package/systemd: Optionally disable hwdb

Peter Seiderer ps.report at gmx.net
Fri Apr 15 20:53:21 UTC 2016


Hello Marcin Niestroj,

On Fri, 15 Apr 2016 12:46:30 +0200, Marcin Niestroj <m.niestroj at grinn-global.com> wrote:

> By default hwdb files are installed in /usr/lib/udev/hwdb.d
> Currently they take about ~5MB. After first boot, systemd-hwdb tool
> parses them and creates a binary in /etc/udev/hwdb.bin, which takes
> another ~6.5MB.
> 
> In case of initramfs images, hwdb parsing is done every boot. This adds
> about 2-3 seconds to boot time in case of rootfs on SDHC class 10
> card (benchmarked with am335x board). NAND boot takes even longer.
> 

Perfect for this case would be 'systemd-hwdb update' run at built time to
create the hwdb files once, but maybe stuff for a follow up patch...

Regards,
Peter


> Add config option to disable hwdb in systemd, for smaller images and
> better boot performance.
> 
> Signed-off-by: Marcin Niestroj <m.niestroj at grinn-global.com>
> ---
>  package/systemd/Config.in  | 11 +++++++++++
>  package/systemd/systemd.mk |  6 ++++++
>  2 files changed, 17 insertions(+)
> 
> diff --git a/package/systemd/Config.in b/package/systemd/Config.in
> index 97d48c4..324e884 100644
> --- a/package/systemd/Config.in
> +++ b/package/systemd/Config.in
> @@ -84,6 +84,17 @@ config BR2_PACKAGE_SYSTEMD_JOURNAL_GATEWAY
>  
>  	  http://www.freedesktop.org/software/systemd/man/systemd-journal-gatewayd.service.html
>  
> +config BR2_PACKAGE_SYSTEMD_HWDB
> +	bool "enable hwdb installation"
> +	default y
> +	help
> +	  Enables hardware database installation to /usr/lib/udev/hwdb.d
> +
> +	  Disabling this option improves first boot time (or every boot
> +	  time in case of initramfs images) and saves several MB space.
> +
> +	  https://www.freedesktop.org/software/systemd/man/hwdb.html
> +
>  config BR2_PACKAGE_SYSTEMD_BINFMT
>  	bool "enable binfmt tool"
>  	help
> diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk
> index 79e657e..29b62c0 100644
> --- a/package/systemd/systemd.mk
> +++ b/package/systemd/systemd.mk
> @@ -127,6 +127,12 @@ else
>  SYSTEMD_CONF_OPTS += --disable-microhttpd
>  endif
>  
> +ifeq ($(BR2_PACKAGE_SYSTEMD_HWDB),y)
> +SYSTEMD_CONF_OPTS += --enable-hwdb
> +else
> +SYSTEMD_CONF_OPTS += --disable-hwdb
> +endif
> +
>  ifeq ($(BR2_PACKAGE_SYSTEMD_BINFMT),y)
>  SYSTEMD_CONF_OPTS += --enable-binfmt
>  else



More information about the buildroot mailing list