mirror of
https://github.com/aljazceru/kata-containers.git
synced 2025-12-30 04:24:29 +01:00
This patch introduces a bash library (scripts/lib.sh) that concentrates common functions. This also enhances future additions of other OSes, making it more simple. Also, new variables were introduced in each distro config.sh in order to parameterise the creation of package manager config (dnf/yum, in this case). A fix to the resulting rootfs directory name (include OS name) is also fixed in this patch. Fixes #39 Fixes #34 Signed-off-by: Erick Cardona <erick.cardona.ruiz@intel.com>
45 lines
1.0 KiB
Bash
45 lines
1.0 KiB
Bash
#!/bin/bash
|
|
#
|
|
# Copyright (c) 2018 HyperHQ Inc.
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
# - Arguments
|
|
# rootfs_dir=$1
|
|
#
|
|
# - 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
|
|
# and documented on its own config.sh
|
|
#
|
|
# - Expected result
|
|
#
|
|
# rootfs_dir populated with rootfs pkgs
|
|
# It must provide a binary in /sbin/init
|
|
build_rootfs() {
|
|
# Mandatory
|
|
local ROOTFS_DIR=$1
|
|
|
|
# In case of support EXTRA packages, use it to allow
|
|
# users add more packages to the base rootfs
|
|
local EXTRA_PKGS=${EXTRA_PKGS:-}
|
|
|
|
# Populate ROOTFS_DIR
|
|
check_root
|
|
mkdir -p "${ROOTFS_DIR}"
|
|
|
|
/sbin/apk.static \
|
|
-X ${MIRROR}/${OS_VERSION}/main \
|
|
-U \
|
|
--allow-untrusted \
|
|
--root ${ROOTFS_DIR}\
|
|
--initdb add ${BASE_PACKAGES} ${EXTRA_PKGS} ${PACKAGES}
|
|
|
|
mkdir -p ${ROOTFS_DIR}{/root,/etc/apk,/proc}
|
|
echo "${MIRROR}/${OS_VERSION}/main" > ${ROOTFS_DIR}/etc/apk/repositories
|
|
}
|