Hi Adam,

On Sun, 16 Mar 2025 10:02:42 +0800,
Adam wrote:
>
> Hello Guix!
> Recently I've read about customizing the kernel on this page
> https://guix.gnu.org/cookbook/en/html_node/Customizing-the-Kernel.html
> After reading I decided to try one of described there ways of
> providing my own kernel configuration.
> Long story short, in my configuration I disabled everything related to
> rtw89 driver
> ```
> ...
> CONFIG_RTW89=n
> CONFIG_RTW89_CORE=n
> CONFIG_RTW89_PCI=n
> CONFIG_RTW89_8851B=n
> CONFIG_RTW89_8852A=n
> CONFIG_RTW89_8852B=n
> CONFIG_RTW89_8852C=n
> CONFIG_RTW89_8851BE=n
> CONFIG_RTW89_8852AE=n
> CONFIG_RTW89_8852BE=n
> CONFIG_RTW89_8852CE=n
> ...
> ```
> And I used this code snippet to define my custom kernel package
> ```
> (define-public my-linux-package
>   (package
>     (inherit linux-libre)
>     (native-inputs
>      `(("kconfig" ,(local-file "config"))
>       ,@(alist-delete "kconfig"
>                       (package-native-inputs linux-libre))))))
> ```
> After building my package I checked the config file which is stored in
> the derivation. Unfortunately, that file had these options
> ```
> CONFIG_RTW89=m
> CONFIG_RTW89_CORE=m
> CONFIG_RTW89_PCI=m
> CONFIG_RTW89_8851B=m
> CONFIG_RTW89_8852A=m
> CONFIG_RTW89_8852B_COMMON=m
> CONFIG_RTW89_8852B=m
> CONFIG_RTW89_8852BT=m
> CONFIG_RTW89_8852C=m
> ```
> I assume that guix used default kernel configuration instead. So my
> question is - is there any way to provide my own .config file to build
> a kernel package?

kconfig inputs is not a thing now, that Cookbook entry should be updated.

Currently a ‘customize-linux’ procedure is defined in (gnu packages linux) and
should be used to define a kernel variant, you can save a defconfig and pass it
to the procedure:
--8<---------------cut here---------------start------------->8---
(customize-linux
 #:linux linux-libre
 #:defconfig
 (local-file "config"))
--8<---------------cut here---------------end--------------->8---

Please see its docstring for details.

Thanks

Reply via email to