[PATCH v2 0/4] bootlinux: enable custom existing kernel tree switch

Daniel Gomez <[email protected]> Mon, 01 Dec 2025 20:14:37 +0100
Newsgroups dev.linux.lists.kdevops
Message-ID <20251201-custom-linux-9p-tree-and-mount-point-v2-0-c720a83cab91@samsung.com>
These patches enables the following workflow:

make defconfig-linux-modules-kpd LINUX_TREE_REF=v6.17
make bringup
make linux

Switch to custom modules tree at different location
./scripts/kconfig/merge_config.sh -n .config 9p_modules.config
make linux

The 9p_modules.config fragment contains:

CONFIG_BOOTLINUX_9P_HOST_PATH="/path/to/other/tree"
CONFIG_BOOTLINUX_LINUS=n
CONFIG_BOOTLINUX_CUSTOM=y
CONFIG_BOOTLINUX_TREE_CUSTOM_NAME="modules"
CONFIG_BOOTLINUX_TREE_CUSTOM_URL="/mirror/linux-modules.git"
CONFIG_BOOTLINUX_TREE_CUSTOM_REF="modules-next"

I've noticed that when a user wants to switch to another cloned tree
with a different directory name and location than the one already
configured by default, bootlinux/9p is not able to handle this change
properly. This enables 9p to be reconfigured correctly and to continue
working on the already running guest(s).

This also enables maintaining multiple kernel trees (e.g., git-worktree)
and switching between them seamlessly.

Signed-off-by: Daniel Gomez <[email protected]>
---
Changes in v2:
- Added fix for include_tasks tag inheritance issue causing clone to be skipped with --tags
- Added handling for empty kernel source directories
- Replaced ps aux grep with libvirt module for fsdev path detection
- Added UEFI/non-UEFI fallback for VM undefine operation
- Fixed XML regex
- Detect QEMU fsdev host path changes in addition to mount point changes
- Add debug output showing path comparison results at verbosity level 1
- Link to v1: https://lore.kernel.org/r/20251124-custom-linux-9p-tree-and-mount-point-v1-0-cfdd5716b43c@samsung.com

---
Daniel Gomez (4):
      bootlinux: fix 9P clone task being skipped when using --tags clone
      bootlinux: support existing kernel trees
      bootlinux: handle empty kernel source directory gracefully
      bootlinux: detect 9P configuration changes and trigger power cycle

 playbooks/roles/bootlinux/tasks/build/9p.yml       |  98 ++++++++++--
 playbooks/roles/bootlinux/tasks/main.yml           |  92 ++++++++++++
 playbooks/roles/bootlinux/tasks/power-cycle-vm.yml | 165 +++++++++++++++++++++
 3 files changed, 343 insertions(+), 12 deletions(-)
---
base-commit: 78e0a414c6ad0f792683f532bca7a35cfb7f716a
change-id: 20251124-custom-linux-9p-tree-and-mount-point-7ceee87ca3dc

Best regards,
--  
Daniel Gomez <[email protected]>