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 fedora-list mailing list