Next: Making a Bootable Diskette
Up: Getting Linux into Small
Previous: Populating the Root File
Contents
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. W build it
under the myboot directory. First cd to the myboot/linux 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.
- Processor type menu: processor family must be 386, enable math
emulation, switch off everything else. Most 386 systems have no 387
coprocessor, so they do need math emulation.
- General setup menu: switch off networking support, PCI support,
system V IPC
and sysctl support. Support ELF binaries, other formats can be
disabled.
- Code maturity, Module support, Memory Technology, Parallel port,
Plug and play, Multi-device, Telephony, SCSI, I2O, Amateur radio,
ISDN, Old CDROM, Input core, Multimedia, Sound, USB and kernel hacking
submenus: disable everything.
- Block device submenu: support floppy, RAM disk and initial RAM
disk.
- ATA/IDE/MFM/RLL submenu: support, keep everything under the
ATA/IDE... block devices submenu the default.
- Character devices submenu: Support virtual terminal, console on
virtual terminal, Unix 98 PTY, disable everything else.
- File systems. Keep second extended, proc and dev PTS enabled. If
you want to mount DOS diskettes, enable fat, msdos and maybe
vfat. If you want to mount a CDROM, enable ISO9660.
- Console drivers. Keep VGA text console enabled.
- Exit and say Yes to save changes.
Of course you must adapt the configuration to the target system you
are using. If your target system has PCI, it would be better to
enable it. In that case, you probably have a 486DX or a Pentium, so
the math emulation may go. If you have SCSI on your target system, you
should of course enable support for it and for the host adapter you
are using. If you have SCSI and no IDE devices installed, you can
disable ATA/IDE/MFM/RLL support.
Now we only need to build the kernel:
make clean
make dep
make zImage
The kernel described here should be around 400kB and it should work
with make zImage. Use make bzImage instead if you build a
kernel with more features, e.g. networking support.
Next: Making a Bootable Diskette
Up: Getting Linux into Small
Previous: Populating the Root File
Contents
Lennart Benschop
2003-05-29