MONKEY LINUX
current version 06              @(õ õ)@
released 9/5/1997                 (Y)                   [ KERNEL TUTORIAL ]
---------------------------------------------------------------------------
[ Home ]        [ Description ]    [ Programs ]     [ System Requirements ]
[ Download ]    [ Installation ]   [ Tutorials ]    [ Links ]
---------------------------------------------------------------------------
     Compiling the kernel takes a little work, but it’s well worth the
effort. Monkey comes factory fresh with a compressed kernel (3mide.030)
that’s 304 KB in size.  No, that doesn’t sound like much, but if your
machine is antiquated then a leaner kernel would be to your advantage.
Kernel compilation is your way to customize Monkey specifically for your
machine(s). 

     Before attempting to compile the kernel you should visit the Linux
Documentation Project web page and read the Linux Kernel HOWTO.  It would
be a shame if this tutorial was your only exposure to the Linux kernel,
because there are so many good tutorials on this topic.  Make sure you
have a hard copy of the steps in this tutorial before you begin.

     The first thing you'll need to do is install the gccall.tgz and
kernel2030.tgz software packages (review software packages tutorial).
It's left to the reader to study modules and figure out his/her hardware
configurations, both of which are vital for proper kernel configuration.
You can use the kernel configuration for my Compaq Presario 1210 as a
guide.  After GCC and the Kernel Source Code have been installed follow
these commands to configure and compile the kernel:

     cd /usr/src/linux                 DIRECTORY WITH KERNEL SOURCE CODE
     make config                       CONFIGURE NEW KERNEL
     make dep                          CREATE NECESSARY DEPENDENCIES
     make clean                        DELETE OLD OBJECT FILES
     make zImage                       COMPILE NEW KERNEL
     make modules                      BUILD NEW MODULES

     Now that we've configured and compiled ourselves a new kernel we
need to test it.  Do so following one of these methods:

     METHOD 1
          1) Copy new kernel to / directory
               cp /usr/src/linux/arch/i386/boot/zImage /3mide.new
          2) Restart computer to DOS/Windows and alter Linux.bat
               rem loadlin 3mide.030 root=/dev/hda1 rw
               loadlin 3mide.new root=/dev/hda1 rw
          3) Restart computer to Monkey Linux
 
     METHOD 2
          1) Copy new kernel to floppy disk
               cp /usr/src/linux/arch/i386/boot/zImage /dev/fd0
          2) Restart computer to DOS/Windows and alter Linux.bat
               rem loadlin 3mide.030 root=/dev/hda1 rw
               loadlin zImage root=/dev/fd0 rw
          3) Restart computer to Monkey Linux

     If all went well then the kernel managed to boot.  If not, undo the
changes made to Linux.bat and try configuring the kernel again.  You may
have gotten an error about modules not being found while the kernel
booted.  Don't worry because we haven't installed them yet.  Here's how
to install our new modules:

     cd /usr/src/linux                 DIRECTORY WITH KERNEL SOURCE CODE
     mv /lib/modules /lib/modules.old  BACKUP OLD MODULES
     make modules_install              INSTALL NEW MODULES
     rm /lib/modules/*/modules.dep     REMOVE MODULE DEPENDENCIES

     Play around with your new kernel for a while and if you decide that
you like it better than the original kernel then delete /3mide.030 and
/lib/modules.old to save disk space.  On the other hand, if you like the
original kernel more then restore it with your backups (/3mide.030 and
/lib/modules.old).  Don't forget to adjust linux.bat if you restore to
the old kernel.

                                                                    [ top ]
---------------------------------------------------------------------------
Send webmaster an email.               [ Disclaimer ] [ Legal ] [ Updates ]
---------------------------------------------------------------------------
Copyright (C) 2001, 2002 August Chaco