Kernel Compiling Checklist, rev 4

Shannon McMackin mcmackin at earthlink.net
Fri Apr 16 15:23:51 UTC 2004


Etanisla Lopez-Ortiz wrote:
> Argh! I just noticed that the numbering on the second half (recompiles)
> wasn't corrected before I posted! I knew I was forgetting something...
> 
> Should be...
> 
> With fresh install:
> -2: This list (and addendums) for kernels 2.4.x only.
> -1: Start with fresh install of FC1 (2.4.22-1.2115)
> 0:  Insert desired version number where x.x.x is present.
> 1:  Get desired kernel and extract it.
> 2:  "mv /scratch/directory/linux-x.x.x /usr/src"
> 3:  "cd /usr/src/linux-x.x.x"
> 4:  Copy .config from old kernel to /usr/src/linux-x.x.x
>     Since first compile since initial install, use config file found in
> /boot.
> 5:  "make oldconfig" (Keep the stuff that works, and only answer new
> questions)
> 6:  "make xconfig" or "make menuconfig" (as you like it)
> 7:  "make bzImage"
> 8:  "make modules"
> 9:  "make modules_install"
> 10: "make install"
> 11: Edit /etc/rc.sysinit and change '/proc/sys/kernel/modprobe' to
> /sbin/modprobe'.
> 12: "shutdown -r now"
> 13: After rebooting, and selecting new kernel option, type "uname -r" to
> verify the new kernel is running.
> 
> 
> 
> If recompiling:
> -1: This list (and addendums) for kernels 2.4.x only.
> 0:  Insert desired version number where x.x.x is present.
> 1:  Get desired kernel and extract it.
> 2:  "mv /scratch/directory/linux-x.x.x /usr/src"
> 3:  "cd /usr/src/linux-x.x.x"
> 4:  "cp .config config.bak"
> 6:  "make mrproper"
> 7:  "make oldconfig"
> 8:  "make dep"
> 9:  "make bzImage"
> 10: "make modules"
> 11: "make modules_install"
> 12: "make install"
> 13: Edit /etc/rc.sysinit and change '/proc/sys/kernel/modprobe' to
> /sbin/modprobe'.
> 14: "shutdown -r now"
> 15: After rebooting, and selecting new kernel option, type "uname -r" to
> verify the new kernel is running.
> 
> 
> Afterthought question: Why the need to edit /etc/rc.sysinit?
> 
> Okay, I'm done fiddling, time to get dirty.
> --Etanisla
> 
> 
> 
I'm not sure I would copy an old .config file to a new kernel.  For 
example, a FC1 kernel will have features in it that a kernel.org release 
will not have and you'll be making extra work for yourself trying to 
backtrack.  FC1 kernel source rpms always give you generic, modular 
kernel configs in /usr/src/linux-2.4/configs.  Just copy that to your 
.config file and then make oldconfig if you like.

On kernel.org releases, I've done it so many times, I usually know what 
I need on this system.  I just start with make xconfig and go from there.

I've only ever worked with 2.4.x kernels and I've always done

make dep clean bzImage modules modules_install install

As long as you're up and running on a stock kernel, you should find a 
new entry after reboot in your grub.conf.

If you're running on a kernel.org release, you may have loopback device 
issues that prevent the mkinitrd process as part of install from 
happening.  I'm sure there's a solution to it, just never persued.

I have 1 kernel.org kernel that's set for scenarios where I need a 
specific VPN tool.  Otherwise, the generic FC1 kernel has been fine.

I can think of numerous reasons the default kernels may not be 
acceptable and think it's great what you're doing.

Shannon McMackin
mcmackin at earthlink.net





More information about the users mailing list