[elbe-devel] [PATCH v3 5/6] Speed up beaglebone example

Manuel Traut manut at linutronix.de
Fri Nov 9 12:52:01 CET 2018


Hi Bene,

On Fri, Nov 09, 2018 at 12:18:53PM +0100, Benedikt Spranger wrote:
> Use the debootstrap variant minbase to speed up the build.
> 
> The following times are determined by running
> $ time ./elbe initvm submit --skip-build-bin --skip-build-sources \
>   examples/armhf-ti-beaglebone-black.xml
> 
> Before change:		After change:
> --------------		-------------
> real    21m45.426s	real    13m10.055s
> user    0m22.771s	user    0m18.565s
> sys     0m4.679s	sys     0m3.881s

that looks as expected.

> Signed-off-by: Benedikt Spranger <b.spranger at linutronix.de>
> ---
>  examples/armhf-ti-beaglebone-black.xml | 64 ++++++++++++++++++++++++++
>  1 file changed, 64 insertions(+)
> 
> diff --git a/examples/armhf-ti-beaglebone-black.xml b/examples/armhf-ti-beaglebone-black.xml
> index 3f188902..ef99b406 100644
> --- a/examples/armhf-ti-beaglebone-black.xml
> +++ b/examples/armhf-ti-beaglebone-black.xml
> @@ -37,6 +37,13 @@
>  		<passwd>foo</passwd>
>  		<!-- run a getty here: -->
>  		<console>ttyO0,115200</console>
> +		<!-- speed up build with debootstrap variant minbase.
> +		Using minbase here and explicit install of systemd later
> +		on speed up the installation process, since it reduces
> +		the emulated part (run in QEMU) of the installation
> +		significant.
> +		-->

<!-- speed up build with debootstrap variant minbase.
     If systemd is installed during debootstrap the runtime dependency
     calculation is very expensive, because dpkg/apt is not available
     and some imperformant perl scripts are calculating the dependencies.
-->


> +		<debootstrapvariant>minbase</debootstrapvariant>
>  		<package>
>  			<!-- build a tarball of the target image -->
>  			<tar>
> @@ -107,6 +114,63 @@
>  			<pkg>wget</pkg>
>  			<pkg>ntpdate</pkg>
>  			<pkg>busybox</pkg>
> +			<!-- explicit install systemd (and other missing
> +			packages), since debootstrap variant minbase has
> +			no default init system.
> +			-->

Please just mention systemd and explain that some essential
packages are missing. I'm very happy if the RFS is smaller
than before.

If you want you can mention the missing essential packages by name,
but without their runtime depends.

> +			<pkg>systemd</pkg>
> +			<pkg>libiptc0</pkg>
> +			<pkg>libnetfilter-conntrack3</pkg>
> +			<pkg>libmnl0</pkg>
> +			<pkg>libreadline7</pkg>
> +			<pkg>libslang2</pkg>
> +			<pkg>rsyslog</pkg>
> +			<pkg>whiptail</pkg>
> +			<pkg>libtext-charwidth-perl</pkg>
> +			<pkg>init</pkg>
> +			<pkg>libip6tc0</pkg>
> +			<pkg>liblocale-gettext-perl</pkg>
> +			<pkg>iptables</pkg>
> +			<pkg>readline-common</pkg>
> +			<pkg>liblognorm5</pkg>
> +			<pkg>libpopt0</pkg>
> +			<pkg>systemd-sysv</pkg>
> +			<pkg>cron</pkg>
> +			<pkg>bsdmainutils</pkg>
> +			<pkg>nano</pkg>
> +			<pkg>isc-dhcp-common</pkg>
> +			<pkg>libsqlite3-0</pkg>
> +			<pkg>libisc-export160</pkg>
> +			<pkg>libfastjson4</pkg>
> +			<pkg>libksba8</pkg>
> +			<pkg>tasksel</pkg>
> +			<pkg>dmidecode</pkg>
> +			<pkg>pinentry-curses</pkg>
> +			<pkg>libpipeline1</pkg>
> +			<pkg>libapt-inst2.0</pkg>
> +			<pkg>libestr0</pkg>
> +			<pkg>debconf-i18n</pkg>
> +			<pkg>tasksel-data</pkg>
> +			<pkg>libnewt0.52</pkg>
> +			<pkg>libxapian30</pkg>
> +			<pkg>iputils-ping</pkg>
> +			<pkg>libtext-iconv-perl</pkg>
> +			<pkg>libelf1</pkg>
> +			<pkg>libtext-wrapi18n-perl</pkg>
> +			<pkg>gnupg</pkg>
> +			<pkg>ifupdown</pkg>
> +			<pkg>gnupg-agent</pkg>
> +			<pkg>apt-utils</pkg>
> +			<pkg>logrotate</pkg>
> +			<pkg>libassuan0</pkg>
> +			<pkg>libxtables12</pkg>
> +			<pkg>liblogging-stdlog0</pkg>
> +			<pkg>libnpth0</pkg>
> +			<pkg>libgdbm3</pkg>
> +			<pkg>libdns-export162</pkg>
> +			<pkg>isc-dhcp-client</pkg>
> +			<pkg>libnfnetlink0</pkg>
> +			<pkg>iproute2</pkg>
>  			<!-- install a package from backports -->
>  			<pkg pin="stretch-backports">btrfs-progs</pkg>
>  			<!-- install the libgpio built by pbuilder  -->
> -- 
> 2.19.1
> 
> 
> _______________________________________________
> elbe-devel mailing list
> elbe-devel at linutronix.de
> https://lists.linutronix.de/mailman/listinfo/elbe-devel



More information about the elbe-devel mailing list