next up previous contents
Next: Making a Bootable Diskette Up: Making Linux Installation Disks Previous: Populating the Root File   Contents

Building a Kernel

Now it is time to build a kernel. For the target system we will build a kernel that is different from the host system kernel. We build it under the myboot directory. First cd to the myboot/linux-2.4.21 subdirectory.

The most important job is configuring the kernel. Run the following command:

make menuconfig
Instead of menuconfig you can use config (not recommended!) or xconfig. This will give a usable kernel for the target system. Of course you must adapt the configuration to the target system you are using are you are anticipating your target audience to use. This kernel tries to be useful for a large number of systems, from 486DX onward. The strategy is to keep things in if they enable a user to get started with an installation, so it must be possible to access SCSI harddisks and CD-ROMs and also the local area network in case the machine does not have a CD-ROM. This kernel will be different from the one that is going to be used after installation. Support for soundcards and printers is probably unnecessary on this installation disk.

Now we only need to build the kernel:

make clean
make dep
make bzImage
The kernel described here should be around 900kB.

Next create the modules:

make modules
make INSTALL_MOD_PATH=$MYBOOT modules_install
cd $MYBOOT
tar zcvf modules.tar.gz lib
The modules will end up in a compressed tar archive, not normally stored on the main RAM disk.


next up previous contents
Next: Making a Bootable Diskette Up: Making Linux Installation Disks Previous: Populating the Root File   Contents
Lennart Benschop 2003-07-16