mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-06-28 16:27:50 +00:00
rootfs-builder: Support building centos-rootfs on Arm64
For now, mirrorlist doesn't support non-x86_64 arch, so we need create baseurl for arm64. Furthermore, we also need to offer arm64-specific gpg keys along with the regular key. Fixes: #111 Signed-off-by: Penny Zheng <penny.zheng@arm.com>
This commit is contained in:
parent
3375e736c9
commit
0451db9f4e
@ -1,30 +0,0 @@
|
|||||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
|
||||||
Version: GnuPG v1.4.5 (GNU/Linux)
|
|
||||||
|
|
||||||
mQINBFOn/0sBEADLDyZ+DQHkcTHDQSE0a0B2iYAEXwpPvs67cJ4tmhe/iMOyVMh9
|
|
||||||
Yw/vBIF8scm6T/vPN5fopsKiW9UsAhGKg0epC6y5ed+NAUHTEa6pSOdo7CyFDwtn
|
|
||||||
4HF61Esyb4gzPT6QiSr0zvdTtgYBRZjAEPFVu3Dio0oZ5UQZ7fzdZfeixMQ8VMTQ
|
|
||||||
4y4x5vik9B+cqmGiq9AW71ixlDYVWasgR093fXiD9NLT4DTtK+KLGYNjJ8eMRqfZ
|
|
||||||
Ws7g7C+9aEGHfsGZ/SxLOumx/GfiTloal0dnq8TC7XQ/JuNdB9qjoXzRF+faDUsj
|
|
||||||
WuvNSQEqUXW1dzJjBvroEvgTdfCJfRpIgOrc256qvDMp1SxchMFltPlo5mbSMKu1
|
|
||||||
x1p4UkAzx543meMlRXOgx2/hnBm6H6L0FsSyDS6P224yF+30eeODD4Ju4BCyQ0jO
|
|
||||||
IpUxmUnApo/m0eRelI6TRl7jK6aGqSYUNhFBuFxSPKgKYBpFhVzRM63Jsvib82rY
|
|
||||||
438q3sIOUdxZY6pvMOWRkdUVoz7WBExTdx5NtGX4kdW5QtcQHM+2kht6sBnJsvcB
|
|
||||||
JYcYIwAUeA5vdRfwLKuZn6SgAUKdgeOtuf+cPR3/E68LZr784SlokiHLtQkfk98j
|
|
||||||
NXm6fJjXwJvwiM2IiFyg8aUwEEDX5U+QOCA0wYrgUQ/h8iathvBJKSc9jQARAQAB
|
|
||||||
tEJDZW50T1MtNyBLZXkgKENlbnRPUyA3IE9mZmljaWFsIFNpZ25pbmcgS2V5KSA8
|
|
||||||
c2VjdXJpdHlAY2VudG9zLm9yZz6JAjUEEwECAB8FAlOn/0sCGwMGCwkIBwMCBBUC
|
|
||||||
CAMDFgIBAh4BAheAAAoJECTGqKf0qA61TN0P/2730Th8cM+d1pEON7n0F1YiyxqG
|
|
||||||
QzwpC2Fhr2UIsXpi/lWTXIG6AlRvrajjFhw9HktYjlF4oMG032SnI0XPdmrN29lL
|
|
||||||
F+ee1ANdyvtkw4mMu2yQweVxU7Ku4oATPBvWRv+6pCQPTOMe5xPG0ZPjPGNiJ0xw
|
|
||||||
4Ns+f5Q6Gqm927oHXpylUQEmuHKsCp3dK/kZaxJOXsmq6syY1gbrLj2Anq0iWWP4
|
|
||||||
Tq8WMktUrTcc+zQ2pFR7ovEihK0Rvhmk6/N4+4JwAGijfhejxwNX8T6PCuYs5Jiv
|
|
||||||
hQvsI9FdIIlTP4XhFZ4N9ndnEwA4AH7tNBsmB3HEbLqUSmu2Rr8hGiT2Plc4Y9AO
|
|
||||||
aliW1kOMsZFYrX39krfRk2n2NXvieQJ/lw318gSGR67uckkz2ZekbCEpj/0mnHWD
|
|
||||||
3R6V7m95R6UYqjcw++Q5CtZ2tzmxomZTf42IGIKBbSVmIS75WY+cBULUx3PcZYHD
|
|
||||||
ZqAbB0Dl4MbdEH61kOI8EbN/TLl1i077r+9LXR1mOnlC3GLD03+XfY8eEBQf7137
|
|
||||||
YSMiW5r/5xwQk7xEcKlbZdmUJp3ZDTQBXT06vavvp3jlkqqH9QOE8ViZZ6aKQLqv
|
|
||||||
pL+4bs52jzuGwTMT7gOR5MzD+vT0fVS7Xm8MjOxvZgbHsAgzyFGlI1ggUQmU7lu3
|
|
||||||
uPNL0eRx4S1G4Jn5
|
|
||||||
=OGYX
|
|
||||||
-----END PGP PUBLIC KEY BLOCK-----
|
|
@ -12,11 +12,13 @@ LOG_FILE="/var/log/yum-centos.log"
|
|||||||
MIRROR_LIST="http://mirrorlist.centos.org/?release=${OS_VERSION}&arch=${ARCH}&repo=os&container=container"
|
MIRROR_LIST="http://mirrorlist.centos.org/?release=${OS_VERSION}&arch=${ARCH}&repo=os&container=container"
|
||||||
|
|
||||||
# Aditional Repos
|
# Aditional Repos
|
||||||
CENTOS_UPDATES_URL="http://mirrorlist.centos.org/?release=${OS_VERSION}&arch=${ARCH}&repo=updates&container=container"
|
CENTOS_UPDATES_MIRROR_LIST="http://mirrorlist.centos.org/?release=${OS_VERSION}&arch=${ARCH}&repo=updates&container=container"
|
||||||
|
|
||||||
CENTOS_EXTRAS_URL="http://mirrorlist.centos.org/?release=${OS_VERSION}&arch=${ARCH}&repo=extras&container=container"
|
CENTOS_EXTRAS_MIRROR_LIST="http://mirrorlist.centos.org/?release=${OS_VERSION}&arch=${ARCH}&repo=extras&container=container"
|
||||||
|
|
||||||
CENTOS_PLUS_URL="http://mirrorlist.centos.org/?release=${OS_VERSION}&arch=${ARCH}&repo=centosplus&container=container"
|
CENTOS_PLUS_MIRROR_LIST="http://mirrorlist.centos.org/?release=${OS_VERSION}&arch=${ARCH}&repo=centosplus&container=container"
|
||||||
|
|
||||||
|
GPG_KEY_URL="https://www.centos.org/keys/RPM-GPG-KEY-CentOS-7"
|
||||||
|
|
||||||
GPG_KEY_FILE="RPM-GPG-KEY-CentOS-7"
|
GPG_KEY_FILE="RPM-GPG-KEY-CentOS-7"
|
||||||
|
|
||||||
|
18
rootfs-builder/centos/config_aarch64.sh
Normal file
18
rootfs-builder/centos/config_aarch64.sh
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
#
|
||||||
|
# Copyright (c) 2018 ARM Limited
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
# Base Repos
|
||||||
|
BASE_URL="http://mirror.centos.org/altarch/${OS_VERSION}/os/${ARCH}/"
|
||||||
|
|
||||||
|
# Additional Repos
|
||||||
|
CENTOS_UPDATES_URL="http://mirror.centos.org/altarch/${OS_VERSION}/updates/${ARCH}/"
|
||||||
|
|
||||||
|
CENTOS_EXTRAS_URL="http://mirror.centos.org/altarch/${OS_VERSION}/extras/${ARCH}/"
|
||||||
|
|
||||||
|
CENTOS_PLUS_URL="http://mirror.centos.org/altarch/${OS_VERSION}/centosplus/${ARCH}/"
|
||||||
|
|
||||||
|
GPG_KEY_ARCH_URL="http://mirror.centos.org/altarch/7/os/aarch64/RPM-GPG-KEY-CentOS-7-aarch64"
|
||||||
|
|
||||||
|
GPG_KEY_ARCH_FILE="RPM-GPG-KEY-CentOS-7-aarch64"
|
@ -28,6 +28,9 @@ source "${script_dir}/versions.txt"
|
|||||||
# distro-specific config file
|
# distro-specific config file
|
||||||
typeset -r CONFIG_SH="config.sh"
|
typeset -r CONFIG_SH="config.sh"
|
||||||
|
|
||||||
|
# optional arch-specific config file
|
||||||
|
typeset -r CONFIG_ARCH_SH="config_${ARCH}.sh"
|
||||||
|
|
||||||
# Name of an optional distro-specific file which, if it exists, must implement the
|
# Name of an optional distro-specific file which, if it exists, must implement the
|
||||||
# build_rootfs() function.
|
# build_rootfs() function.
|
||||||
typeset -r LIB_SH="rootfs_lib.sh"
|
typeset -r LIB_SH="rootfs_lib.sh"
|
||||||
@ -179,6 +182,12 @@ distro_config_dir="${script_dir}/${distro}"
|
|||||||
rootfs_config="${distro_config_dir}/${CONFIG_SH}"
|
rootfs_config="${distro_config_dir}/${CONFIG_SH}"
|
||||||
source "${rootfs_config}"
|
source "${rootfs_config}"
|
||||||
|
|
||||||
|
# Source arch-specific config file
|
||||||
|
rootfs_arch_config="${distro_config_dir}/${CONFIG_ARCH_SH}"
|
||||||
|
if [ -f "${rootfs_arch_config}" ]; then
|
||||||
|
source "${rootfs_arch_config}"
|
||||||
|
fi
|
||||||
|
|
||||||
[ -d "${distro_config_dir}" ] || die "Not found configuration directory ${distro_config_dir}"
|
[ -d "${distro_config_dir}" ] || die "Not found configuration directory ${distro_config_dir}"
|
||||||
|
|
||||||
if [ -z "$ROOTFS_DIR" ]; then
|
if [ -z "$ROOTFS_DIR" ]; then
|
||||||
|
@ -80,13 +80,25 @@ enabled=1
|
|||||||
EOF
|
EOF
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$GPG_KEY_FILE" != "" ]; then
|
if [ -n "$GPG_KEY_URL" ]; then
|
||||||
|
if [ ! -f "${CONFIG_DIR}/${GPG_KEY_FILE}" ]; then
|
||||||
|
curl -L ${GPG_KEY_URL} -o ${CONFIG_DIR}/${GPG_KEY_FILE}
|
||||||
|
fi
|
||||||
cat >> "${DNF_CONF}" << EOF
|
cat >> "${DNF_CONF}" << EOF
|
||||||
gpgcheck=1
|
gpgcheck=1
|
||||||
gpgkey=file://${CONFIG_DIR}/${GPG_KEY_FILE}
|
gpgkey=file://${CONFIG_DIR}/${GPG_KEY_FILE}
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ -n "$GPG_KEY_ARCH_URL" ]; then
|
||||||
|
if [ ! -f "${CONFIG_DIR}/${GPG_KEY_ARCH_FILE}" ]; then
|
||||||
|
curl -L ${GPG_KEY_ARCH_URL} -o ${CONFIG_DIR}/${GPG_KEY_ARCH_FILE}
|
||||||
|
fi
|
||||||
|
cat >> "${DNF_CONF}" << EOF
|
||||||
|
file://${CONFIG_DIR}/${GPG_KEY_ARCH_FILE}
|
||||||
|
EOF
|
||||||
|
fi
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
build_rootfs()
|
build_rootfs()
|
||||||
|
Loading…
Reference in New Issue
Block a user