On 2021/09/23 Thu 15:22, Srinidhi B wrote:
Hello Kai,
I'm not an expert, but will try my best to respond.
On Thu, 2021-09-23 at 22:51 +0800, Kai Liu wrote:
Hi,
While looking at boo, I noticed that the kernel and initrd of the VM workers are different for different jobs.
For example, for SLES, qemu uses the kernel and initrd under /var/cache/obs/worker/root_*/.mount/boot/kernel. But for CentOS, it uses kernel under /boot. It looks like the SLES worker even runs the exact kernel version of the target OS.
SUSE distributions (SLES, openSUSE, etc.) use the kernel-obs-build package. I don't know the exact difference between the kernel-default and the kernel-obs- build packages, but this package is what provides the /var/cache/obs/worker/* kernel and initrd for SUSE distributions.
For non-SUSE distributions, there is no kernel-obs-build package yet, as far as I'm told. OBS seems to be using some sort of a workaround to provide the kernels in the /boot/ directory of the worker host machine.
If your question is related to your private OBS instance, then if you check your /etc/sysconfig/obs-server you should find an option to define your own kernel and initrd:
https://github.com/openSUSE/open-build-service/blob/master/dist/sysconfig.ob... https://github.com/openSUSE/open-build-service/blob/master/dist/sysconfig.ob...
Thanks. My original question was related. Here in this file the kernel and initrd can be appointed. But it's a machine-wide option, means every worker VM on this machines will use the same kernel & initrd to boot. Thus you will end up building a CentOS package with SLES kernel, for example. This is what I would like to solve, by following how it's done on boo. Regards, Kai