# The Linux Kernel Configuration Series - DOTSLASHLINUX

## firasuke

Hey there, due to lack of beginner friendly guides on what options in the Linux kernel actually mean and how including/excluding them may affect userspace, I decided to write a series (and thankfully I finished it and I'm constantly updating it and improving on it) to serve as a (hopefully) solid base for those who want to compile their kernels (especially the regular desktop/laptop user).

Keep in mind that this guide was written by an enthusiast for kernel newbies (and possibly professionals who want to easily recall what certain options did or want to correct some of the information I included).

The guides can be found on:

DOTSLASHLINUX

Part 1 (Intro):

The Linux Kernel Configuration Guide Part 1

Part 2 ([*] Gentoo Linux support ---> ):

The Linux Kernel Configuration Guide Part 2

Part 3 (General setup ---> ):

The Linux Kernel Configuration Guide Part 3

Part 4 ([*] Enable loadable module support ---> ):

The Linux Kernel Configuration Guide Part 4

Part 5 ([*] Enable the block layer ---> ):

The Linux Kernel Configuration Guide Part 5

Part 6 (Processor type and features ---> ): 

The Linux Kernel Configuration Guide Part 6

Part 7 (Power management and ACPI options ---> ):

The Linux Kernel Configuration Guide Part 7

Part 8 (Bus options (PCI etc.) ---> ):

The Linux Kernel Configuration Guide Part 8

Part 9 (Executable file formats / Emulations ---> ):

The Linux Kernel Configuration Guide Part 9

Part 10 ([*] Networking support ---> ):

The Linux Kernel Configuration Guide Part 10

Part 11 (Includes a really helpful mini guide at the top to help you find out what options you need in your kernel)(Device Drivers ---> ):

The Linux Kernel Configuration Guide Part 11

Part 12 (Firmware Drivers ---> ):

The Linux Kernel Configuration Guide Part 12

Part 13 (File systems ---> ):

The Linux Kernel Configuration Guide Part 13

Part 14 (Kernel hacking ---> ):

The Linux Kernel Configuration Guide Part 14

Part 15 (Security options ---> ):

The Linux Kernel Configuration Guide Part 15

Part 16 (-*- Cryptographic API ---> ):

The Linux Kernel Configuration Guide Part 16

Part 17 ([*] Virtualization ---> ):

The Linux Kernel Configuration Guide Part 17

Part 18 (Library routines ---> ):

The Linux Kernel Configuration Guide Part 18

I'm not claiming that this the one and only guide on the internet for configuring your kernel, in fact I highly recommend that you read other guides as well once you're done with this one.

I tried my best to explain the options in a way that any user could understand.

For those who want to contribute feel free to leave a reply or send me an email on: firasuke@gmail.com

Thanks for your time! Have a great day!

----------

## krinn

```
* x32 ABI for 64-bit mode

... (that's just the help of make)

Reason: It's highly recommended that you include this option in your kernel

            if you're planning on running 32-bit programs.
```

In no way this option will help you run any 32bit programs. It allow you to run x32 programs

Because of this, the default safe choice should be off, as if anyone need to turn this on, it should be imply that this person don't really need any guide.

I have just check some, well, you have strange habit on recommendation for me, like saying "highly suggest on" instead of just telling people "you must turn it on", like in kernel module support, if bumblebee need a module, this option is then not "highly suggest", but critical for bumblebee users.

----------

## firasuke

 *Quote:*   

> 
> 
> Code:
> 
> * x32 ABI for 64-bit mode 
> ...

 

Thanks for your reply, I never said that you needed this option to run 32bit programs. What I meant is that, if you're planning on running a 32bit program then this option will be of benefit to you (it's up to you to include or exclude it).

The "Reason" section was provided to help the user lean towards including or excluding a certain option based on his/her needs.

If it caused absolute confusion then I'll happily change it.

Again, thanks for pointing that out!

Keep'em coming  :Razz: 

----------

## NeddySeagoon

firasuke,

The Intel/AMD kernel supports 3 different modes.  64 bit (with or without 32 bit support), 32 bit and 64 bit with 32 bit pointers.

The first two map to real hardware, amd64 and i?86 installs.  The latter is for memory constrained 64 bit systems.

I don't think the user space support was ever finished.

I can't get past the first page of your site.  It appears to run some evil trackers which I block.

----------

## firasuke

 *NeddySeagoon wrote:*   

> firasuke,
> 
> The Intel/AMD kernel supports 3 different modes.  64 bit (with or without 32 bit support), 32 bit and 64 bit with 32 bit pointers.
> 
> The first two map to real hardware, amd64 and i?86 installs.  The latter is for memory constrained 64 bit systems.
> ...

 

I see so x32 ABI support for 64bit systems can be safely excluded (and won't affect the performance of 32bit programs).

The website runs Google Analytics (which I've added recently). I'll look into disabling it as I've seen no benefit from it whatsoever.

Thanks for the feedback NeddySeagoon.

EDIT #1: Evil trackers have been removed from the website.

----------

## NeddySeagoon

firasuke,

Correct.  Anyone running 64 bit with 32 bit pointers is probably doing development.

----------

## firasuke

 *NeddySeagoon wrote:*   

> firasuke,
> 
> Correct.  Anyone running 64 bit with 32 bit pointers is probably doing development.

 

Thanks a lot for your elaboration. Option has now been marked as excluded, and the "Reason" has been corrected.

I've removed the evil trackers from the website. Hope it's easily accessible by all Gentoo users now.

Keep'em coming!

----------

## NeddySeagoon

firasuke,

That's better.  Your site works now.

Its worth adding in some general information about the menuconfig search function.

The press / enter symbol name fragment to search, press the digit next to the symbol to go to it.

That needs a warning about how symbols are hidden if the things they depend are off too, so the search won't work.

However, if you press 'z' you are able to see and search all the hidden symbols.  Its a toggle, so you can turn it off again.

Now you can apply the normal search recursively, to enable everything your hidden symbol needs.

You will be aware that -*- in menuconfig means forced on.

With hidden symbols showing you will see - -, which means forced off.

Are you aware of kernel-seeds ?

----------

## firasuke

 *NeddySeagoon wrote:*   

> firasuke,
> 
> That's better.  Your site works now.
> 
> Its worth adding in some general information about the menuconfig search function.
> ...

 

I've explained all of these symbols and their meanings at the beginning of part 2.

Yes, I'm aware of kernel-seeds. It's kinda similar to what I'm trying to achieve but I think it's outdated and provides less info? (correct me if I'm wrong)

Thanks for your reply, glad the site is working now!

----------

## NeddySeagoon

firasuke,

You don't cover the use of the 'z' key to search for hidden symbols.

kernel-seeds has been unmaintaned for several years now and has fallen behind.

----------

## firasuke

 *NeddySeagoon wrote:*   

> firasuke,
> 
> You don't cover the use of the 'z' key to search for hidden symbols.
> 
> kernel-seeds has been unmaintaned for several years now and has fallen behind.

 

Ah my bad, the local version of the website isn't in sync with the online version.

It should shortly appear along with the types of kernel options and what do the symbols before them mean.

Thanks for notifying me!

----------

## The Main Man

Is site down ?

----------

## Ant P.

 *kajzer wrote:*   

> Is site down ?

 

It looks like a domain squatter took the hostname in 2018. HTTPS doesn't respond, but don't visit it over HTTP.

Fortunately the Gentoo option is alive and well…

----------

## The Main Man

 *Ant P. wrote:*   

>  *kajzer wrote:*   Is site down ? 
> 
> It looks like a domain squatter took the hostname in 2018. HTTPS doesn't respond, but don't visit it over HTTP.
> 
> Fortunately the Gentoo option is alive and well…

 

Kernel seeds seems to be interesting, wasn't aware of this, I'll give it a try, thanks!

----------

