|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v2 4/7] Shrink the rootfs substantially
On Mon, Apr 14, 2025 at 11:18:40AM +0100, Andrew Cooper wrote:
> bash, busybox, musl and zlib are all in the base container.
>
> python3 and ncurses are in principle used by bits of Xen, but not in anything
> we test in CI. argp-standlone, curl, dbus, libfdt, libgcc and sudo aren't
> used at all (for x86 at least).
>
> libbz2 and libuuid were pulled in transitively before, and need to be included
> explicitly now.
>
> Use apk --no-cache to avoid keeping a ~2M package index on disk.
>
> Remove the modules scan on boot. We don't have or build any. This removes a
> chunk of warnings on boot.
Strictly speaking there is xen-argo.ko, but that's handled manually
anyway, so probably not worth mentioning.
> This shrinks the rootfs from ~30M down to ~8M.
>
> No practical change.
This also adds some preparation (the case on `uname -m`) for ARM64
rootfs, would be nice to mention it too. Especially since libfdt removed
here will be re-added for ARM.
> Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
> ---
> CC: Anthony PERARD <anthony.perard@xxxxxxxxxx>
> CC: Stefano Stabellini <sstabellini@xxxxxxxxxx>
> CC: Michal Orzel <michal.orzel@xxxxxxx>
> CC: Doug Goldstein <cardoe@xxxxxxxxxx>
> CC: Marek Marczykowski-Górecki <marmarek@xxxxxxxxxxxxxxxxxxxxxx>
> ---
> scripts/alpine-rootfs.sh | 60 +++++++++++++++++++++++-----------------
> 1 file changed, 34 insertions(+), 26 deletions(-)
>
> diff --git a/scripts/alpine-rootfs.sh b/scripts/alpine-rootfs.sh
> index 75e2f8648ce5..72c29e0a0a13 100755
> --- a/scripts/alpine-rootfs.sh
> +++ b/scripts/alpine-rootfs.sh
> @@ -4,33 +4,42 @@ set -eu
>
> WORKDIR="${PWD}"
> COPYDIR="${WORKDIR}/binaries"
> +UNAME=$(uname -m)
>
> -apk update
> +apk --no-cache update
This is no-op, no? IIUC the only thing `apk update` does is updating the
cache, which you disabled...
> -# xen runtime deps
> -apk add musl
> -apk add libgcc
> -apk add openrc
> -apk add busybox
> -apk add sudo
> -apk add dbus
> -apk add bash
> -apk add python3
> -apk add zlib
> -apk add lzo
> -apk add ncurses
> -apk add yajl
> -apk add libaio
> -apk add xz
> -apk add util-linux
> -apk add argp-standalone
> -apk add libfdt
> -apk add glib
> -apk add pixman
> -apk add curl
> -apk add udev
> -apk add pciutils
> -apk add libelf
> +PKGS=(
> + # System
> + openrc
> + udev
> + util-linux
> +
> + # Xen toolstack runtime deps
> + libbz2
> + libuuid
> + lzo
> + xz
> + yajl
> +
> + # QEMU
> + glib
> + libaio
> + pixman
> + )
> +
> +case $UNAME in
> + x86_64)
> + PKGS+=(
> + # System
> + pciutils
> +
> + # QEMU
> + libelf
> + )
> + ;;
> +esac
> +
> +apk add --no-cache "${PKGS[@]}"
>
> # Xen
> cd /
> @@ -45,7 +54,6 @@ rc-update add dmesg sysinit
> rc-update add hostname boot
> rc-update add hwclock boot
> rc-update add hwdrivers sysinit
> -rc-update add modules boot
> rc-update add killprocs shutdown
> rc-update add mount-ro shutdown
> rc-update add savecache shutdown
> --
> 2.39.5
>
--
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
Attachment:
signature.asc
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |