Building iso using custom kernel

Hi everyone, I would like to use a custom kernel while building vyos with vyos-build repo. Only change is in the “x86_64_vyos_defconfig” file.

I’ve downloaded 4.19.0 tagged kernel from vanilla repositories of kernel and build my custom kernel using build_kernel.sh. Then I’ve placed .deb packages (linux-image… and linux-headers) are placed under vyos-build/packages folder. But during “make iso” it tries to use both repository version and my custom version and gives following error:

So basically I want it to use my custom kernel while making iso, any suggestions?

If you download plain vanilla 4.19 this of course won‘t work as the versions used by debian live build won‘t match. Why you need a custom Kernel? Anything we missed? The kernel version used during ISO build is specified in data/defaults.json.

Please also keep in mind when switching versions you need to rebuild all of our 3rd party modules like I tel QAT, NIC drivers, Wireguard and Accel-PPP. See Kernel Jenkinsfile for all required Steps!

Hi @c-po thanks for answering.

I’m trying to add ndpi-netfilter functionality to vyos. According to GitHub - vel21ripn/nDPI: Open Source Deep Packet Inspection Software Toolkit we need to have following configs set in kernel config:

CONFIG_NF_CONNTRACK=m or y
CONFIG_NF_CONNTRACK_LABELS=y
CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m
CONFIG_UNUSED_SYMBOLS=y

In version 4.19.146 this config is not set “CONFIG_UNUSED_SYMBOLS”. So I’m actually trying to get a kernel with this configuration.

so my question is if I use 4.19.146 from the vanilla repo and follow the steps in kernel jenkins file should it work? Because as far as I can see, even if I place linux-image…deb package to packages folder, I see that “make iso” still downloads 4.19.146 from the repository. So I want it to use my kernel instead of repository version.

Adding this option would be quiet easy for both of us.
I took the opportunity to document how our Kernel is built (build-vyos: add instructions how to build Linux Kernel · vyos/vyos-documentation@e9171f3 · GitHub).

Please check out the updated documentation at

I hope this helps!

Hi Christian,

Thanks for the update it helped a lot. Using kernel 4.19.146 from vanilla repositories was the trick. I’ve build it with build_kernel.sh and placed to packages. Now “sudo make iso” uses the version I’ve added.

ps: not including other modules (wireguard etc.) is not causing an error in “sudo make iso”. But of course this is not the correct way of building vyos.

Best,
Hakan

Hi @mhkndo,

as long as the Kernel version stays the same there is no big issue, once it diverges errors will appear building the ISO.

Nice seeing one work on nDPI.


Christian

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.