diff options
Diffstat (limited to 'recipes-core/runx/runx_git.bb')
-rw-r--r-- | recipes-core/runx/runx_git.bb | 58 |
1 files changed, 40 insertions, 18 deletions
diff --git a/recipes-core/runx/runx_git.bb b/recipes-core/runx/runx_git.bb index 991e6e1f..831360ba 100644 --- a/recipes-core/runx/runx_git.bb +++ b/recipes-core/runx/runx_git.bb @@ -2,13 +2,19 @@ HOMEPAGE = "https://github.com/lf-edge/runx" SUMMARY = "runx stuff" DESCRIPTION = "Xen Runtime for OCI" -SRCREV_runx = "f24efd33fb18469e9cfe4d1bfe8e2c90ec8c4e93" +SRCREV_runx = "edc9350a79ede0365066c9743080e3dc6430d602" + +KERNEL_SRC_VER="linux-5.4" +KERNEL_URL_VER="v5.x" + SRC_URI = "\ - git://github.com/lf-edge/runx;nobranch=1;name=runx \ - https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.4.tar.xz;destsuffix=git/kernel/build \ + git://github.com/lf-edge/runx;nobranch=1;name=runx;protocol=https \ + https://www.kernel.org/pub/linux/kernel/${KERNEL_URL_VER}/${KERNEL_SRC_VER}.tar.xz;destsuffix=git/kernel/build \ file://0001-make-kernel-cross-compilation-tweaks.patch \ - file://0001-make-initrd-cross-install-tweaks.patch \ + file://0001-make-kernel-bump-to-v5.4.104-for-gcc10-fixes.patch \ + file://0001-make-initrd-allow-externally-provided-busybox.patch \ " + SRC_URI[md5sum] = "ce9b2d974d27408a61c53a30d3f98fb9" SRC_URI[sha256sum] = "bf338980b1670bca287f9994b7441c2361907635879169c64ae78364efc5f491" @@ -16,7 +22,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=945fc9aa694796a6337395cc291ddd8c" S = "${WORKDIR}/git" -PV = "0.1-git${SRCREV_runx}" +PV = "v1.0-git${SRCREV_runx}" inherit features_check REQUIRED_DISTRO_FEATURES = "vmsep" @@ -27,14 +33,19 @@ inherit kernel-arch # we have a busybox bbappend that makes /bin available to the # sysroot, and hence gets us the target binary that we need -DEPENDS = "busybox go-build" +DEPENDS = "busybox-initrd go-build" +DEPENDS += "resolvconf" # for the kernel build phase DEPENDS += "openssl-native coreutils-native util-linux-native xz-native bc-native" +DEPENDS += "elfutils-native" DEPENDS += "qemu-native bison-native" -RDEPENDS_${PN} += " jq bash" -RDEPENDS_${PN} += " xen-tools-xl go-build socat daemonize" +RDEPENDS:${PN} += " jq bash" +RDEPENDS:${PN} += " xen-tools-xl go-build socat daemonize" +RDEPENDS:${PN} += " qemu-system-i386 ca-certificates qemu qemu-keymaps" + +RUNX_USE_INTERNAL_BUSYBOX ?= "" do_compile() { # we'll need this for the initrd later, so lets error if it isn't what @@ -45,12 +56,12 @@ do_compile() { # building. mkdir -p ${S}/kernel/build mkdir -p ${S}/kernel/src - cp ${DL_DIR}/linux-4.15.tar.xz ${S}/kernel/build/ + cp ${DL_DIR}/${KERNEL_SRC_VER}.tar.xz ${S}/kernel/build/ # In the future, we might want to link the extracted kernel source (if # we move patches to recipe space, but for now, we need make-kernel to # extract a copy and possibly patch it. - # ln -sf ${WORKDIR}/linux-4.15 ${S}/kernel/src/ + # ln -sf ${WORKDIR}/${KERNEL_SRC_VER} ${S}/kernel/src/ # build the kernel echo "[INFO]: runx: building the kernel" @@ -71,12 +82,23 @@ do_compile() { ${S}/kernel/make-kernel # construct the initrd - echo "[INFO]: runx: constructing the initrd" - - cp ${STAGING_DIR_HOST}/bin/busybox.nosuid ${WORKDIR}/busybox - export QEMU_USER=`which qemu-${HOST_ARCH}` - export BUSYBOX="${WORKDIR}/busybox" - export CROSS_COMPILE="t" + bbnote "runx: constructing the initrd" + if [ -z "${RUNX_USE_INTERNAL_BUSYBOX}" ]; then + bbnote "runx: using external busybox" + cp ${STAGING_DIR_HOST}/bin/busybox.nosuid ${WORKDIR}/busybox + export QEMU_USER="`which qemu-${HOST_ARCH}` -L ${STAGING_BASELIBDIR}/.." + export BUSYBOX="${WORKDIR}/busybox" + export busybox="${WORKDIR}/busybox" + export CROSS_COMPILE="${TARGET_PREFIX}" + else + bbnote "runx: using internal busybox" + export CC="${CC}" + export LD="${LD}" + export CFLAGS="${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} ${CFLAGS}" + export LDFLAGS="${TOOLCHAIN_OPTIONS} ${HOST_LD_ARCH} ${LDFLAGS}" + export HOSTCFLAGS="${BUILD_CFLAGS} ${BUILD_LDFLAGS}" + export CROSS_COMPILE="${TARGET_PREFIX}" + fi ${S}/initrd/make-initrd } @@ -98,7 +120,7 @@ do_install() { deltask compile_ptest_base -FILES_${PN} += "${bindir}/* ${datadir}/runX/*" +FILES:${PN} += "${bindir}/* ${datadir}/runX/*" INHIBIT_PACKAGE_STRIP = "1" -INSANE_SKIP_${PN} += "ldflags already-stripped" +INSANE_SKIP:${PN} += "ldflags already-stripped" |