From 5b80bfd7bffd4c20d80b7c70a7130529e9a755dd Mon Sep 17 00:00:00 2001 From: ToshikazuOhiwa Date: Mon, 30 Mar 2020 09:24:26 +0900 Subject: agl-basesystem --- .../recipes-core/bind/bind_%.bbappend | 1 + .../recipes-core/bind/bind_virtualization.inc | 4 ++ .../recipes-core/busybox/busybox/getopt.cfg | 2 + .../recipes-core/busybox/busybox/lspci.cfg | 1 + .../recipes-core/busybox/busybox/lsusb.cfg | 1 + .../recipes-core/busybox/busybox/mdev.cfg | 6 ++ .../recipes-core/busybox/busybox/mount-cifs.cfg | 1 + .../recipes-core/busybox/busybox/ps-extras.cfg | 3 + .../recipes-core/busybox/busybox_%.bbappend | 1 + .../busybox/busybox_virtualization.inc | 10 +++ .../initscripts/initscripts_1.%.bbappend | 16 +++++ .../recipes-core/kata-containers/kata-agent_git.bb | 39 ++++++++++ .../recipes-core/kata-containers/kata-proxy_git.bb | 34 +++++++++ .../kata-containers/kata-runtime_git.bb | 59 ++++++++++++++++ .../recipes-core/kata-containers/kata-shim_git.bb | 34 +++++++++ .../recipes-core/runv/runv_git.bb | 82 ++++++++++++++++++++++ .../sysvinit/sysvinit-inittab_2.%.bbappend | 1 + .../recipes-core/sysvinit/sysvinit-inittab_xen.inc | 4 ++ 18 files changed, 299 insertions(+) create mode 100644 external/meta-virtualization/recipes-core/bind/bind_%.bbappend create mode 100644 external/meta-virtualization/recipes-core/bind/bind_virtualization.inc create mode 100644 external/meta-virtualization/recipes-core/busybox/busybox/getopt.cfg create mode 100644 external/meta-virtualization/recipes-core/busybox/busybox/lspci.cfg create mode 100644 external/meta-virtualization/recipes-core/busybox/busybox/lsusb.cfg create mode 100644 external/meta-virtualization/recipes-core/busybox/busybox/mdev.cfg create mode 100644 external/meta-virtualization/recipes-core/busybox/busybox/mount-cifs.cfg create mode 100644 external/meta-virtualization/recipes-core/busybox/busybox/ps-extras.cfg create mode 100644 external/meta-virtualization/recipes-core/busybox/busybox_%.bbappend create mode 100644 external/meta-virtualization/recipes-core/busybox/busybox_virtualization.inc create mode 100644 external/meta-virtualization/recipes-core/initscripts/initscripts_1.%.bbappend create mode 100644 external/meta-virtualization/recipes-core/kata-containers/kata-agent_git.bb create mode 100644 external/meta-virtualization/recipes-core/kata-containers/kata-proxy_git.bb create mode 100644 external/meta-virtualization/recipes-core/kata-containers/kata-runtime_git.bb create mode 100644 external/meta-virtualization/recipes-core/kata-containers/kata-shim_git.bb create mode 100644 external/meta-virtualization/recipes-core/runv/runv_git.bb create mode 100644 external/meta-virtualization/recipes-core/sysvinit/sysvinit-inittab_2.%.bbappend create mode 100644 external/meta-virtualization/recipes-core/sysvinit/sysvinit-inittab_xen.inc (limited to 'external/meta-virtualization/recipes-core') diff --git a/external/meta-virtualization/recipes-core/bind/bind_%.bbappend b/external/meta-virtualization/recipes-core/bind/bind_%.bbappend new file mode 100644 index 00000000..617caccb --- /dev/null +++ b/external/meta-virtualization/recipes-core/bind/bind_%.bbappend @@ -0,0 +1 @@ +require ${@bb.utils.contains('DISTRO_FEATURES', 'virtualization', '${BPN}_virtualization.inc', '', d)} diff --git a/external/meta-virtualization/recipes-core/bind/bind_virtualization.inc b/external/meta-virtualization/recipes-core/bind/bind_virtualization.inc new file mode 100644 index 00000000..b8f0b3ff --- /dev/null +++ b/external/meta-virtualization/recipes-core/bind/bind_virtualization.inc @@ -0,0 +1,4 @@ +# Tell named not to bother listening on the IP address that lxc handles itself. +do_install_append() { + sed -i -e 's,^\( *options *{\)$,\1\n\t// lxc would take care of this address itself\n\tlisten-on { ! 10.0.3.1; any;};\n,' ${D}${sysconfdir}/bind/named.conf.options +} diff --git a/external/meta-virtualization/recipes-core/busybox/busybox/getopt.cfg b/external/meta-virtualization/recipes-core/busybox/busybox/getopt.cfg new file mode 100644 index 00000000..8dcd3504 --- /dev/null +++ b/external/meta-virtualization/recipes-core/busybox/busybox/getopt.cfg @@ -0,0 +1,2 @@ +CONFIG_GETOPT=y +CONFIG_FEATURE_GETOPT_LONG=y diff --git a/external/meta-virtualization/recipes-core/busybox/busybox/lspci.cfg b/external/meta-virtualization/recipes-core/busybox/busybox/lspci.cfg new file mode 100644 index 00000000..6458af84 --- /dev/null +++ b/external/meta-virtualization/recipes-core/busybox/busybox/lspci.cfg @@ -0,0 +1 @@ +CONFIG_LSPCI=y diff --git a/external/meta-virtualization/recipes-core/busybox/busybox/lsusb.cfg b/external/meta-virtualization/recipes-core/busybox/busybox/lsusb.cfg new file mode 100644 index 00000000..2aba6ef6 --- /dev/null +++ b/external/meta-virtualization/recipes-core/busybox/busybox/lsusb.cfg @@ -0,0 +1 @@ +CONFIG_LSUSB=y diff --git a/external/meta-virtualization/recipes-core/busybox/busybox/mdev.cfg b/external/meta-virtualization/recipes-core/busybox/busybox/mdev.cfg new file mode 100644 index 00000000..f8d6da82 --- /dev/null +++ b/external/meta-virtualization/recipes-core/busybox/busybox/mdev.cfg @@ -0,0 +1,6 @@ +CONFIG_MDEV=y +CONFIG_FEATURE_MDEV_CONF=y +CONFIG_FEATURE_MDEV_RENAME=y +CONFIG_FEATURE_MDEV_RENAME_REGEXP=y +CONFIG_FEATURE_MDEV_EXEC=y +CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y diff --git a/external/meta-virtualization/recipes-core/busybox/busybox/mount-cifs.cfg b/external/meta-virtualization/recipes-core/busybox/busybox/mount-cifs.cfg new file mode 100644 index 00000000..88f0404f --- /dev/null +++ b/external/meta-virtualization/recipes-core/busybox/busybox/mount-cifs.cfg @@ -0,0 +1 @@ +CONFIG_FEATURE_MOUNT_CIFS=y diff --git a/external/meta-virtualization/recipes-core/busybox/busybox/ps-extras.cfg b/external/meta-virtualization/recipes-core/busybox/busybox/ps-extras.cfg new file mode 100644 index 00000000..74346355 --- /dev/null +++ b/external/meta-virtualization/recipes-core/busybox/busybox/ps-extras.cfg @@ -0,0 +1,3 @@ +CONFIG_DESKTOP=y +CONFIG_FEATURE_PS_TIME=y +CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS=y diff --git a/external/meta-virtualization/recipes-core/busybox/busybox_%.bbappend b/external/meta-virtualization/recipes-core/busybox/busybox_%.bbappend new file mode 100644 index 00000000..617caccb --- /dev/null +++ b/external/meta-virtualization/recipes-core/busybox/busybox_%.bbappend @@ -0,0 +1 @@ +require ${@bb.utils.contains('DISTRO_FEATURES', 'virtualization', '${BPN}_virtualization.inc', '', d)} diff --git a/external/meta-virtualization/recipes-core/busybox/busybox_virtualization.inc b/external/meta-virtualization/recipes-core/busybox/busybox_virtualization.inc new file mode 100644 index 00000000..d9c4e677 --- /dev/null +++ b/external/meta-virtualization/recipes-core/busybox/busybox_virtualization.inc @@ -0,0 +1,10 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/busybox:" + +SRC_URI += " \ + file://lspci.cfg \ + file://lsusb.cfg \ + file://mdev.cfg \ + file://mount-cifs.cfg \ + file://ps-extras.cfg \ + file://getopt.cfg \ + " diff --git a/external/meta-virtualization/recipes-core/initscripts/initscripts_1.%.bbappend b/external/meta-virtualization/recipes-core/initscripts/initscripts_1.%.bbappend new file mode 100644 index 00000000..0600ab2a --- /dev/null +++ b/external/meta-virtualization/recipes-core/initscripts/initscripts_1.%.bbappend @@ -0,0 +1,16 @@ +do_install_append() { + + echo >> ${D}${sysconfdir}/init.d/functions + echo success \(\) \{ >> ${D}${sysconfdir}/init.d/functions + echo \ \ \ \ echo \$* >> ${D}${sysconfdir}/init.d/functions + echo \} >> ${D}${sysconfdir}/init.d/functions + echo failure \(\) \{ >> ${D}${sysconfdir}/init.d/functions + echo \ \ \ \ echo \$* >> ${D}${sysconfdir}/init.d/functions + echo \} >> ${D}${sysconfdir}/init.d/functions + echo warning \(\) \{ >> ${D}${sysconfdir}/init.d/functions + echo \ \ \ \ echo \$* >> ${D}${sysconfdir}/init.d/functions + echo \} >> ${D}${sysconfdir}/init.d/functions + echo begin \(\) \{ >> ${D}${sysconfdir}/init.d/functions + echo \ \ \ \ echo \$* >> ${D}${sysconfdir}/init.d/functions + echo \} >> ${D}${sysconfdir}/init.d/functions +} diff --git a/external/meta-virtualization/recipes-core/kata-containers/kata-agent_git.bb b/external/meta-virtualization/recipes-core/kata-containers/kata-agent_git.bb new file mode 100644 index 00000000..3632ee52 --- /dev/null +++ b/external/meta-virtualization/recipes-core/kata-containers/kata-agent_git.bb @@ -0,0 +1,39 @@ +DESCRIPTION = "Agent run inside a virtual machine, which spawns containers and processes" +HOMEPAGE = "https://github.com/kata-containers/agent" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://src/github.com/kata-containers/agent/LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" + +GO_IMPORT = "github.com/kata-containers/agent" +SRCREV = "e03f7d7453fabffb17e1540f28666c26178d3cbf" +SRC_URI = "git://${GO_IMPORT}.git \ + " + +RDEPENDS_${PN}-dev_append = "bash" + +S = "${WORKDIR}/git" + +inherit go + +do_compile() { + # Pass the needed cflags/ldflags so that cgo + # can find the needed headers files and libraries + export GOARCH=${TARGET_GOARCH} + export CGO_ENABLED="1" + export CGO_CFLAGS="${CFLAGS} --sysroot=${STAGING_DIR_TARGET}" + export CGO_LDFLAGS="${LDFLAGS} --sysroot=${STAGING_DIR_TARGET}" + + cd ${S}/src/${GO_IMPORT} + oe_runmake kata-agent +} + +do_install() { + mkdir -p ${D}/${bindir}/ + cp ${WORKDIR}/git/src/${GO_IMPORT}/kata-agent ${D}/${bindir} + + mkdir -p ${D}/${systemd_unitdir}/system + cp ${WORKDIR}/git/src/${GO_IMPORT}/kata-agent.service ${D}/${systemd_unitdir}/system +} + +deltask compile_ptest_base + +FILES_${PN} += "${systemd_unitdir}/*" \ No newline at end of file diff --git a/external/meta-virtualization/recipes-core/kata-containers/kata-proxy_git.bb b/external/meta-virtualization/recipes-core/kata-containers/kata-proxy_git.bb new file mode 100644 index 00000000..8de0bfcf --- /dev/null +++ b/external/meta-virtualization/recipes-core/kata-containers/kata-proxy_git.bb @@ -0,0 +1,34 @@ +DESCRIPTION = " Kata Containers stdio proxy component" +HOMEPAGE = "https://github.com/kata-containers/proxy" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://src/github.com/kata-containers/proxy/LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" + +GO_IMPORT = "github.com/kata-containers/proxy" +SRCREV = "1148847739f9a9f47b92e34e4f309dc109d4dba9" +SRC_URI = "git://${GO_IMPORT}.git \ + " + +RDEPENDS_${PN}-dev_append = "bash" + +S = "${WORKDIR}/git" + +inherit go + +do_compile() { + # Pass the needed cflags/ldflags so that cgo + # can find the needed headers files and libraries + export GOARCH=${TARGET_GOARCH} + export CGO_ENABLED="1" + export CGO_CFLAGS="${CFLAGS} --sysroot=${STAGING_DIR_TARGET}" + export CGO_LDFLAGS="${LDFLAGS} --sysroot=${STAGING_DIR_TARGET}" + + cd ${S}/src/${GO_IMPORT} + oe_runmake kata-proxy +} + +do_install() { + mkdir -p ${D}/${libexecdir}/kata-containers + cp ${WORKDIR}/git/src/${GO_IMPORT}/kata-proxy ${D}/${libexecdir}/kata-containers +} + +deltask compile_ptest_base diff --git a/external/meta-virtualization/recipes-core/kata-containers/kata-runtime_git.bb b/external/meta-virtualization/recipes-core/kata-containers/kata-runtime_git.bb new file mode 100644 index 00000000..4f250f19 --- /dev/null +++ b/external/meta-virtualization/recipes-core/kata-containers/kata-runtime_git.bb @@ -0,0 +1,59 @@ +DESCRIPTION = " The Command-Line Interface (CLI) part of the Kata Containers runtime component" +HOMEPAGE = "https://github.com/kata-containers/runtime" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://src/github.com/kata-containers/runtime/LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" + +GO_IMPORT = "github.com/kata-containers/runtime" +SRCREV = "f4cf2137be58c3778d87a8ee8e258e68d1ede888" +SRC_URI = "git://${GO_IMPORT}.git \ + " +RDEPENDS_${PN}-dev_append = "bash" +RDEPENDS_${PN} = " \ + qemu \ + hyperstart \ + " + +# grpc + +S = "${WORKDIR}/git" + +inherit go + +do_compile() { + # Pass the needed cflags/ldflags so that cgo + # can find the needed headers files and libraries + export GOARCH=${TARGET_GOARCH} + export CGO_ENABLED="1" + export CGO_CFLAGS="${CFLAGS} --sysroot=${STAGING_DIR_TARGET}" + export CGO_LDFLAGS="${LDFLAGS} --sysroot=${STAGING_DIR_TARGET}" + + cd ${S}/src/${GO_IMPORT} + oe_runmake runtime +} + +do_install() { + mkdir -p ${D}/${bindir} + cp ${WORKDIR}/git/src/${GO_IMPORT}/kata-runtime ${D}/${bindir} + + mkdir -p ${D}/${datadir}/defaults/kata-containers/ + cp ${WORKDIR}/git/src/${GO_IMPORT}/cli/config/configuration.toml ${D}/${datadir}/defaults/kata-containers/ + + sed -e 's|/usr/bin/qemu-lite-system-x86_64|/usr/bin/qemu-system-x86_64|' -i ${D}/${datadir}/defaults/kata-containers/configuration.toml + sed -e 's|/usr/share/kata-containers/vmlinuz.container|/var/lib/hyper/kernel|' -i ${D}/${datadir}/defaults/kata-containers/configuration.toml + sed -e 's|/usr/share/kata-containers/kata-containers-initrd.img|/var/lib/hyper/hyper-initrd.img|' -i ${D}/${datadir}/defaults/kata-containers/configuration.toml + sed -e 's/^\(image =.*\)/# \1/g' -i ${D}/${datadir}/defaults/kata-containers/configuration.toml + + # TODO: modify the config file for the configured kernel and fix the location of the qemu-system-binary + + # /usr/share/defaults/kata-containers/configuration.toml: file /usr/libexec/kata-containers/kata-shim does not exist + # fork/exec /usr/libexec/kata-containers/kata-proxy: no such file or directory + + #64 mknod /dev/kvm c 10 232 + #68 kata-runtime --log=/dev/stdout run --bundle /opt/container/cube-server foo + + +} + +FILES_${PN} += "${datadir}/defaults/kata-containers/*" + +deltask compile_ptest_base diff --git a/external/meta-virtualization/recipes-core/kata-containers/kata-shim_git.bb b/external/meta-virtualization/recipes-core/kata-containers/kata-shim_git.bb new file mode 100644 index 00000000..fb55a8e7 --- /dev/null +++ b/external/meta-virtualization/recipes-core/kata-containers/kata-shim_git.bb @@ -0,0 +1,34 @@ +DESCRIPTION = " Handle stdio and signals of the container process" +HOMEPAGE = "https://github.com/kata-containers/shim" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://src/github.com/kata-containers/shim/LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" + +GO_IMPORT = "github.com/kata-containers/shim" +SRCREV = "bcc35aeca3ef6fa0976005c9e93525906aefed2f" +SRC_URI = "git://${GO_IMPORT}.git \ + " + +RDEPENDS_${PN}-dev_append = "bash" + +S = "${WORKDIR}/git" + +inherit go + +do_compile() { + # Pass the needed cflags/ldflags so that cgo + # can find the needed headers files and libraries + export GOARCH=${TARGET_GOARCH} + export CGO_ENABLED="1" + export CGO_CFLAGS="${CFLAGS} --sysroot=${STAGING_DIR_TARGET}" + export CGO_LDFLAGS="${LDFLAGS} --sysroot=${STAGING_DIR_TARGET}" + + cd ${S}/src/${GO_IMPORT} + oe_runmake kata-shim +} + +do_install() { + mkdir -p ${D}/${libexecdir}/kata-containers + cp ${WORKDIR}/git/src/${GO_IMPORT}/kata-shim ${D}/${libexecdir}/kata-containers +} + +deltask compile_ptest_base diff --git a/external/meta-virtualization/recipes-core/runv/runv_git.bb b/external/meta-virtualization/recipes-core/runv/runv_git.bb new file mode 100644 index 00000000..0301dd28 --- /dev/null +++ b/external/meta-virtualization/recipes-core/runv/runv_git.bb @@ -0,0 +1,82 @@ +HOMEPAGE = "https://github.com/hyperhq/runv" +SUMMARY = "Hypervisor-based Runtime for OCI" +DESCRIPTION = "Hypervisor-based Runtime for OCI" + +SRCREV_runv = "b360a686abc6c6e896382990ef1b93ef07c7a677" +SRC_URI = "\ + git://github.com/hyperhq/runv.git;nobranch=1;name=runv \ + " + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://src/import/LICENSE;md5=4106a50540bdec3b9734f9c70882d382" + +GO_IMPORT = "import" + +PV = "0.4.0+git${SRCREV_runv}" + +inherit go +inherit goarch +inherit pkgconfig +inherit autotools-brokensep + +PACKAGECONFIG[xen] = "--with-xen,--without-xen," +AUTOTOOLS_SCRIPT_PATH = "${S}/src/import/" + +RDEPENDS_${PN} += " qemu hyperstart" + +do_compile() { + export GOARCH="${TARGET_GOARCH}" + export GOROOT="${STAGING_LIBDIR_NATIVE}/${TARGET_SYS}/go" + export GOPATH="${S}/src/import:${S}/src/import/vendor" + + # Pass the needed cflags/ldflags so that cgo + # can find the needed headers files and libraries + export CGO_ENABLED="1" + export CFLAGS="" + export LDFLAGS="" + export CGO_CFLAGS="${BUILDSDK_CFLAGS} --sysroot=${STAGING_DIR_TARGET}" + export CGO_LDFLAGS="${BUILDSDK_LDFLAGS} --sysroot=${STAGING_DIR_TARGET}" + + # link fixups for compilation + rm -f ${S}/src/import/vendor/src + ln -sf ./ ${S}/src/import/vendor/src + + mkdir -p ${S}/src/import/vendor/github.com/hyperhq/runv + + echo fff + pwd + ln -sf src/import/cli + ln -sf ../../../../api ${S}/src/import/vendor/github.com/hyperhq/runv/api + ln -sf ../../../../cli ${S}/src/import/vendor/github.com/hyperhq/runv/cli + ln -sf ../../../../lib ${S}/src/import/vendor/github.com/hyperhq/runv/lib + ln -sf ../../../../driverloader ${S}/src/import/vendor/github.com/hyperhq/runv/driverloader + ln -sf ../../../../factory ${S}/src/import/vendor/github.com/hyperhq/runv/factory + ln -sf ../../../../hyperstart ${S}/src/import/vendor/github.com/hyperhq/runv/hyperstart + ln -sf ../../../../hypervisor ${S}/src/import/vendor/github.com/hyperhq/runv/hypervisor + ln -sf ../../../../template ${S}/src/import/vendor/github.com/hyperhq/runv/template + + export GOPATH="${S}/src/import/.gopath:${S}/src/import/vendor:${STAGING_DIR_TARGET}/${prefix}/local/go" + export GOROOT="${STAGING_DIR_NATIVE}/${nonarch_libdir}/${HOST_SYS}/go" + + # Pass the needed cflags/ldflags so that cgo + # can find the needed headers files and libraries + export CGO_ENABLED="1" + export CGO_CFLAGS="${CFLAGS} --sysroot=${STAGING_DIR_TARGET}" + export CGO_LDFLAGS="${LDFLAGS} --sysroot=${STAGING_DIR_TARGET}" + + oe_runmake build-runv +} + +do_install() { + localbindir="/usr/local/bin" + + install -d ${D}${localbindir} + install -m 755 ${S}/runv ${D}/${localbindir} +} + +deltask compile_ptest_base + +FILES_${PN} += "/usr/local/bin/*" + +INHIBIT_PACKAGE_STRIP = "1" +INSANE_SKIP_${PN} += "ldflags already-stripped" diff --git a/external/meta-virtualization/recipes-core/sysvinit/sysvinit-inittab_2.%.bbappend b/external/meta-virtualization/recipes-core/sysvinit/sysvinit-inittab_2.%.bbappend new file mode 100644 index 00000000..8c088325 --- /dev/null +++ b/external/meta-virtualization/recipes-core/sysvinit/sysvinit-inittab_2.%.bbappend @@ -0,0 +1 @@ +require ${@bb.utils.contains('DISTRO_FEATURES', 'xen', 'sysvinit-inittab_xen.inc', '', d)} diff --git a/external/meta-virtualization/recipes-core/sysvinit/sysvinit-inittab_xen.inc b/external/meta-virtualization/recipes-core/sysvinit/sysvinit-inittab_xen.inc new file mode 100644 index 00000000..9d0589ce --- /dev/null +++ b/external/meta-virtualization/recipes-core/sysvinit/sysvinit-inittab_xen.inc @@ -0,0 +1,4 @@ +do_install_append() { + echo "" >> ${D}${sysconfdir}/inittab + echo "X0:12345:respawn:/sbin/getty 115200 hvc0" >> ${D}${sysconfdir}/inittab +} -- cgit 1.2.3-korg