From: Efraim Flashner <efraim@flashner.co.il>
To: Pierre Neidhardt <mail@ambrevar.xyz>
Cc: guix-devel@gnu.org
Subject: Re: custom kernel config
Date: Wed, 3 Apr 2019 23:27:58 +0300 [thread overview]
Message-ID: <20190403202758.GC1203@macbook41> (raw)
In-Reply-To: <871s2iuavs.fsf@mimimi.i-did-not-set--mail-host-address--so-tickle-me>
[-- Attachment #1: Type: text/plain, Size: 2989 bytes --]
On Wed, Apr 03, 2019 at 09:49:59PM +0200, Pierre Neidhardt wrote:
> Thank you Efraim, this is awesome!
>
> Efraim Flashner <efraim@flashner.co.il> writes:
>
> > For the first one I used the #:extra-options route and compiled a list.
> > The second one I tried I created a custom kernel and left #:defconfig as
> > #f and inherited that to add a kconfig to the native-inputs.
>
> Oh, I think I had missed the #:defconfig option when I tried.
>
> > Once I read a bit more of the kernel documentation it wasn't too bad to
> > create a list of what I needed.
>
> Which documentation in particular?
Documentation/admin-guide/README.rst from inside the kernel tarball
source.
>
> > tar xf $(guix build linux-libre -S)
> > cd linux-libre<tab>
> > touch .config
> > guix environment linux-libre
> > make localmodconfig
> >
> > copy that into .config
>
> Copy what into .config?
the .config you just created at the root of the source tarball
>
> > and fix the formatting
> >
> > make localmodconfig
>
> Why fixing the formatting? How? With a second `make localmodconfig'?
>
running make localconfig spits out a bunch of pseudo-error messages
about modules that are missing in .config. If you copy that whole
message, minus the lines starting with 'WARING', into .config and
then format it as UPERCASE_OPTION=(y|m) it gives the kernel a config
that is usable for it.
so turning lines that look like:
module nouveau did not have configs CONFIG_DRM_NOUVEAU
into lines that look like:
CONFIG_DRM_NOUVEAU=m
> > if that works well enough then add "CONFIG_MODULES=y" to .config and
> > you're ready to try it out.
>
> What does CONFIG_MODULES=y change? (Not on my computer now, can't check
> in my local linux checkout.)
CONFIG_MODULES=y lets the modules be loaded and installed separately, if I
remember correctly. Either way, without it the build errors right at the
beginning of the install phase:
starting phase `install'
The present kernel configuration has modules disabled.
Type 'make config' and enable loadable module support.
Then build a kernel with module support enabled.
make: *** [Makefile:1318: modules_install] Error 1
>
> This walkthrough is invaluable in my opinion. So far I was under the
> impression that many members of the Guix community were annoyed by
> kernel compilation time and had tried to customize it, but it's really
> hard. This process would make for an excellent blog article in my
> opinion! :D
I'll try to go ahead and write it up more nicely then. Custom compiling
a kernel sounds really scary, but with Guix's rollbacks and declarative
everything it's actually not too bad.
Currently this doesn't take into account the initrd.
--
Efraim Flashner <efraim@flashner.co.il> אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2019-04-03 20:31 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-04-01 18:04 custom kernel config Efraim Flashner
2019-04-01 18:30 ` Pierre Neidhardt
2019-04-02 5:37 ` Efraim Flashner
2019-04-02 8:04 ` Pierre Neidhardt
2019-04-02 14:49 ` Efraim Flashner
2019-04-01 19:46 ` Ludovic Courtès
2019-04-02 14:50 ` Efraim Flashner
2019-04-03 8:08 ` Chris Marusich
2019-04-03 19:04 ` Efraim Flashner
2019-04-03 19:49 ` Pierre Neidhardt
2019-04-03 20:27 ` Efraim Flashner [this message]
2019-04-04 8:44 ` Chris Marusich
2019-04-07 14:36 ` Efraim Flashner
2019-04-07 17:25 ` Pierre Neidhardt
2019-04-08 14:52 ` Ludovic Courtès
2019-04-08 15:03 ` Pierre Neidhardt
2019-05-01 7:54 ` Pierre Neidhardt
2019-05-06 3:46 ` Chris Marusich
2019-05-06 8:01 ` Efraim Flashner
2019-05-06 8:34 ` Pierre Neidhardt
2019-05-01 9:31 ` Mark H Weaver
2019-05-01 14:15 ` Ludovic Courtès
2019-05-15 18:09 ` [BLOG] " Efraim Flashner
2019-05-16 11:10 ` Pierre Neidhardt
2019-05-16 19:15 ` Efraim Flashner
2019-05-16 11:48 ` Pierre Neidhardt
2019-05-16 14:29 ` Marius Bakke
2019-05-16 14:33 ` Pierre Neidhardt
2019-05-16 19:14 ` Efraim Flashner
2019-05-17 0:15 ` Mark H Weaver
2019-05-17 7:50 ` Efraim Flashner
2019-05-20 14:57 ` Ludovic Courtès
2019-05-20 17:38 ` Efraim Flashner
2019-05-21 10:07 ` Ludovic Courtès
2019-05-21 12:46 ` zimoun
2019-05-18 2:04 ` ison
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190403202758.GC1203@macbook41 \
--to=efraim@flashner.co.il \
--cc=guix-devel@gnu.org \
--cc=mail@ambrevar.xyz \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.