Mini-OS is a tiny OS kernel distributed with the Xen Project Hypervisor sources. It is mainly used as operating system for stub domains that are used for Dom0 Disaggregation.
The Mini-OS source tree is updated and released in coordination with Xen releases. The Mini-OS source tree and architecture-specific symbolic links are required for building the dependencies used to build Xen stubodmains. For convenience, the make links target was executed before packaging. Otherwise, this is a source package. The current build methods for Xen stubdomains require either a source archive which contains the Mini-OS source code or execution of a make target that will fetch the appropriate Mini-OS source tree from it's git repository. This recipe removes the mysticism of relating to the version of Mini-OS being used and it's origins and provides the flexibility to easily changes versions or patch as necessary. Signed-off-by: Kurt Bodiker <[email protected]> --- Changes in v2: - Mini-OS recipe introduced --- recipes-extended/xen/mini-os.inc | 28 ++++++++++++++++++++++++++++ recipes-extended/xen/mini-os_4.9.0.bb | 17 +++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 recipes-extended/xen/mini-os.inc create mode 100644 recipes-extended/xen/mini-os_4.9.0.bb diff --git a/recipes-extended/xen/mini-os.inc b/recipes-extended/xen/mini-os.inc new file mode 100644 index 0000000..61c2704 --- /dev/null +++ b/recipes-extended/xen/mini-os.inc @@ -0,0 +1,28 @@ +# Copyright (C) 2018 kebodiker <[email protected]> +# Released under the MIT license (see COPYING.MIT for the terms) + +require stubdom.inc + +# clear this out to break dependency circle +DEPENDS = "" + +do_configure() { + ${MAKE} -C ${WORKDIR}/mini-os links +} + +# Nothing to configure or compile +do_compile[noexec] = "1" + +# needed because this directory isn't typically part of a sysroot +SYSROOT_DIRS += "${prefix}/mini-os" +RDEPENDS_${PN}-dev = "perl" + +FILES_${PN}-dev = "\ + ${prefix} \ +" + +do_install() { + install -d ${D}${prefix}/mini-os + cp -r -t ${D}${prefix}/mini-os ${S}/* + rm -rf ${D}${prefix}/mini-os/scripts +} diff --git a/recipes-extended/xen/mini-os_4.9.0.bb b/recipes-extended/xen/mini-os_4.9.0.bb new file mode 100644 index 0000000..68b44d9 --- /dev/null +++ b/recipes-extended/xen/mini-os_4.9.0.bb @@ -0,0 +1,17 @@ +# Copyright (C) 2017 Kurt Bodiker <[email protected]> +# Released under the MIT license (see COPYING.MIT for the terms) + +DESCRIPTION = "Mini-OS is a tiny OS kernel distributed with the Xen Project" +HOMEPAGE = "https://wiki.xenproject.org/wiki/Mini-OS" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=8a437231894440a8f7629caa372243d0" + +# git commit hash for tags: xen-RELEASE-4.9.0, xen-RELEASE-4.9.1, xen-RELEASE-4.9.2 +SRCREV_minios = "ca013fa9baf92f47469ba1f2e1aaa31c41d8a0bb" +SRC_URI = "\ + git://xenbits.xen.org/mini-os.git;protocol=git;nobranch=1;destsuffix=mini-os;name=minios \ +" +S="${WORKDIR}/mini-os" +B="${S}" + +require mini-os.inc -- 2.14.2 -- *This email and all attachments are considered confidential and the proprietary information of BrainTrust Holdings. Unauthorized disclosure is prohibited. * -- _______________________________________________ meta-virtualization mailing list [email protected] https://lists.yoctoproject.org/listinfo/meta-virtualization
