Qubes-Builderv2 - So confused about why kernel config is not enabled when it's on in config-base

I followed the link here: Compiling dom0 kernel for notebook from source code guide and it successfully compiled, but I checked /boot/config-x.x.qubes.fc.x86_64 and /proc/config.gz and they show # CONFIG_HOTPLUG_PCI is not set even though in qubes-builderv2/artifacts/sources/linux-kernel-latest/config-base has CONFIG_HOTPLUG_PCI=y

nevermind ill just enable it hotplug pci in config-qubes

For completeness, I do not think builder will install the built version to the live system…

Did you use a particular method? I am guessing the original repository version was used.

Sorry it was because i didn’t enable hotplug pci in config-qubes file, i just forked the repo and put changes in it, and yes i rebooted to run the kernel i just installed by copying the rpm file to dom0, and then sudo dnf install linux-kernel.rpm --disable-repo=*

in the builder.yml instead of

executor:
  type: docker
  option:
  ...

i instead did local cause its in a vm already

executor:
  type: local

im not sure if this helps but i also do ssh because github doesn’t accept passwords anymore

git:
  baseurl: git@github.com:QubesOS
  prefix: qubes-
  ...

You don’t need to authenticate to a public repository.

Yes, config-base is a config taken from Fedora, and then config-qubes is applies on top of it. So, if you want to change something, do it in config-qubes

I don’t quite understand how you were able to cause this behavior. In my case, changing just one line in config-base was enough for the kernel to support the required features after building.

# CONFIG_HOTPLUG_PCI_CPCI is not set
Replace with
CONFIG_HOTPLUG_PCI_CPCI=y

Most likely, the problem lies in how you configured git.
git:
baseurl: git@github.com:QubesOS

Wouldn’t it then pull the official QubesOS repository? I don’t even understand why you even specified a git url there. You need to fork the QubesOS kernel repository, make changes to it, and just let builder download the files from there. I hope the markup doesn’t break, but my yaml config looks like this:

git:
  baseurl: https://github.com
  prefix: QubesOS/qubes-
  branch: release4.3
  maintainers:
    - '0064428F455451B3EBE78A7F063938BA42CFA724'
    - '274E12AB03F2FE293765FC06DA0434BC706E1FCF'

backend-vmm: xen
debug: true
verbose: true
qubes-release: r4.3

distributions:
  - host-fc41

components:
  - builder-rpm:
      packages: False
      branch: main
  - linux-utils
  - dracut:
      branch: main
  - linux-kernel-latest:
      url: https://github.com/MYGITHUBUSERNAME/qubes-linux-kernel
      branch: main
      timeout: 21600
      host-fc41:
        stages:
          - build:
              environment:
                MAKEFLAGS: "-j$(($(nproc) * 2))"

executor:
  type: docker
  options:
    image: "qubes-builder-fedora:latest"
    clean: True
    cpus: "0.000" 

stages:
  - fetch
  - prep
  - build
  - post
  - verify
  - sign:
      executor:
        type: local
  - publish:
      executor:
        type: local