# Genkernel vs Manual Kernel

## Centinul

What are the advantages and disadvantages of having a manually compiled kernel vs genkernel configuratoin? Also what are the advantages to having as small a kernel as possible? Thanks.

----------

## NeddySeagoon

Centinul,

Left to its own devices genkernel makes a fully general fully modular kernel. It does not always include all the modules youi need for booting in the initrd file, so on some systems, it produces kernels that cannot boot. It also builds almost every module in the kernel tree, which takes a long time and uses up disk space in /lib/modules. Such kernels will run almost any combination of hardware you care to put together

If you make your own kernel, you learn a little about what you need. You make only the parts you want, e.g. the module for your network card, not every network driver in the kernel. Your sound card, not every sound card and so on. In short, there is no junk or bloat. You do not need an initrd either.

The first time you make a kernel by hand, going through all the config options will take about 2 hours, when you get the hang of it, it takes about 10 min because you build on what you have done before. There are some pointers here

When you build your own kernel you understand how to add more modules to it without a reboot too.

----------

## rdavl

This is just me, but i like to know who is my kernel configured and always do it manualy... <shrug>

----------

## ndarlow

I use genkernel to build my fbsplash-enabled kernel. It's as simple as genkernel --menuconfig --gensplash=livecd-2005.1 all and you get to tune your kernel configuration during the process.

I've built kernels and modules manually numerous times but I guess, as I get older, I want to type less to achieve my goals   :Very Happy: 

----------

## xanas3712

same.  I've done fully manual kernel compilations before (used to be a slackware user before switching to gentoo) but personally I like genkernel kernels.  It's just easier to work with and requires less typing.  It still allows for you to make only the modules you want as well (just use the menuconfig, xconfig options or modify the config file yourself)..

----------

## Centinul

What about performance differences though? Is there a noticable difference between manually compiled kernel and genkernel?

----------

## NeddySeagoon

Centinul,

Genkernel may be slower if you do not manually select your CPU type.

I recall that genkernel compiles for a i386 and adds in loads of rubbish you don't need.

Unless you have a CPU below a 486DX of course.

----------

## bos_mindwarp

genkernel on my laptop added even NUMA stuff... so no thx.

----------

## arpunk

genkernel can archieve *almost* the same as manual config kernel, you still have the --menuconfig option in genkernel

----------

## devsk

genkernel's only use on my box is to generate an initramfs which can start a resume from suspend2, start dmraid to find my nvraid and start splash for some eye candy, without any module loading. Kernel config is best done manually, as Neddy pointed out.

If you don't want a generic boot (e.g. a livecd install which needs to boot on many systems), don't want dmraid or evms or don't want splash pretty early in the boot process, no need to bother with genkernel: you can reduce your boot time a fair bit.

----------

## energyman76b

cp .config into new kernel dir

cd linux

make oldconfig

make all modules_install install

I don't know, what genkernel could do 'better'. But I DO know, that when I accidentally 'destroyed' /lib, I was very glad that I compile everything that is needed for booting into a working system into the kernel.

I only have seen genkernel in action once - and the kernel it made was an abomination.

I stay with the manual way.. I am building my own kernels for 7years now....

----------

