mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-09-13 04:49:36 +00:00
osbuilder: move code into tools directory
move all osbuilder files into `tools` directory to be able to merge this into kata-containers repo. Signed-off-by: Salvador Fuentes <salvador.fuentes@intel.com>
This commit is contained in:
41
tools/osbuilder/rootfs-builder/alpine/Dockerfile.in
Normal file
41
tools/osbuilder/rootfs-builder/alpine/Dockerfile.in
Normal file
@@ -0,0 +1,41 @@
|
||||
#
|
||||
# Copyright (c) 2018 HyperHQ Inc.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
From docker.io/golang:@GO_VERSION@-alpine
|
||||
|
||||
RUN apk update && apk add \
|
||||
apk-tools-static \
|
||||
autoconf \
|
||||
automake \
|
||||
bash \
|
||||
binutils \
|
||||
cmake \
|
||||
coreutils \
|
||||
curl \
|
||||
g++ \
|
||||
gcc \
|
||||
git \
|
||||
libc-dev \
|
||||
libseccomp \
|
||||
libseccomp-dev \
|
||||
linux-headers \
|
||||
m4 \
|
||||
make \
|
||||
musl \
|
||||
musl-dev \
|
||||
tar \
|
||||
vim
|
||||
# alpine doesn't support x86_64-unknown-linux-gnu
|
||||
# It only support x86_64-unknown-linux-musl. Even worse,
|
||||
# it doesn't support proc-macro, which is needed for serde_derive
|
||||
#
|
||||
# See issue: https://github.com/kata-containers/osbuilder/issues/386
|
||||
# -- FIXME
|
||||
#
|
||||
# Thus, we cannot build rust agent on alpine
|
||||
# The way to use alpine is to generate rootfs or build
|
||||
# go agent to get rootfs and then cp rust agent to rootfs.
|
||||
# pity..
|
||||
# RUN ln -svf /usr/bin/gcc /bin/musl-gcc; ln -svf /usr/bin/g++ /bin/musl-g++
|
26
tools/osbuilder/rootfs-builder/alpine/config.sh
Normal file
26
tools/osbuilder/rootfs-builder/alpine/config.sh
Normal file
@@ -0,0 +1,26 @@
|
||||
#
|
||||
# Copyright (c) 2018 Intel Corporation
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
OS_NAME="Alpine"
|
||||
|
||||
OS_VERSION=${OS_VERSION:-latest-stable}
|
||||
|
||||
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
|
||||
|
||||
# Mandatory Packages that must be installed
|
||||
# - iptables: Need by Kata agent
|
||||
PACKAGES="iptables"
|
||||
|
||||
# Init process must be one of {systemd,kata-agent}
|
||||
INIT_PROCESS=kata-agent
|
||||
# List of zero or more architectures to exclude from build,
|
||||
# as reported by `uname -m`
|
||||
ARCH_EXCLUDE_LIST=()
|
||||
|
||||
[ "$SECCOMP" = "yes" ] && PACKAGES+=" libseccomp" || true
|
44
tools/osbuilder/rootfs-builder/alpine/rootfs_lib.sh
Normal file
44
tools/osbuilder/rootfs-builder/alpine/rootfs_lib.sh
Normal file
@@ -0,0 +1,44 @@
|
||||
#!/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
|
||||
}
|
Reference in New Issue
Block a user