diff --git a/tools/osbuilder/rootfs-builder/alpine/config.sh b/tools/osbuilder/rootfs-builder/alpine/config.sh index d07f70b03a..4d6ed2265a 100644 --- a/tools/osbuilder/rootfs-builder/alpine/config.sh +++ b/tools/osbuilder/rootfs-builder/alpine/config.sh @@ -11,7 +11,7 @@ BASE_PACKAGES="alpine-base" # Alpine mirror to use # See a list of mirrors at http://nl.alpinelinux.org/alpine/MIRRORS.txt -MIRROR=http://dl-5.alpinelinux.org/alpine +MIRROR=https://dl-5.alpinelinux.org/alpine PACKAGES="" diff --git a/tools/osbuilder/rootfs-builder/alpine/rootfs_lib.sh b/tools/osbuilder/rootfs-builder/alpine/rootfs_lib.sh index d41cbd5766..f2456e7c94 100644 --- a/tools/osbuilder/rootfs-builder/alpine/rootfs_lib.sh +++ b/tools/osbuilder/rootfs-builder/alpine/rootfs_lib.sh @@ -9,6 +9,8 @@ # # - Optional environment variables # +# EXTRA_PKGS: Variable to add extra PKGS provided by the user +# # BIN_AGENT: Name of the Kata-Agent binary # # Any other configuration variable for a specific distro must be added @@ -22,13 +24,20 @@ build_rootfs() { # Mandatory local ROOTFS_DIR=$1 + # Add extra packages to the rootfs when specified + local EXTRA_PKGS=${EXTRA_PKGS:-} + # Populate ROOTFS_DIR check_root mkdir -p "${ROOTFS_DIR}" - rm -rf ${ROOTFS_DIR}/var/tmp - cp -a -r -f /bin /etc /lib /sbin /usr /var ${ROOTFS_DIR} - mkdir -p ${ROOTFS_DIR}{/root,/proc,/dev,/home,/media,/mnt,/opt,/run,/srv,/sys,/tmp} + /sbin/apk.static \ + -X ${MIRROR}/v${OS_VERSION}/main \ + -U \ + --allow-untrusted \ + --root ${ROOTFS_DIR} \ + --initdb add ${BASE_PACKAGES} ${EXTRA_PKGS} ${PACKAGES} - echo "${MIRROR}/${OS_VERSION}/main" > ${ROOTFS_DIR}/etc/apk/repositories + mkdir -p ${ROOTFS_DIR}{/root,/etc/apk,/proc} + echo "${MIRROR}/v${OS_VERSION}/main" > ${ROOTFS_DIR}/etc/apk/repositories }