<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/meta-virtualization.git/recipes-kernel, branch master-next</title>
<subtitle>Mirror of git.yoctoproject.org/meta-virtualization</subtitle>
<id>https://git.enea.com/cgit/linux/meta-virtualization.git/atom?h=master-next</id>
<link rel='self' href='https://git.enea.com/cgit/linux/meta-virtualization.git/atom?h=master-next'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/'/>
<updated>2026-03-12T19:06:40+00:00</updated>
<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>
<entry>
<title>kernel: consolidate kernel configuration options</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-10T15:23:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=c25486a365370dd32e26fbf01cced7ec5f3106cc'/>
<id>urn:sha1:c25486a365370dd32e26fbf01cced7ec5f3106cc</id>
<content type='text'>
Move from the meta-virt hosted fragments to common fragments
that are in the kernel-cache.

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>yocto-cfg-fragments: update to 6.18-tip</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-10T15:21:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=ccb5d2124a9e2b1a786dd19824e7eebad9ecedc7'/>
<id>urn:sha1:ccb5d2124a9e2b1a786dd19824e7eebad9ecedc7</id>
<content type='text'>
In particular we pick up the consolidated container configuration
options.

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>kernel: drop 6.10, 6.16 and 6.17 support</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-10T15:19:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=abfb05a322cf25bb4b2593db5c3d021b69eb233a'/>
<id>urn:sha1:abfb05a322cf25bb4b2593db5c3d021b69eb233a</id>
<content type='text'>
These kernels are EOL upstream and in OE core. Dropping
their enablement in meta-virt.

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>linux-yocto: add iptables legacy kernel config for Docker</title>
<updated>2026-02-09T03:34:12+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2026-01-23T20:22:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=d72d1f13c2644d072057cd3367360198d4cfe0f4'/>
<id>urn:sha1:d72d1f13c2644d072057cd3367360198d4cfe0f4</id>
<content type='text'>
Kernel 6.18+ split iptables into legacy/nftables backends. Docker
requires the legacy iptables support, so add the kernel configuration
for the full dependency chain:

- CONFIG_NETFILTER_XTABLES_LEGACY=y
- CONFIG_IP_NF_IPTABLES_LEGACY=m
- CONFIG_IP_NF_FILTER=m
- CONFIG_IP_NF_NAT=m
- CONFIG_IP_NF_TARGET_MASQUERADE=m

Without these, Docker's iptables rules fail to load on 6.18+ kernels.

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