meta-virtualization/recipes-core/runx/runx/0001-make-initrd-cross-install-tweaks.patch
Bruce Ashfield c1ba1497de runx: introduce xen OCI container recipe
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>
2019-12-17 17:25:31 -08:00

43 lines
1.1 KiB
Diff

From d8bd5749e6fc6e0c86a8720044ec78167bab3569 Mon Sep 17 00:00:00 2001
From: Bruce Ashfield <bruce.ashfield@xilinx.com>
Date: Mon, 16 Dec 2019 22:03:14 -0800
Subject: [PATCH] make-initrd: cross install tweaks
Signed-off-by: Bruce Ashfield <bruce.ashfield@xilinx.com>
---
kernel/make-initrd | 18 ++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-)
diff --git a/kernel/make-initrd b/kernel/make-initrd
index 4c299dc..9ef386f 100755
--- a/kernel/make-initrd
+++ b/kernel/make-initrd
@@ -16,8 +16,22 @@ mkdir -p $tmpdir/sys
mkdir -p $tmpdir/lib
mkdir -p $tmpdir/var
mkdir -p $tmpdir/mnt
-cp `which busybox` $tmpdir/bin
-$tmpdir/bin/busybox --install $tmpdir/bin
+
+
+if [ -z "$BUSYBOX" ]; then
+ BUSYBOX=`which busybox`
+fi
+cp $BUSYBOX $tmpdir/bin
+if [ -n "$CROSS_COMPILE" ]; then
+ echo "cross compiling, busybox --install emulation"
+ if [ -n "$QEMU_USER" ]; then
+ $QEMU_USER $tmpdir/bin/busybox --install $tmpdir/bin
+ else
+ echo "QEMU_USER is not defined, no binary symlinks will be available"
+ fi
+else
+ $tmpdir/bin/busybox --install $tmpdir/bin
+fi
cp $init $tmpdir/init
chmod +x $tmpdir/init
--
2.17.1