Skip to content

This page needs urgent updating! It can lead to serious frustration and problems. #74

@BooniChan

Description

@BooniChan

To whom it may concern,

There needs to be some included information in this page as to avoid errors and lots of frustration.

1 - It needs to state what can't be removed whilst configuring the kernel as not to break the build.
For example: In my journey to compile the kernel, I disabled debugging as I don't need it. Only to get an error after over 1hour compiling about BTF. I figured out that this has to do with debugging being disabled(even though it used to be acceptable, even in older guides) but I couldn't find any documentation anywhere how to make debain/rules binary skip the debugging. I read the scripts, read the whatever docs I Could find in the kernel, but there is barely any information on how to switch variables on/off and stuff like this, in the end, I had to re-enable debugging.
Solution: Either state that debugging is mandatory for debian/rules binary or state the proper way to disable it. (and of course any other mandatory options, since people are configuring their own kernel in this guide)

2 - Lack of documentation on options for your programs/scripts which ties with 1. For example, nowhere in this page is mentioned the options available for debian/scripts other than editconfigs and binary. No mention of binary-generic binary-perarch binary-headers etc etc, but more importantly:

3- doing debian/rules printenv shows a bunch of options, which reading some of the scripts I figured what they do, but no where is again explained how to change the variables and at which point(I figured some of them can be changed from debian.master). This could most probably solve the disabling debug issue too.

The debian/rules way of building the a custom kernel is great and from the looks of it it has quite a lot of customization options, and once it works it gives you ready made packages to install without issues, but that is pointless if there is no documentation showing these options and how to use them at all. Or if these docs exist, something should point to them on this page on how to build your own custom kernel.
I scoured the internet for hours trying to gather pieces of information from here and there, and still don't have the knowledge of all the options.

P.S: I wanted to edit the page myself to add some of the things I discovered for other users, but it's not a simple wiki page and it's more time consuming for someone who's not an editor on here.
P.S This is not my first time building a kernel, just my first time doing it with the debian/rules method described on this page. I'm coming from arch linux and had to use ubuntu for some time to test some things so I wanted to help in sharing this info of problems/suggestions.

Regards,


Reported from: https://canonical-kernel-docs.readthedocs-hosted.com/latest/how-to/develop-customise/build-kernel/

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions