[14:35] <chilversc> how do I run the equivelent of "debian/rules genconfigs" for a single architecture?
[14:45] <chilversc> the instructions under https://help.ubuntu.com/community/Kernel/Compile seem to be out of date. I can't find debian/configs anymore as it seems to have been replaced with this new annotations system that generates configs for multiple architectures.
[15:06] <chilversc> Also, using the new "debian/rules genconfigs" how do I modify certain flags? With a ".config" file I could use use "scripts/config --disable", etc.
[15:08] <arighi> chilversc, https://discourse.ubuntu.com/t/kernel-configuration-in-ubuntu/35857
[15:08] <arighi> if you are using a kernel >= lunar
[15:09] <arighi> just edit debian.master/configs/annotations
[15:10] <chilversc> I'm trying to script out something that doesn't need manually updating, so that I can just point it at the latest mainline tag and build for a specific architecture
[15:10] <arighi> or generate your config via `make menuconfig` and then import it with `./debian/scripts/misc/annotations --arch amd64 --flavour generic --import .config` (for example for arch=amd64 and flavour generic)
[15:11] <arighi> if you have the whole .config already you can this from your script ^
[15:11] <chilversc> previously I was just using; "cp /boot/config-$(uname -r) .config; make genoldconfig; make -j$(nproc) bindeb-pkg", but that's giving me issues with the latest 6.4-rc4
[15:12] <chilversc> I suspect its a missing flag that needs to be enabled, but the build starts failing with; "warning: 'nocf_check' attribute ignored. Use '-fcf-protection' option to enable it"
[15:13] <chilversc> which doesn't happen when using "fakeroot debian/rules clean; dpkg-buildpackage -b -nc -uc -ui -d"
[15:13] <juergh> chilversc: you shouldn't use make to build the Ubuntu kernel. Results might be unexpected or it won't work at all.
[15:14] <chilversc> yup, hence why I'm trying to switch over to using debian/rules; but all the instructions on the wiki appear to be out of date?
[15:15] <juergh> most likely yes. all the docs need to be migrated to discourse (we've been told)
[15:15] <chilversc> I was looking to grab the latest mainline, generate a config for a single architecture (and override certain options), then build all the binary packages (including debug symbols) for that architecture
[15:15] <juergh> and updated and fixed and what not
[15:16] <juergh> mainline as in our Ubuntu-mainline?
[15:17] <chilversc> I was wondering if I could grab mantic's Ubuntu-gcp-6.2.0-1006.6 to get the GCP optimised options, then upgrade that to 6.4
[15:17] <chilversc> yeah, I need test out some changes that have been merged into the latest 6.4 kernel, only there's currently a bug so I also need to apply a patch from the mailing list
[15:18] <chilversc> so unfortunatly I can't use the pre-built mainline packages
[15:26] <arighi> chilversc, ok so you have your config, but the build is failing with that control flow protection error, probably a toolchain issue I'd say
[15:26] <arighi> do you have CONFIG_X86_KERNEL_IBT enabled?
[15:26] <chilversc> I don't think so,
[15:27] <chilversc> Though I did want to move over to the proper build process instead of using .config and the old make olddefconfig, hence why I'm trying to figure out using debian/rules to build, but I only want a single architecture as I've not setup for cross-compilation
[15:27] <chilversc> so make fails trying to generate configs for arm64, etc
[15:29] <chilversc> also, the base generic config from mainline isn't optimal for gcp, so there's some extra flags I need to enable, and I can't find instructions on how to do that easily within the new annotations process (without having to clone the git repository and create my own branch)
[15:31] <chilversc> in the old .config process it was as simple as running; "scripts/config --disable ...", and I was expecting something similar with the annotations system, so that I can just checkout the mainline branch, override a specific config option then generate the config for my architecture
[22:18] <arighi> chilversc, you can still produce a baseline config from annotations ("./debian/scripts/misc/annotations --arch arm64 --flavour generic --export > .config"), then do all your changes ("scripts/config --disable ...", "make menuconfig", etc.), then import the config back into annotations "./debian/scripts/misc/annotations --arch arm64 --flavour generic --import .config") and at this point you
[22:18] <arighi> can use the regular debian/rules build process