Sun Dec 11 18:49:01 EST 2011

Custom kernel building

I've been out of the loop for a while.  How to build a custom kernel
that actually works without iterating too many times?

I don't want to build a Debian kernel, it's simply too big.  How to
get to a working set of modules?  Probably best to work incrementally:
build the basic kernel, then add modules one by one without building a
.deb (make modules_install), then when it's done pack up the .config
in a kernel.deb package.

Let's see, after running make-kpkg the modules should still be there.
I just run "make menuconfig" to enable a new driver, then run

  make modules ; sudo make modules_install ; sudo modprobe <module>

and it will load it in the kernel.  Then, when everything is done the
.deb can be rebuilt and reinstalled.

Ok, to get all the drivers I did this.  I have a lsmod.txt file with
the output of lsmod on the debian (working) kernel.  Running this
output and lsmod on the non-working system through the following pipe
to produce 1.txt and 2.txt.  The diff of the two give the diff of the
modules installed.  On the non-working system I trided to modprobe
each of the missing ones: some loaded.  Those that did not load are

  cat lsmod.txt | awk '{print $1}' | sort > 1.txt
  lsmod         | awk '{print $1}' | sort > 2.txt
  diff 1.txt 2.txt