[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Compiling kernel



On Sun, 4 Apr 2004 at 8:04pm, Sebastiaan wrote:

:High,

Not just at the moment; maybe later :)

:On Sun, 4 Apr 2004, Michael Satterwhite wrote:
:
:> -----BEGIN PGP SIGNED MESSAGE-----
:> Hash: SHA1
:>
:> I've been looking at the documentation for compiling the kernel, and something
:> seems missing to me.
:>
:> There is ample documentation on configuring the kernel, but I don't see the
:> issue of the starting point addressed anywhere. It seems to be assumed that
:> if you're going to compile the kernel, then you want to individually visit
:> every configuration parameter and make a selection. There is good
:> documentation everywhere on how to do this.
:>
:>  If you have a working kernel, however, it seems far more logical to use its
:> configuration as a starting point and make the changes relative to that. In
:> SuSE, there are good instructions on getting this starting point, but I don't
:> see anything like that in Debian. I *DO* see a config file in the /boot
:> directory, but it is ambiguous (at best) as to whether this is the
:> configuration for the running kernel.
:>
:> Being fair, when something is so pointedly not addressed, it usually means I
:> should have known the answer without asking - but I'll admit to ignorance.
:> Would someone be so kind as to point me at the place for the current config
:> (probably the one in /boot, but this isn't something I want to take a chance
:> on) for a starting point?
:>
:In /boot there is a file named config-.... with .... being your running
:kernel. Unpack the kernel source in /usr/src/linux and copy
:/boot/config-... to /usr/src/linux/.config
:
:Then run 'make oldconfig', which will only ask to configure new options to
:that kernel. After that you can run make menuconfig or xconfig in order to
:change the settings.
:
:Then it's a simple make dep && make bzImage && make modules && make
:modules_install , copy thekernel from arch/.../boot/bzImage to /boot and
:adapt your bootloader to this kernel.

You _could_ do this, but I recommend very highly compiling the kernel "the
Debian way."  It takes care of all the little details missing any one of
which might leave you with a hosed system!  I keep a file reminding me of
the steps; here's its current contents:

Current kernel image is
kernel-image-2.4.22_mycroft.1.1.0_i386.deb

To compile kernel:
In /usr/src/linux:
make xconfig #configure as desired
make-kpkg clean
make-kpkg --revision=mycroft.1.1 kernel_image #revision as appropriate

While it's compiling, edit /etc/lilo.conf if necessary (adding boot
options, etc.)

Move old modules out of the way:
rm -Rf /lib/modules/2.4.22.old ;\
mv /lib/modules/2.4.22 /lib/modules/2.4.22.old

To install new kernel and modules:
In /usr/src/linux:
dpkg -i ../kernel-image-2.4.22... #do 'ls ..' to find right image


One thing I _don't_ do the Debian way, having started out as a Slackware
user, is do all this 'fakeroot'; I just do it as root.  The packages
necessary to so compile the kernel, and other details, are to be found in
the Debian Installation Manual, here for the i386 architecture:

http://www.debian.org/releases/stable/i386/ch-post-install.en.html#s-kernel-baking

Patrick

-- 
Patrick Wiseman                               pwiseman@mindspring.com
Linux user #17943                             *Google First, Ask Later*



Reply to: