mirror of
git://git.yoctoproject.org/meta-virtualization.git
synced 2025-07-19 20:59:41 +02:00

This is the initial version of the runX OCI wrapper to allow Xen based virtual machines to be launched and managed as containers via an OCI interface. In this first version, runx consists of the following components: - runX binary/wrapper (/usr/bin/) - state control wrappers (/usr/share/runX) - runx kernel - initrd Once built and installed these allow the launching of Xen virtual machines in an OCI compliant manner. Dependencies of this recipe include: - kernel: must be a specific version, currently 4.15. This is done as a nested build and not as a multiconfig (by design). - static target busybox: used for the initrd - initrd: constructed from the kernel + busybox The configuration of the system to build the dependencies in the right mode for use in runX is controlled via the DISTRO_FEATURE "vmsep". If this feature is missing, and runx is bitbaked, an error is thrown. Installing the "runx" package to a rootfs will install all the required support components (and dependencies). Signed-off-by: Bruce Ashfield <bruce.ashfield@xilinx.com>
87 lines
2.8 KiB
Diff
87 lines
2.8 KiB
Diff
From 7e3498ab7c375bd545de501920acffa77eb24120 Mon Sep 17 00:00:00 2001
|
|
From: Bruce Ashfield <bruce.ashfield@xilinx.com>
|
|
Date: Mon, 16 Dec 2019 20:42:04 -0800
|
|
Subject: [PATCH] make-kernel: cross-compilation tweaks
|
|
|
|
Signed-off-by: Bruce Ashfield <bruce.ashfield@xilinx.com>
|
|
---
|
|
kernel/make-kernel | 41 +++++++++++++++++++++++++++++++++--------
|
|
1 file changed, 33 insertions(+), 8 deletions(-)
|
|
|
|
diff --git a/kernel/make-kernel b/kernel/make-kernel
|
|
index 33b7150..c684669 100755
|
|
--- a/kernel/make-kernel
|
|
+++ b/kernel/make-kernel
|
|
@@ -13,6 +13,7 @@ fi
|
|
|
|
kernel_stuffdir=`readlink -f kernel`
|
|
kernel_outpath=$kernel_stuffdir/out
|
|
+kernel_srcdir=$kernel_stuffdir/src
|
|
kernel_builddir=$kernel_stuffdir/build
|
|
kernel_out=$kernel_outpath/kernel
|
|
|
|
@@ -22,28 +23,52 @@ kernel_tarball="$kernel_name".tar.xz
|
|
kernel_url=https://www.kernel.org/pub/linux/kernel/v4.x/"$kernel_tarball"
|
|
kernel_src_config="$kernel_stuffdir"/cutdown-config.$ARCH
|
|
kernel_patchesdir="$kernel_stuffdir"/patches
|
|
-kernel_image="$kernel_builddir"/"$kernel_name"/arch/"$ARCH"/boot/"$image"
|
|
+kernel_image="$kernel_builddir"/arch/"$ARCH"/boot/"$image"
|
|
|
|
+echo "#########################"
|
|
+echo "kernel build summary:"
|
|
+echo " version: $kernel_version"
|
|
+echo " url: $kernel_url"
|
|
+echo " src dir: $kernel_srcdir"
|
|
+echo " out dir: $kernel_builddir"
|
|
+echo " artifacts: $kernel_out"
|
|
+echo " image: $image"
|
|
+echo " build vars: $build_vars"
|
|
+echo "#########################"
|
|
|
|
-rm -rf $kernel_outpath
|
|
+if [ ! -e "$kernel_builddir/.config" ];
|
|
+then
|
|
+ rm -rf $kernel_buildir
|
|
+fi
|
|
mkdir -p $kernel_outpath
|
|
mkdir -p $kernel_builddir
|
|
+mkdir -p $kernel_srcdir
|
|
|
|
if [[ ! -f $kernel_builddir/$kernel_tarball ]]
|
|
then
|
|
+ echo "fetching the kernel .."
|
|
wget -O $kernel_builddir/$kernel_tarball --tries=20 $kernel_url
|
|
fi
|
|
-if [[ ! -d $kernel_builddir/$kernel_name ]]
|
|
+
|
|
+if [[ ! -d $kernel_srcdir/$kernel_name ]]
|
|
then
|
|
- tar --extract --xz --touch --file="$kernel_builddir/$kernel_tarball" --directory="$kernel_builddir"
|
|
- cd $kernel_builddir/$kernel_name
|
|
+ echo "extracting the kernel ..."
|
|
+ echo " tar --extract --xz --touch --file=\"$kernel_builddir/$kernel_tarball\" --directory=\"$kernel_srcdir\""
|
|
+ tar --extract --xz --touch --file="$kernel_builddir/$kernel_tarball" --directory="$kernel_srcdir"
|
|
+ cd $kernel_srcdir/$kernel_name
|
|
for i in $kernel_patchesdir/*
|
|
do
|
|
patch -p1 < $i
|
|
done
|
|
- cp $kernel_src_config .config
|
|
fi
|
|
-cd $kernel_builddir/$kernel_name
|
|
-make -j4 $image
|
|
+if [[ ! -f $kernel_builddir/.config ]]
|
|
+then
|
|
+ cp $kernel_src_config $kernel_builddir/.config
|
|
+fi
|
|
+cd $kernel_srcdir/$kernel_name
|
|
+
|
|
+echo "building the kernel ..."
|
|
+eval make O=$kernel_builddir $build_vars oldconfig
|
|
+eval make -j4 O=$kernel_builddir $build_vars $image
|
|
|
|
cp $kernel_image $kernel_out
|
|
--
|
|
2.17.1
|
|
|