/boot

There are many ways to do things. The use of a /boot directory is one of them. I find that it saves me suffering, pain, and hassle.

What I do is this: when I set up my boot partitions I make the first partition on the disk a fairly small one and mount it as /boot. For example, one system I run looks like this:

[root@trona /boot]# df
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/sda5               217777     61929    144605  30% /
/dev/sda1                15522      3519     11202  24% /boot
/dev/sda6              3399668     52576   3174396   2% /u1
/dev/sda7              3399668    766632   2460340  24% /u2
/dev/sda8              1581200   1343272    157608  89% /usr

In the case above, the /boot filesystem is roughly 16M in size (which I think was more or less the first 2 cylinders on this disk). The main point of having this small /boot filesystem is that it keeps all the stuff that LILO has to deal with on the first few cylinders of the disk and avoids things like using option linear and BIOS hassles with large disks and the like.

Red Hat Linux at least seems to cooperate with such a strategy, and what ends up in here looks like this on my system:

[root@trona /boot]# ls
System.map             kernel.h                vmlinux-2.2.14-5.0
System.map-2.2.14-5.0  lost+found              vmlinuz
boot.0800              map                     vmlinuz-2.2.14-5.0
boot.b                 module-info             vmlinuz.generic
chain.b                module-info-2.2.14-5.0  vmlinuz.rambuff
initrd-2.2.14-5.0.img  os2_d.b

Take a look at your /boot and also look at /etc/lilo.conf and you will be in good shape to install new kernels.