[TriLUG] USB on laptop

Erik Jacobson erik at underhanded.org
Wed Oct 6 19:55:42 EDT 2004


On Wed, Oct 06, 2004 at 03:06:44PM -0400, Mike M wrote:
> On Wed, Oct 06, 2004 at 05:00:47PM +0000, Erik Jacobson wrote:
> > Same here, I just build off the Debian sources (kernel-source-2.*
> > packages).  I'm comfortable enough with them making sure any important
> > patches are applied as far as security and stability, and then disabling
> > features that may have been added with menuconfig.  
> 
> Interesting.  You're n steps beyond where I am w/r to knowing what
> what is running.  
> 
> You build all of your own packages?  

No, just my kernels (and qmail because I have to, that's automated with
a script though).  Although apt-fu (http://freshmeat.net/projects/apt-fu/)
looks a bit interesting for that. ;)

> 
> How are kernel features getting enabled in your process and how do
> you detect the change (diff against a preserved .config?)?
> 

menuconfig/config still gets run.  Here's my typical build process:
(using 2.6.0 for this example)

---------
apt-get install kernel-source-2.6.0 libc-dev gcc make
libncurses-dev libdb3-dev kernel-package

cd /usr/local/src
tar jfx /usr/src/kernel-source-2.6.0.tar.bz2
make menuconfig		# (or make config sometimes if I want to make
			#  sure I get everything)

(a few things to increase FDs on my server machines here)

make-kpkg clean; make-kpkg kernel_image
dpkg -i /usr/local/src/kernel-image-2.6.0*.deb
---------

Sometimes I use a saved .config from a previous kernel, usualyl do it
from scratch.  I also tend to disable modules on server machines, but on
home machines I enable anyhting that looks like it may be interesting as
a module, as very very few things will hurt stuff if they are enabled in
modern kernels.  I don't use initrds (that's a seperate argument to
make-kpkg I believe).

Dumping a previous .config in your build directory sets the defaults for
make (menu)config.  Try not to use ones from kernels that are too much
older though due to changing options :)  Shouldn't hurt anything in my
experience due to unknown options being ignored or nuked when the new
config is written.

Some good documentation is in /usr/share/doc/kernel-package/ describing
all the steps.  I've only built in external modules a couple times
(mainly nvidia drivers), and it was fairly painless with dropping the
module cruft in a directory they provide for it.  The details are in the
kernel-package docs.

> > Makes my life easier.
> 
> easier or controlled; maybe controlled == easier ;-)

The easier comes from not having to watch for new kernel patches needed
to keep things working and/or secure.  And making it into a deb keeps
things sane with apt.  It takes care of lilo/grub/etc.  And although I
haevn't done it in a while, I do remember the external patching and
module build process being painless (i.e. worked on first try) with
kpkg.

> > 
> > And make-kpkg is just fun.  FUN I SAY!  *cough* ...What?
> 
> More layers.  I concluded it was a useful thing if you are working on
> a distro that needed to boot on many diverse machines.  I recall it
> enforced use of initrd which I eliminate as being even more icing I
> don't want until I decide I need it.

Nope, that's jsut the pre-built kernels.  None of mine have initrds, you
haev to enable a couple things in the kernel config and then tell kpkg
to make one I believe.  The end result kernel is the same as a manually
built one with the debian patches in a .deb

Hope that helped.  Avoiding work makes for wordy replies.



More information about the TriLUG mailing list