# Is genkernel THAT bad?

## Kiroku6

Ive been reccomended by almost everyone i ask if i should use menuconfig or genkernel to use menuconfig and do it myself. But i dont know what a lot of the options are and this will be my like 5th time going through it. Last time i dont think i gave support for my ethernet port cause i couldnt get online. Well, i was just wondering if genkernel is that bad of a program to use, or if everyone reccomends menuconfig for a reason?

----------

## Vitaliy

If you are learning what you can do is compile a kernel with genkernel and then do menuconfig using the config file that genkernelmade and unselect stuff that you do not need.  :Smile: 

----------

## Pink

 *Kiroku6 wrote:*   

> Ive been reccomended by almost everyone i ask if i should use menuconfig or genkernel to use menuconfig and do it myself. But i dont know what a lot of the options are and this will be my like 5th time going through it. Last time i dont think i gave support for my ethernet port cause i couldnt get online. Well, i was just wondering if genkernel is that bad of a program to use, or if everyone reccomends menuconfig for a reason?

 

Well, my answer to your question is another question - why use a cutting edge distro like Gentoo, compiled from stage 1 up, absolutely and utterly configured for your system and then bung in a generic, bulky, bloated kernel? Kind of defeats the issue (IMHO   :Shocked:  )

If you need to use genkernel to boot up and learn then fine, but it is worth learning how to roll your own kernel. It makes it smaller, quicker, easier to manage and (most importantly) you can then brag about it to your whining mandrake/windows friends.

On a more serious note, I think it is down to the configurability and tweakability of Gentoo that kind of implies having your own options in the kernel, or even your own kernel with the patches you want/need in it. That's half the reason why, for example, kernels like love-sources are so popular: it allows configurabilty and personalisation.

----------

## stahlsau

imho, genkernel ain´t BAD. It´s s/t for people who are learning and are new to linux, or at least don´t know how to compile a kernel on their own. 

Gentoo can´t have such a great Installation manual and then leaving the newbee´s alone with compiling their kernel - so there´s genkernel for  them to use. 

It´s not possible to write a kernel-guide for every piece of hardware around. So, use genkernel to compile a running kernel, and then do another compile and tweak the settings step-by-step (tip: leave the "genkernel-kernel" on your disk and in lilo, so you can use it when your modified kernel doesn´t work).

hope ya understand my point; it´s not my native language  :Wink: 

----------

## vonhelmet

I'd recommend learning what the kernel options mean and figuring out how to compile a working kernel yourself.

If genkernel helps you along the path to not needing genkernel, then it's a good thing  :Smile: 

Build a kernel with genkernel so you have something that boots, then recompile your kernel by hand and set it up alongside the genkernel'ed one in Grub/Lilo/Silo/Kilo/Rolo/Polo (NB some of these bootloaders may not be real) and test it. If it works - well done for you! If not, just boot the genkernel'ed one and start over and keep trying till you get the hang of it.

----------

## Kiroku6

I just downloaded and compiled 2.6.6-rc3-love4 so, i hope i did good lol.

----------

## ewan.paton

 *Kiroku6 wrote:*   

> I just downloaded and compiled 2.6.6-rc3-love4 so, i hope i did good lol.

 

a genkernel lovesources is a bit of an oxymoron as lovesources is meant for folks who know enough about the kernel but cant be arsed patching it themselves. 

genkernel has never worked for me all it does is create a whole bunch of modules i didnt need and didnt autoload the network drivers etc so i saw no advantage in not compiling it by hand, its not like its hard you just look out the stuff you need and bingo

----------

## Kiroku6

I didnt use genkernel for love-sources. But it didnt work anyway so im using gentoo-dev-sources.

----------

## Regor

In addition to the points others have made I'd add that genkernel is also very difficult to support. It turns the kernel creation process into a blackbox. If you post here or go onto #gentoo with a question like "I have a frobnitz 2000 network card and kernel 2.6.5 - what configuration options do I need to select to make it work?" dozens if not hundreds of people will be around that can and will answer. OTOH, if the question is more like "I'm trying to compile a kernel and my system is completely #$*@$'d up but it works if I make one with genkernel", the answer is likely to be "oh well, use genkernel then".

Genkernel encourages ignorance and helplessness. With a little effort and assistance configuring a kernel by hand is pretty easy. After a few times you'll have it down and be able to turn that knowledge around and help others. It's this type of community support that makes Gentoo go. Genkernel breaks that.

----------

## Kiroku6

Yeah, after having compiled my kernel by hand like 10 times today, im pretty used to it, and its not as hard as it was. Im glad i went with what you guys said and did it my self. I FINALLY got my system to boot with no problems (except my bootsplash wont work) but other than that. Im all good.

----------

## senectus

umm correct me if I'm wrong.. but lovesources is just a patch.. so you still need the full dev-kernel first the patch in the love sources.. ???

----------

## Suicidal

Genkernel isnt bad, I would reccomend that the n00b learn to do it via menuconfig first.

One thing I dont understand though is how people get this misconcception that genkernel configures everything for you. Genkernel  is just a kernel copilation script with a decent (but bloated) generic config and will copy bzImage and initrd to /boot. The config will work for most but not all systems. 

I mainly use genkernel because Im lazy, I know how to do it manually but running "genekrnel all" is just so much quicker for me. I always specify a config or use menuconfig with it though.

For the newbies why not put the following in the install manual:

```
cp /proc/config.gz /root

gzip -d config.gz

cp config /usr/src/linux/.config
```

At least it would be as functional as the livecd.

----------

## Skrot

Well what about using

```
genkernel --menuconfig all
```

It seems like it's the best of both worlds... It does some extra stuff for you, but you get that nice clean, compiled-for-me feel to the kernel.

Opinions?

----------

## stahlsau

maybe he used the ebuild...

----------

## albrow

 *senectus wrote:*   

> umm correct me if I'm wrong.. but lovesources is just a patch.. so you still need the full dev-kernel first the patch in the love sources.. ???

 

The ebuild downloads the vanilla kernel as well as love-sources (and mm-sources) and patches it.

I'm definitely going with the roll-your-own-kernel option.  I must admit, the first time I saw menuconfig I didn't have a clue, but now it's practically second nature.

----------

## foxtrot

I used to use genkernel, but now I do make menuconfig and the rest by hand. I've finally got it (mostly :) ) to the point where I know what options I need for making a kernel and which ones I don't, which means that not only am I no longer building a pretty oversized kernel with a metric buttload of modules, it also means when I need to do a kernel compile for whatever reason (mostly the reason of I only mostly know what I need at this point...) it's a lot quicker.

Besides, one misstep with genkernel and then you wind up forgetting to put "loopback filesystem" into your kernel and you then can't run genkernel anymore to fix it. Oops....

I'm still not convinced it has problems, per se, but I think I'm now happier without it.

-JDF

----------

## Hauser

 *Skrot wrote:*   

> Well what about using
> 
> ```
> genkernel --menuconfig all
> ```
> ...

 

Genkernel for me is just a script that saves me a couple of commands; I've been using it all along and this is how I usually use it:

```
# genkernel all --kernel-config=/path/to/config-file --menuconfig
```

----------

