vmlinuz-version
), its configuration (config-version
) and its symbols table (System.map-version
) in /boot/
. The symbols table helps developers understand the meaning of a kernel error message; without it, kernel “oopses” (an “oops” is the kernel equivalent of a segmentation fault for user space programs, in other words messages generated following an invalid pointer dereference) only contain numeric memory addresses, which is useless information without the table mapping these addresses to symbols and function names. The modules are installed in the /lib/modules/version
/
directory.
/vmlinuz
, /vmlinuz.old
, /initrd.img
and /initrd.img.old
so that they point to the latest two kernels installed, respectively, as well as the corresponding initrd images.
lilo
can work with these symbolic links by automatically using the last kernel installed, while still allowing the machine to boot from the previous kernel if the last one installed doesn't work. This requires, however, that lilo
be run after each kernel installation. This can be automated, by setting do_bootloader = yes
in /etc/kernel-img.conf
.
grub
will be your bootloader, and the default configuration will execute update-grub
after each installation or removal of a kernel in order for the /boot/grub/grub.cfg
file (or /boot/grub/menu.lst
with GRUB Legacy) to be updated. This allows all installed kernels to be displayed (and available) in the GRUB menu at boot time.
Example 8.7. Kernel package configuration file
do_symlinks = yes relative_links = yes do_bootloader = no do_bootfloppy = no do_initrd = yes link_in_boot = no postinst_hook = update-grub postrm_hook = update-grub
apt-get
is so convenient that it makes it easy to forget about the lower-level tools, but the easiest way of installing a compiled kernel is to use a command such as dpkg -i package
.deb
, where package
.deb
is the name of a linux-image package such as linux-image-2.6.32-falcot_1_i386.deb
.