D&C GLug - Home Page

[ Date Index ] [ Thread Index ] [ <= Previous by date / thread ] [ Next by date / thread => ]

Re: [LUG] Compiling a Kernel for troublesome hardware

 

On Fri, 2 Jul 2010, Rhia Knowles wrote:

Someone on the list mentioned they compiled their own Kernels,
possibly Gordon. I tried this once when I was just starting out with
Linux (I was trying to install Gentoo) and decided I needed more
guidance if I didnt want to go the Microsoft route and produce the
most bloated thing I could.

Yes, very probably me.... One of a dying breed...

This laptop is looking like it's going to need a custom Kernel if I
want to keep it up to date, so I'm wondering if anyone has a guide to
the modules so I can read through and decide which bits I do and dont
need?

With new hardware, I start with the output of lspci

Then I get the kernel source directly off kernel.org, unpack it and start with

  make menuconfig

I understand there is a graphicsl version these days too, however I've not used it.

From there, I go through every page and evey option and select what I
want. It's not that easy if you've never done it before, and there are sometimes some circularish dependancies that are troublesome to break.

And at the end of it, I get a kernel with no modules in it. Then the key thing is to keep the .config file (or arrange to have it compiled into the kernel where it will appear as /proc/config.gz.

Then it's later/rinse/repeat, to make sure you have the right drivers compiled in, and so on.

However, I don't think it's for the feint of heart these days - there are just too many options and unless you keep up with the changelogs, you'll miss new features and possibly put the wrong thing in... However, at worst, you'll just get a kernel that doesn't boot, so you go back to the previous one.

If you want to

  wget http://unicorn.drogon.net/configs/config.spud.core2d

then you'll get a config file that I use on some core2duo processors - it would be a good start and save you having to turn off all the modules, but you will have to enable the laptop stuff - graphics adapter, ethernet, sata, wi-fi, etc. (Get that file, rename it to .config in the kernel source tree, then make menuconfig, etc.)

That's where lspci comes in - it'll tell you what hardware you've got and it's then a matter of searching for it in the configuration - it's not always obvious and it won't tell you everything (like the sensors, etc.) but it will get you a working system.

So I'd start by getting a basic system going - Screen, disk and ethernet, then work on the extras - wi-fi, sensors, fan control, and so on.

And then hope it fits in with your distribution!

Gordon

--
The Mailing List for the Devon & Cornwall LUG
http://mailman.dclug.org.uk/listinfo/list
FAQ: http://www.dcglug.org.uk/linux_adm/list-faq.html