summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
authorzer0def2020-10-26 16:30:56 +0100
committerzer0def2020-10-26 16:30:56 +0100
commit254683f05ae470839955bcd46a64a2f540dd027a (patch)
tree2bf60724e62ff95019a11af8fcf611bfa2c9debe /PKGBUILD
parentf76ae1709718193e79654b73b29693c1112b30f5 (diff)
downloadaur-254683f05ae470839955bcd46a64a2f540dd027a.tar.gz
Added kernel build
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD110
1 files changed, 109 insertions, 1 deletions
diff --git a/PKGBUILD b/PKGBUILD
index f0aa4a344e0c..49734acc033c 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,7 +2,16 @@
# Contributor: Kaushal M <kshlmster cat gmail dog com>
# Contributor: Stefan Zwanenburg <stefan cat zwanenburg dog info>
pkgbase=kata-containers
-pkgname=(kata-ksm-throttler kata-proxy kata-runtime kata-shim kata-agent)
+pkgname=(
+ kata-agent
+ kata-ksm-throttler
+ kata-runtime
+ kata-proxy
+ kata-shim
+
+ #kata-linux-container
+ #kata-containers-image
+)
pkgver=1.11.4
_pkgver=${pkgver/\~/-}
pkgrel=1
@@ -11,33 +20,84 @@ arch=('x86_64')
url="https://katacontainers.io/"
license=('Apache')
makedepends=('go')
+
_gh_org="github.com/kata-containers"
+_kata_kernel_ver="5.4.32"
+
source=(
"agent-${_pkgver}.tar.gz::https://${_gh_org}/agent/archive/${_pkgver}.tar.gz"
"ksm-throttler-${_pkgver}.tar.gz::https://${_gh_org}/ksm-throttler/archive/${_pkgver}.tar.gz"
"osbuilder-${_pkgver}.tar.gz::https://${_gh_org}/osbuilder/archive/${_pkgver}.tar.gz"
+ "packaging-${_pkgver}.tar.gz::https://${_gh_org}/packaging/archive/${_pkgver}.tar.gz"
"proxy-${_pkgver}.tar.gz::https://${_gh_org}/proxy/archive/${_pkgver}.tar.gz"
"runtime-${_pkgver}.tar.gz::https://${_gh_org}/runtime/archive/${_pkgver}.tar.gz"
"shim-${_pkgver}.tar.gz::https://${_gh_org}/shim/archive/${_pkgver}.tar.gz"
+ #"https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-${_kata_kernel_ver}.tar.xz"
+ #"https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-${_kata_kernel_ver}.tar.sign"
+ #"http://mirrors.evowise.com/archlinux/iso/2020.08.01/archlinux-bootstrap-2020.08.01-x86_64.tar.gz"
+ #"http://mirrors.evowise.com/archlinux/iso/2020.08.01/archlinux-bootstrap-2020.08.01-x86_64.tar.gz.sig"
)
sha512sums=(
e0af374e279899a010ab66ed4fd4caff33c91d2cc19711f5e51302041cd49e69a71909d71092042bf0c4070acbbc5421f5c6cca49c55a4c332c060e745cf5a0c
326fe4e74313110b7afd4a701946ac90808ecd02643656cef27a180d5d47645e4bad5ede3ba9fb29cbfce1a691fb10d2136485fff4bcc651192c28e795102e43
b8f8998229e2f12491cf6f9262cf8889353e83c58e93010ca3f328f77b61f89fb33d9209b21a1babae406f60b915011edb0832b803dd31b32115dfffa1b2edb1
+ 867f8fbf9c589535a10696a14c26aa6b9b3c6344690105489d55ed1287bdbd56909eb8052a22b4be98e8eb697fc57021212780ff41e478438c71a5c20d7446ad
e19619110b4162e22bc4fa6c17330d9d77519a015971acbd8101ef9b4fbab728eb5779dc8c98c77e99a9a6355ce09408b37ecd440cef24ff8bb3e2e3156ef160
f5b932d19b13a6150037d4929038142e218e752bf8cd52bf5a19b29abcf0bb377683ba84c9412b5f744549099d12ba82c2a35188230af759991ffff5eca7bce1
8632772e67c2e045a9363eb00af3309632a5b15b8afe12a1756ae74fa484a0e7f9293b019355f483c6771a9294e09d518d40f34d15c114a0ca2bca90712171ab
+ #197f292fa541031071b8ed64880a3d4251fa65059747cbdf3900b8f934d17f681b506ca5f70132899bdef343d2d249a7902215d2ea04af5410599f1e50d6cbac
+ #SKIP
+ #24044fb5a9870dbe13ec7eafb60d99e664cec10d50d80a73a0445d1368c0fa95881003d92e0a1c0446f76c1bbe89b098f35ceffd0ef24e9beaa51f1a83494b98
+ #SKIP
)
b2sums=(
94e996c463f0c5517bc6d97af2cb0f1dbadccd7e5f2ef5c45ea15d1deb5af65770371f25a0b9421ba70fa50a0b8c22c7d5a443173515ad4c5db30c1fa72cd395
5302020c94d0fe47ae605be048da8080e4aa9ab9ba8a669772ba4389240917e94d7ab61252b0866db17d471942ccefba9b4871b365f359b7d9d6fae3e70b801e
6c30855fc7d5298dbe8c6b7e294edbf840e123083fecfa3d73d91e741dcca70af6ca0c10672eb6fa24dd886b3ebddccefcff943b4c816ce65c2f05588947660e
+ 6194835f2526a7b16e5b8ca97fb831fdfb78a951dec51c8640c8cff6efd5186ed051e717ff748af7913bdf339f5a69e1b5c9aff2d70c732a4876481ac6fb59ea
f514bb42482fcdf54454cb6e2362a45a897f6e3cd748ebd1bab7d1fe4a0736ec27bfa07d8ccc7bd7b037c4cf097bb23ecd69b2f93d31f9028c8dafc28fecd39d
4721581ccc2c4af854091dd60ef6134e7285672993c99a0e0f4932de422d887b197ad80176fbc1a2f4085dfe9ae8baf044ee0728a92b7aedbc02139e62e84c0c
0625dc648f976b2aa0dc8b9a8b06eb0e25b043f68506861aa85888646648df347adfe7d1b94c24315315f6f81e1fb9c89d6f07102401b6eb2b4de8c818001d55
+ #0ac78d1eb97ce4689ccdab01fb1475d07f29a90251b44b05fcf030d2f9aa644ac9dbb1315c7fe1eb991ef1435b7f17669e2b4f66187e3404599a0f136d2b1a50
+ #SKIP
+ #24044fb5a9870dbe13ec7eafb60d99e664cec10d50d80a73a0445d1368c0fa95881003d92e0a1c0446f76c1bbe89b098f35ceffd0ef24e9beaa51f1a83494b98
+ #SKIP
+)
+noextract=('archlinux-bootstrap-2020.08.01-x86_64.tar.gz')
+validpgpkeys=(
+ 647F28654894E3BD457199BE38DBBDC86092693E # kernel
)
+case "${CARCH}" in
+ x86_64) _KARCH=x86_64;;
+ aarch64) _KARCH=arm64;;
+ s390|s390x) _KARCH=s390;;
+ ppc64le) _KARCH=powerpc;;
+esac
+
+_kernel_prepare(){
+ # kata-linux-container prep (ref: https://github.com/kata-containers/packaging/tree/master/kernel )
+ cd "${srcdir}/linux-${_kata_kernel_ver}"
+ #for p in $(find "${srcdir}/packaging-${_pkgver}/obs-packaging/linux-container/patches" -type f -name "*.patch"); do
+ # patch -p1 <"${p}"
+ #done
+
+ # kernel config prep from upstream ("${srcdir}/packaging-${_pkgver}/obs-packaging/linux-container/kata-linux-container.spec-template")
+ make -s mrproper
+ rm -f .config
+
+ _KCONFIG="$(find "${srcdir}/packaging-${_pkgver}/kernel/configs" -type f -name "${_KARCH}_kata_kvm_${_kata_kernel_ver%.*}.x")"
+ if [ -z "${_KCONFIG}" ]; then
+ KCONFIG_CONFIG=.config ARCH=${_KARCH} scripts/kconfig/merge_config.sh -r -n "${srcdir}/packaging-${_pkgver}/kernel/configs/fragments/common/"*.conf "${srcdir}/packaging-${_pkgver}/kernel/configs/fragments/${_KARCH}/"*.conf
+ else
+ install -D -m 0644 "${_KCONFIG}" .config
+ fi
+ make -s ARCH="${_KARCH}" oldconfig
+}
+
prepare(){
+ #_kernel_prepare
+
mkdir -p "${srcdir}/src/${_gh_org}"
for i in agent ksm-throttler proxy runtime shim; do
rm -rf "${srcdir}/src/${_gh_org}/${i}"
@@ -45,10 +105,36 @@ prepare(){
done
}
+_kata_image_build(){
+ # rootfs and initrd build (it's horrid, but somewhat works)
+ _ROOTFS_DIR="${srcdir}/osbuilder-${_pkgver}/rootfs-builder/rootfs"
+
+ # build rootfs
+ install -D -m 0644 "${srcdir}/rootfs-builder-config.sh" "${srcdir}/osbuilder-${_pkgver}/rootfs-builder/archlinux/config.sh"
+ install -D -m 0644 "${srcdir}/rootfs-builder-lib.sh" "${srcdir}/osbuilder-${_pkgver}/rootfs-builder/archlinux/rootfs_lib.sh"
+
+ cd "${srcdir}/osbuilder-${_pkgver}/rootfs-builder"
+ GOPATH="${srcdir}" AGENT_SOURCE_BIN="${srcdir}/src/${_gh_org}/agent/kata-agent" ROOTFS_DIR="${_ROOTFS_DIR}" ./rootfs.sh archlinux
+
+ # rootfs image (need to bypass root requirement somehow)
+ cd "${srcdir}/osbuilder-${_pkgver}/image-builder"
+ ./image_builder.sh "${_ROOTFS_DIR}"
+
+ # initrd
+ cd "${srcdir}/osbuilder-${_pkgver}/initrd-builder"
+ ./initrd_builder.sh "${_ROOTFS_DIR}"
+}
+
build(){
cd "${srcdir}/src/${_gh_org}/agent"
GOPATH="${srcdir}" LDFLAGS="" make
+ # kernel build
+ #cd "${srcdir}/linux-${_kata_kernel_ver}"
+ #make -s ARCH="${_KARCH}"
+
+ #_kata_image_build
+
for i in ksm-throttler proxy runtime shim; do
echo "Building kata-${i}…"
cd "${srcdir}/src/${_gh_org}/${i}"
@@ -61,12 +147,34 @@ package_kata-agent(){
GOPATH="${srcdir}" make install DESTDIR="${pkgdir}" BINDIR="/usr/bin" PKGLIBEXECDIR="/usr/lib/kata-containers" LIBEXECDIR="/usr/lib"
}
+package_kata-containers-image(){
+ #install -D -m 0644 "${srcdir}/osbuilder-${_pkgver}/image-builder/kata-containers.img" "${pkgdir}/usr/share/kata-containers/kata-containers-image_archlinux_${pkgver%%~*}_agent_git.img"
+ install -D -m 0644 "${srcdir}/osbuilder-${_pkgver}/initrd-builder/kata-containers-initrd.img" "${pkgdir}/usr/share/kata-containers/kata-containers-initrd_archlinux_${pkgver%%~*}_agent_git.initrd"
+ cd "${pkgdir}/usr/share/kata-containers"
+ #ln -sf "kata-containers-image_archlinux_${pkgver%%~*}_agent_git.img" "kata-containers.img"
+ ln -sf "kata-containers-initrd_archlinux_${pkgver%%~*}_agent_git.initrd" "kata-containers-initrd.img"
+}
+
package_kata-ksm-throttler(){
cd "${srcdir}/src/${_gh_org}/ksm-throttler"
GOPATH="${srcdir}" make install DESTDIR="${pkgdir}" BINDIR="/usr/bin" PKGLIBEXECDIR="/usr/lib/kata-containers" LIBEXECDIR="/usr/lib"
install -d -m 0755 "${pkgdir}/var/lib/vc/{firecracker,sbs,uuid}"
}
+package_kata-linux-container(){
+ install -D -m 0644 "${srcdir}/linux-${_kata_kernel_ver}/vmlinux" "${pkgdir}/usr/share/kata-containers/vmlinux-${_kata_kernel_ver}.container"
+ cd "${pkgdir}/usr/share/kata-containers"
+ ln -sf "vmlinux-${_kata_kernel_ver}.container" vmlinux.container
+ if [ "${_KARCH}" = "powerpc" ]; then
+ ln -sf "vmlinux-${_kata_kernel_ver}.container" "vmlinuz-${_kata_kernel_ver}.container"
+ ln -sf "vmlinuz-${_kata_kernel_ver}.container" vmlinuz.container
+ else
+ # param out bzImage for other archs?
+ install -D -m 0644 "${srcdir}/linux-${_kata_kernel_ver}/arch/${_KARCH}/boot/bzImage" "${pkgdir}/usr/share/kata-containers/vmlinuz-${_kata_kernel_ver}.container"
+ ln -sf "vmlinuz-${_kata_kernel_ver}.container" vmlinuz.container
+ fi
+}
+
package_kata-proxy(){
cd "${srcdir}/src/${_gh_org}/proxy"
GOPATH="${srcdir}" make install DESTDIR="${pkgdir}" BINDIR="/usr/bin" PKGLIBEXECDIR="/usr/lib/kata-containers" LIBEXECDIR="/usr/lib"