[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