Commit Graph

92 Commits

Author SHA1 Message Date
Bruce Ashfield
d0ef2f0bf7 busybox: add initrd variant
Add a busybox variant that inherits almost all of its support from
the core busybox recipe, but adds configuration values that are
appropriate to be used in an initrd.

In particular:

  - we build busybox statically
  - we enable runlevel and init functionality
  - mdev is always enabled
  - applet install support is enabled

Signed-off-by: Bruce Ashfield <bruce.ashfield@xilinx.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-09-22 15:51:13 -04:00
Bruce Ashfield
ff06d54434 runx: add additional dependencies
There are some missing dependencies for a fully functional runx
host. We add them here.

Signed-off-by: Bruce Ashfield <bruce.ashfield@xilinx.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-09-22 15:50:59 -04:00
Chandana kalluri
b5e6a0d0af runx: Fix linux kernel versions referenced in the recipe
Fix the linux kernel versions referenced in the recipe. For ease of use, add
variables KERNEL_SRC_VER and KERNEL_URL_VER that can be used to udpate the
linux versions.

Signed-off-by: Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-08-12 22:37:24 -04:00
Bruce Ashfield
73fff50578 runx: update to v5.4 kernel
Updating to the tip of the runx repository. This brings in some build
changes, as well as introducing the v5.4 kernel.

Our patches for cross compilation need to be tweaked to the new
structure, as well as the install task to pickup the new location
of some files.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-06-18 10:44:59 -04:00
Sai Hari Chandana Kalluri
1c32ed6a9a busybox_vmsep.inc: busybox changes for runx support
Runx needs busybox static binary that contains symlinks to mount.  However, in
zeus, busybox by default uses BUSYBOX_SPLIT_SUID = 1.  With the variable set,
busybox binary gets split into two busybox.suid and busybox.nosuid busybox.suid
contains links to mount while runx recipes pulls in busybox.nosuid.

When vmsep is enabled, set BUSYBOX_SPLIT_SUID = 0 so that an unstripped busybox
binary is generated which contains all the required links including mount.

Signed-off-by: Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-05-02 11:09:32 -04:00
Bruce Ashfield
f3faf9f1ad runx: change xen-xl to xen-tools-xl
The package name for xen-xl has changed, so we need to update the
runx rdepends .. or we are unbuildable.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-05-02 11:02:06 -04:00
Jaewon Lee
f1e768dfdf sysvinit-inittab_xen: Using getty wrapper to minimize console messages
Previously the following message was printed on the console every 5
minutes:
INIT: Id "X0" respawning too fast: disabled for 5 minutes

Installing and using a getty-wrapper that will check for the hypervisor
(hvc0) device and if not present, will call sleep

Signed-off-by: Jaewon Lee <jaewon.lee@xilinx.com>
Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-03-30 10:37:05 -04:00
Ming Liu
db8e3306db runx: drop distro_features_check
distro_features_check bbclass is deprecated, inherit features_check
instead.

Signed-off-by: Ming Liu <ming.liu@toradex.com>
2020-03-15 12:46:19 -04:00
Sai Hari Chandana Kalluri
bbe5243156 runx: Clean up recipe by removing go integration
Remove the placeholder code for go console integration.
Pin the recipe to use the latest commit and copy additional scripts needed at runtime.
Inlcude socat, daemonize and gobuild as required dependencies.

Signed-off-by: Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-03-15 12:43:15 -04:00
Sai Hari Chandana Kalluri
2576408b2f rename libxcrypt.bbappend to libxcrypt_%.bbappend
Rename bbappend file so that bitbake finds the right recipe. Else during parse
time, a dangling bbappend warning is generated.

Signed-off-by: Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-03-15 12:43:14 -04:00
Bruce Ashfield
908807cea6 libxycrypt: build static libraries if 'vmsep' is in distro_features
If vmsep is a distro feature, we need to allow the static libraries to
be built (so we remove --diable-static). Without this, busybox cannot
be statically built and we can't (easily) use it as part of an initrd.

Signed-off-by: Bruce Ashfield <bruce.ashfield@xilinx.com>
2020-03-11 12:20:04 -04:00
Bruce Ashfield
40f158dbf8 busybox: vmsep distro feature modifications
If "vmsep" is in distro features, we need to configure busybox
as a static build. This allows for it to be used as party of an
initrd.

We also ensure that the installer support is added to busybox, so
it can be installed to the initrd via: busybox --install

Signed-off-by: Bruce Ashfield <bruce.ashfield@xilinx.com>
2020-03-11 12:20:04 -04:00
Bruce Ashfield
4ff05c1bc7 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>
2020-03-11 12:20:04 -04:00
Bruce Ashfield
56c3ce96a2 initscripts: make DISTRO_FEATURE safe
The initscripts bbappend should only activate when virtualization is
in distro features.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-01-22 16:05:31 +00:00
Bruce Ashfield
95b848f219 containers/go/build: don't override global package strip flags
When the go-lang container recipes were first created there were issues
with strip and the resulting binaries. As such, strip was inhibited for
the various packages.

This variable is now set in the default classes, and tests show that
strip works on the binaries (saving up to 2M on disk for some binaries)
with no runtime issues found.

So we drop our explicit set of the inhibit and let the build proceed
by the defaults.

If issues are found, we can re-enable the setting or bbappends can
turn it back on for builds showing issues.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-07-22 14:48:07 +00:00
Bruce Ashfield
abcdb5841d Revert "sysvinit-inittab_xen.inc: fix hypervisor console"
Temporarily reverting this commit, since it has broken some Xen boot
usecases. We'll revisit this in the future.

This reverts commit 50cdecca7b.
2019-04-12 10:53:56 -04:00
Manjukumar Matha
50cdecca7b sysvinit-inittab_xen.inc: fix hypervisor console
This commit switches over to using existing SERIAL_CONSOLES mechanism
for hvc0 inittab entry generation.  This then results in
/bin/start_getty wrapper being used, which avoids the getty failure seen
when running a xen capable rootfs natively on linux.

Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-03-24 23:14:04 -04:00
Bruce Ashfield
d9c64d8aa0 kata: WIP
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-11-05 10:22:54 -05:00
He Zhe
cea8ca7c9c lxc: Make named avoid listening on lxc network interface
lxc-net wants to take care of DNS itself using dnsmasq, while named in
bind does the same thing on all network interfaces by default and causes
the following error.

dnsmasq: failed to create listening socket for 10.0.3.1: Address already in use
Failed to setup lxc-net.

Signed-off-by: He Zhe <zhe.he@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-09-11 16:06:11 -04:00
Armin Kuster
d4182f50f1 Refactor to conform to YP Compat requirements
This prevents the signature from being modified

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-04-23 12:38:50 -04:00
Armin Kuster
7d2ee2dfa2 sysvinit: fix DISTRO decode
the yocto-check-layer failed with:

      Dependency on variable DISTRO_FEATURES_LIBC was added
      Variable do_install value changed:
      @@ -32,3 +32,7 @@
               done
               echo "" >> ${D}${sysconfdir}/inittab
           fi
      +	if echo "${DISTRO_FEATURES}" | grep -q 'xen'; then
      +		echo "" >> ${D}${sysconfdir}/inittab
      +		echo "X0:12345:respawn:/sbin/getty 115200 hvc0" >> ${D}${sysconfdir}/inittab
      +	fi

used idea from meta-selinux

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-04-17 13:57:28 -04:00
Bruce Ashfield
bd4c908b46 runv: add rdepends on hyperstart
runv needs a kernel and initrd as part of its startup. The tested
configuration for these is hyperstart, so we add it to the rdepends
to ensure it is installed.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-11-15 15:49:27 -05:00
Bruce Ashfield
b7febd5592 virtualization: runv: Hypervisor-based Runtime for OCI
Introducing runv, which is a Hypervisor-based Runtime for OCI.

runV is compatible with OCI. However, due to the difference between
hypervisors and containers, the following sections of OCI don't apply to runV:

 - Namespace
 - Capability
 - Device
 - linux and mount fields in OCI specs are ignored
 - Hypervisor

The current release of runV supports the following hypervisors:

 - KVM (QEMU 2.1 or later)
 - KVM (Kvmtool)
 - Xen (4.5 or later)
 - QEMU without KVM (NOT RECOMMENDED. QEMU 2.1 or later)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-10-02 09:16:07 -04:00
Chris Patterson
cb16321ca6 base-files: remove bbappend hacking on fstab
This approach breaks images which have Xen in DISTRO_FEATURES,
but are not booting under Xen (and mounting /proc/xen fails).

xencommons, xendriverdomain, or proc-xen.mount should take care of
mounting /proc/xen.

Signed-off-by: Chris Patterson <pattersonc@ainfosec.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2016-07-04 00:24:35 -04:00
Mark Asselstine
2522803277 bbappend: switch to use a wildcard beyond major version
Using a wildcard will simplify things when using meta-virtualization
against different yocto or oe branches and prevent having to make
future updates to keep in step with package uprevs.

The changes found within these bbappend tend to be generic and
non-version specific, thus safe for 'porting' via wildcard.

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2015-09-08 09:59:36 -04:00
Paul Gortmaker
21391597e1 busybox: make append version independent
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2015-02-19 13:12:16 -05:00
Bruce Ashfield
142477933d busybox: update bbappend to match oe-core master
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2014-02-05 14:17:42 -05:00
Philip Tricca
851a4ae2ce base-files: add xenfs entry to fstab if xen DISTRO_FEATURE is enabled
Xen handles mounting xenfs with an init script. Unfortunately this
script is the same one that starts xenstored and xenconsoled. That's
great for dom0 but a domU may need xenfs but running xenstored/
xenconsoled in a domU makes no sense. A simple fstab entry is
preferrable.

Signed-off-by: Philip Tricca <flihp@twobit.us>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2013-12-04 01:36:19 -05:00
Riku Voipio
8e7d3cc8ae fix inittab install when Xen not in DISTRO_FEATURES
With the latest patch, OE builds may file like:

https://ci.linaro.org/jenkins/job/openembedded-armv7ab-rootfs/gcc_version=4.8,label=oe_persistent_cloud,rootfs=minimal/127/consoleText

By having the "failing" grep within the if block, set -e
in shell code will not bite configurations where meta-virtualization
is included but xen is not in DISTRO_FEATURES.

Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2013-11-13 12:52:46 -05:00
Philip Tricca
38a09562ec xen: Add getty to inittab for login on Xen serial console.
It's not pretty but the mechanisms in sysvinit-inittab assume the
console device name is tty*. The Xen console device doesn't meet
this criteria.

Signed-off-by: Philip Tricca <flihp@twobit.us>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2013-11-07 15:31:05 -05:00
Paul Barrette
6c021c05d0 initscripts: fix do_install_append rule.
Fix commit ID: cafc94c4a2
The above commit missed a redirect for the final closing
bracket.

Signed-off-by: Paul Barrette <paul.barrette@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2013-11-04 16:23:00 -05:00
Paul Barrette
cafc94c4a2 initscripts: add warning and begin functions to lsb_log_message
Some init scripts call a "begin" or "warning" function to log early init
phase messages, e.g. openvswitch-controller.  These functions are not
part of the default /etc/init.d/functions script, which is provided by
oe-core's lsb pkg.  Append these two missing commands to
/etc/init.d/functions during the install phase.

Signed-off-by: Paul Barrette <paul.barrette@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2013-10-29 23:08:06 -04:00
David Nyström
19cb3d6615 busybox: Add getopt since lxc templates require it
Signed-off-by: David Nyström <david.nystrom@enea.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2013-10-03 22:39:26 -04:00
Chris Patterson
3cd1544d73 busybox: migrate from defconfig to config fragments.
Signed-off-by: Chris Patterson <cjp256@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2013-09-06 00:39:55 -04:00
Bruce Ashfield
64f44848c0 busybox: remove SRC_URI reference to awk -F patch
The commit "busybox: remove awk -F patch" missed the SRC_URI
update for the dropped patch.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2013-07-08 22:15:06 -04:00
Bruce Ashfield
40cba01e33 busybox: remove awk -F patch
The awk patch being carried by meta-virtualization is part of the
1.21.1 busybox release. So we can drop it from the bbappend.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2013-07-06 22:47:09 -04:00
Ting Liu
4c1c13675d busybox: Follow OE-Core update to 1.12.1 version
Signed-off-by: Ting Liu <b28495@freescale.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2013-07-05 23:41:54 -04:00
Bogdan Purcareata
ea1d9e46ad busybox awk: make -F STR interpret escape sequences
Patch implements functionality mentioned in the title and has
been applied to busybox 1.21.0. This patch is included into the
meta-virtualization layer since it provides awk functionality to
the lxc-clone command in the lxc containers package.

Signed-off-by: Bogdan Purcareata <bogdan.purcareata@freescale.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2013-05-17 09:47:32 -07:00
Mihai Prica
0d80b8bc3b busybox: updated bbappend for 1.20.2
Signed-off-by: Mihai Prica <mihai.prica@intel.com>
Signed-off-by: Raymond Danks <ray.danks@se-eng.com>
2012-11-26 16:22:02 -07:00
Raymond Danks
e1ea40e9d9 initscripts: Remove .swp file accidentally committed.
Signed-off-by: Raymond Danks <ray.danks@se-eng.com>
2012-06-27 11:12:43 -06:00
Raymond Danks
f526d9e5ad initscripts: xen initscripts utilize success and failure functions.
Signed-off-by: Raymond Danks <ray.danks@se-eng.com>
2012-06-21 15:10:23 -06:00
Raymond Danks
e76cf22362 busybox: Add mdev, cifs, advanced ps, lspci, and lsusb for xen-minimal.
Signed-off-by: Raymond Danks <ray.danks@se-eng.com>
2012-06-21 15:03:33 -06:00