<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/meta-virtualization.git/recipes-kernel, branch master</title>
<subtitle>Mirror of git.yoctoproject.org/meta-virtualization</subtitle>
<id>https://git.enea.com/cgit/linux/meta-virtualization.git/atom?h=master</id>
<link rel='self' href='https://git.enea.com/cgit/linux/meta-virtualization.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/'/>
<updated>2026-06-12T02:58:55+00:00</updated>
<entry>
<title>linux-yocto: add CONFIG_SCHED_CORE for LXC 7.0</title>
<updated>2026-06-12T02:58:55+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2026-06-05T17:03:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=0a8f6562aae253771109582caf154b3a8ccc02bc'/>
<id>urn:sha1:0a8f6562aae253771109582caf154b3a8ccc02bc</id>
<content type='text'>
LXC 7.0.0 requires core scheduling support (CONFIG_SCHED_CORE) and
aborts container startup with "The kernel does not support core
scheduling" when it is missing. This is a new hard requirement —
previous LXC versions treated it as optional.

Add lxc-extra.cfg fragment unconditionally (alongside the existing
lxc.scc from the kernel cache) since any build with the virtualization
DISTRO_FEATURE may use LXC containers via incus or directly.

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>vpdmn: switch to nftables and add kernel config for netavark</title>
<updated>2026-06-04T15:41:18+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2026-06-04T15:41:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=c4f354d38b84f3f2db4875470442db702c47edba'/>
<id>urn:sha1:c4f354d38b84f3f2db4875470442db702c47edba</id>
<content type='text'>
Netavark dropped iptables support entirely and now uses nft directly
for firewall rules (masquerade, DNAT, connection tracking). The vpdmn
rootfs had iptables installed but the vruntime kernel had
CONFIG_NF_TABLES disabled, causing netavark to fail at runtime with
"Protocol not supported" when trying to initialize the nftables
Netlink socket.

Replace iptables with nftables in vpdmn-rootfs-image IMAGE_INSTALL
and add container-net.cfg kernel config fragment enabling NF_TABLES,
NFT_MASQ, NFT_NAT, NFT_CT, NFT_FIB and related options required by
netavark's nftables firewall driver.

The fragment is gated on the vcontainer DISTRO_FEATURE so it only
applies to vruntime/vcontainer kernels, not arbitrary builds that
happen to include meta-virtualization.

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>lopper: update to v1.4.2-tip</title>
<updated>2026-06-03T02:21:37+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2026-06-03T02:21:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=3d2f6026b75fe6fdf6550342e91a24a93c9ebd1b'/>
<id>urn:sha1:3d2f6026b75fe6fdf6550342e91a24a93c9ebd1b</id>
<content type='text'>
Bumping lopper to version v1.4.2-23-g0c3cfa9, which comprises the following commits:

    0c3cfa9 lopper: assists: zephyr: Drop bootph-all property from generated domain DTS
    fdc4cea tests: regression coverage for domain-to-domain /axi node survival
    ee83fa1 tests: regression coverage for child_nodes deserialization in overlays
    86fa315 tree: coerce comment prop values in resolve() to handle libfdt variants
    3263e49 lopper: narrow is_overlay_file() to true /plugin/; overlays
    180c06d overlay: store fixup refs as (label, rel_path) tuples, not abs_paths
    f484b0d overlay: defer phandle resolution to build time via _resolve_overlay_fixups
    cbbc26e lopper:assists:baremetal_xparameters_xlnx: Refactor DDRMC5 property extraction to use target node instead of axi_noc2 nodes
    3dbcf83 base: phandle_safe_name: replace all invalid label characters
    79b7c0e lopper:assist:baremetal_validate_comp_xlnx: Fix srec_spi_bootloader build failure on Spartan US+ OSPI-enabled design
    fe54df3 assists: xlnx_overlay_pl_dt: Move amba_pl to amba rename after overlay tree construction
    f3e0808 Add per-hart interrupts for RISCV
    b7c6fd6 overlay: fix child_nodes deserialization in multi-pass lopper invocations
    b2a5280 Revert "lopper:assists:baremetallinker_xlnx: Fix default DDR selection for Microblaze RISC-V to prefer BRAM"
    ae0f2da gen_domain_dts: Add riscv,timer node generation
    59b00b5 lopper:assists:baremetallinker_xlnx: Fix default DDR selection for Microblaze RISC-V to prefer BRAM
    612ebb1 lopper:assists:baremetal_xparameters_xlnx: Add DDRMC5_I2C_MASTER and DDRMC5_DEBUG_ELF defines
    49a6270 baremetalconfig_xlnx: fix clocks single-cell offset; optional prop first int
    0f0b55b baremetal: Add lpddrmc to valid memory IP list
    375bcee lopper: assists: zephyr: Fix UFS clock-name and clocks assignment
    008897f lopper: assists: xlnx_overlay_pl_dt: exclude address-map property from overlay
    9fc81f9 lops/%.yaml.lop: register OpenAMP domain-to-domain phandle properties
    a046513 domain_access: fix step 2c to scan full subnode depth and mark parent chain

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>yocto-cfg-fragments: update to v6.18-tip</title>
<updated>2026-06-02T23:50:53+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2026-06-02T23:50:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=42ee0b9f996745a88a8dddd8c9ddb0f733d77c28'/>
<id>urn:sha1:42ee0b9f996745a88a8dddd8c9ddb0f733d77c28</id>
<content type='text'>
Bumping yocto-kernel-cache to latest, which comprises the following commits:

    6d012fbc amd-versal-gen2: add scc and cfg files for amd-versal-gen2 platform
    68930558 amd-versal: add scc and cfg files for amd-versal platforms
    a966c892 amd-zynq: add scc and cfg files for amd-zynq platforms
    479a0d49 amd-zynqmp: add scc and cfg files for amd-zynqmp platform
    595f3493 edac: move apei configs to separate feature
    9e749529 nxp-ls1028: add scc and cfg files for nxp-ls1028 platform
    3fe9b5c1 kver: bumping to v6.18.33
    fbc4b736 microchip-pic64gx: remove the unneeded flash_fs configures
    13ebff50 nxp-imx9: Enable SND_SOC_DMIC and IMX_FLEXIO for nxp-imx9
    a5384458 bsp/intel-{x86,common}: drop CONFIG_HIGHMEM64G
    ead8bb52 qat: fix CONFIG_CRYPTO_CTS mismatch warnings
    2d12860e kver: bumping to v6.18.32
    6f2f1a2d kver: bumping to v6.18.31
    9c909f87 bsp/microchip-pic64gx: add kernel cache support for PIC64GX SoC
    4ad2f82e genericarm64.cfg: enable CONFIG_INTERCONNECT_QCOM_QCS615
    5c13eec0 genericarm64-pinctrl.cfg: enable CONFIG_PINCTRL_QCS615
    c9906354 kver: bumping to v6.18.28
    127f83ad kver: bumping to v6.18.26
    177495c1 kver: bumping to v6.18.25
    f94e250f kver: bumping to v6.18.24
    dcbc01fb kver: bumping to v6.18.23
    cdcc0ceb nxp-imx9: add arm64 BSP for the NXP i.MX9 SoC family
    450672a4 bcm-2xxx-rpi: Enable RTC for rpi
    d8f130c8 kver: bumping to v6.18.22
    8af6e86e kver: bumping to v6.18.21
    97232138 bsp/intel-x86: add support for Broadcom NetXtreme-C/E Ethernet Cards
    8d07a6ad bsp/intel-x86: add support for Broadcom MPI3 Storage Controller
    41925d8d kver: bumping to v6.18.20
    8987a1d4 nvidia-orin: enable configs for reading data from eeprom
    465cb5bc genericarm64/serial: change SERIAL_IMX_CONSOLE to =y
    899d5e6d kver: bumping to v6.18.19
    5981f920 nvidia-orin: add scc and cfg files for NVIDIA Orin platform
    1ee48237 kver: bumping to v6.18.18
    bc293057 bcm-2xxx-rpi: Fix configuration audit warnings (LEDS, BACKLIGHT)

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>kernel: skip kcfg search path injection for kernels with kernel-cache</title>
<updated>2026-03-12T19:06:40+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2026-03-12T17:50:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=c2eeba33360b0941ff2a89f44712e9212066f786'/>
<id>urn:sha1:c2eeba33360b0941ff2a89f44712e9212066f786</id>
<content type='text'>
The kcfg sysroot search path (type=kmeta) was being injected
unconditionally, which caused fragment conflicts for linux-yocto kernels
that already have their own kernel-cache meta branch. The injected
search path would roll back fragments to an older set.

Make the injection conditional and fix the root cause:

- kernel_cache_feature() now checks SRC_URI for type=kmeta entries.
  Kernels with kernel-cache get short paths (e.g. cfg/container.scc)
  that resolve directly via the kernel-cache's search path. Kernels
  without kernel-cache get the sysroot-relative ../../ paths as before.

- distro_cond_feature() now passes d.getVar('SRC_URI') instead of an
  empty string, so kernel_cache_feature() can actually see whether the
  kernel has a kernel-cache.

- SRC_URI append and inject_kcfg_search_path prefunc skip when
  type=kmeta is already present.

- Remove unused kernel_cache_cond_feature() which was the original
  conditional implementation but was never wired up.

This restores the original design intent from commit 5c212911
("allow conditional use of yocto-cfg-fragments"): kernel-cache is
the first choice for fragment resolution, sysroot is the fallback.

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>yocto-cfg-fragments: bump to -tip</title>
<updated>2026-03-12T17:43:27+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2026-03-12T17:43:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=d16110ae98c36572dbf39af487f426f60842313e'/>
<id>urn:sha1:d16110ae98c36572dbf39af487f426f60842313e</id>
<content type='text'>
    bc293057 bcm-2xxx-rpi: Fix configuration audit warnings (LEDS, BACKLIGHT)
    8ef043d5 kver: bumping to v6.18.16
    104a5c9d bcm-2xxx-rpi: Add raspberry pi5 config and add input feature by default
    9b173d3a genericarm64: drop CONFIG_PINCTRL_SM8350_LPASS_LPI
    0b1ea0e5 genericarm64.cfg: enable CONFIG_INTERCONNECT_QCOM_QCS8300
    2fa1b419 genericarm64-pinctrl.cfg: enable CONFIG_PINCTRL_QCS8300
    53f6a3a8 kver: bumping to v6.18.13
    98a36302 cfgs/nfc: create an intel-nfc-vendor specific feature
    6350b56a netfilter.cfg: enable NF_CONNTRACK_SNMP
    a425fdd0 pmem.cfg: enable DEV_DAX and DEV_DAX_HMEM
    70eeaeff genericarm64.scc: enable TRANSPARENT_HUGEPAGE support
    d62a1267 security-arm64.cfg: rename CFI_CLANG to CFI
    b925ef94 security-arm64.cfg: correctly enable KASAN
    1fdb98a4 security-arm64.cfg: add comment for ARM64_BTI_KERNEL
    6d8bf6f0 security.cfg: move RANDOMIZE_MEMORY to x86_64
    18fcb6dc arm.scc: move ARM_CPUIDLE to arm only
    7e1d9b2b numa_x86_64.scc: move x86_64 config from numa.cfg to numa_x86_64.cfg
    e93e999e sound.cfg: split SND_SOC_WM8731 to I2C and SPI variants
    5a567776 sound_x86.scc: take over x86 configs from sound.scc
    1ae7ce94 genericarm64.cfg: enable MTD NAND ECC support
    15d48f71 genericarm64.cfg: enable TI MTD NAND support
    40a67254 genericarm64-serial.cfg: set SERIAL_8250_CONSOLE to y
    5ee6148e qemu-kvm.cfg: remove extra space
    9f780417 firmware.cfg: whitespace fixes
    bc221187 genericarm64.cfg: fix CONFIG_PM_DEVFREQ_EVENT
    aef69bf3 Revert "genericarm64.scc: enable OP-TEE support"
    6f597e1a genericarm64.cfg: enable SCSI support for HiSilicon etc
    f1f313cf genericarm64.scc: enable RPMB support
    a4565911 genericarm64.scc: enable GNSS support
    391566e2 gnss.scc: add feature
    d40a455d genericarm64.cfg: enable more bus drivers
    20e41104 genericarm64.cfg: enable PCI_PASID support
    0b2967f5 genericarm64.scc: enable NFC support
    2643b37e nfc-vendor.scc: move Intel configs to nfc-vendor-intel.cfg
    b1d00b01 genericarm64.scc: enable RFKILL LED, INPUT and GPIO
    92610953 rfkill-extra.scc: add fragment for RFKILL LEDs, input and GPIO support
    fc7d5f45 bluetooth.cfg: enable BT_LEDS support
    f18ec272 genericarm64.scc: enable HSR
    79fa2c17 hsr.scc: add feature for High-availability Seamless Redundancy (HSR &amp; PRP)
    1313923a genericarm64.scc: enable Time Sensitive Networking
    e190eeff intel-x86.scc: enable hibernation with feature
    c941f4ee genericarm64.scc: enable hibernation support
    ce5c6d9d hibernation.scc: add feature
    83620a7d bluetooth-usb.cfg: enable MediaTek and RealTek support
    cf6e1261 bluetooth-hw.cfg: enable BT_MTK
    ffdd0769 genericarm64.cfg: enable Microchip PHY support
    9e9536d1 features/iommu: remove CONFIG_INTEL_IOMMU_FLOPPY_WA=y
    61265288 genericarm64.cfg: enable CONFIG_QCA808X_PHY
    8e6a09c7 kver: bumping to v6.18.11

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>linux-yocto: add vxn distro feature and Xen PV kernel config</title>
<updated>2026-02-26T01:05:01+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2026-02-19T19:14:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=31367839e0c0216239c064fde344dca0dfd1b5b6'/>
<id>urn:sha1:31367839e0c0216239c064fde344dca0dfd1b5b6</id>
<content type='text'>
Add 'vxn' to DISTRO_FEATURES in vruntime.conf to enable Xen PV guest
kernel configuration. When set, linux-yocto_virtualization.inc includes
vxn.cfg which enables Xen PVH frontend drivers and the 9p Xen transport
(NET_9P_XEN). The base 9p stack comes from the existing vcontainer
feature via cfg/container.scc.

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>vxn: add Xen DomU container runtime with OCI image support</title>
<updated>2026-02-26T01:05:01+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2026-02-15T04:35:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=57d267db7878180d1ecd1936df5284550d0031c3'/>
<id>urn:sha1:57d267db7878180d1ecd1936df5284550d0031c3</id>
<content type='text'>
vxn runs OCI containers as Xen DomU guests — the VM IS the container.
No Docker/containerd runs inside the guest; the init script directly
mounts the container rootfs and execs the entrypoint via chroot.

Host-side (Dom0):
- vxn.sh: Docker-like CLI wrapper (sets HYPERVISOR=xen)
- vrunner-backend-xen.sh: Xen xl backend for vrunner
  - hv_prepare_container(): pulls OCI images via skopeo,
    resolves entrypoint from OCI config using jq on host
  - xl create for VM lifecycle (PVH on aarch64, PV on x86_64)
  - Bridge networking with iptables DNAT for port forwards
  - Console capture via xl console for ephemeral mode

Guest-side (DomU):
- vxn-init.sh: mounts container rootfs from input disk,
  extracts OCI layers, execs entrypoint via chroot
  - Supports containers with or without /bin/sh
  - grep/sed fallback for OCI config parsing (no jq needed)
  - Daemon mode with command loop on hvc1
- vcontainer-init-common.sh: hypervisor detection, head -n fix
- vcontainer-preinit.sh: init selection via vcontainer.init=

Build system:
- vxn-initramfs-create.inc: assembles boot blobs from vruntime
  multiconfig, injects vxn-init.sh into rootfs squashfs
- vxn_1.0.bb: Dom0 package with scripts + blobs
  - nostamp on install/package chain (blobs from DEPLOY_DIR
    are untracked by sstate)
- vxn.cfg: Xen PV kernel config fragment

Tested: vxn -it --no-daemon run --rm hello-world

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>kernel: drop 6.12 .inc and append</title>
<updated>2026-02-25T18:30:39+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2026-02-25T17:59:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=83b284dc58ce0fc76a33313390b3e7a8ee9c4a38'/>
<id>urn:sha1:83b284dc58ce0fc76a33313390b3e7a8ee9c4a38</id>
<content type='text'>
6.12 has been removed from OEcore, so we drop our appends
as well.

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>kernel: inject local search path to fragment processing</title>
<updated>2026-02-10T21:04:20+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2026-02-10T18:33:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=a4625a1fa2758c0d2496a898ed409b5225efdab1'/>
<id>urn:sha1:a4625a1fa2758c0d2496a898ed409b5225efdab1</id>
<content type='text'>
Inject the kcfg sysroot root into the scc search path so compound .scc
files (like container.scc) can resolve their include directives.
kernel-yocto.bbclass adds type=kmeta directories to -I includes via
find_kernel_feature_dirs/feat_dirs.

The prefunc replaces the placeholder directory with a symlink to the
kcfg sysroot so that spp can resolve include directives within
scc files that reference other fragments by relative path (e.g.
"include cfg/9p.scc" inside container.scc).

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
</feed>
