The file /etc/kernel-img.conf is a simple file looked at by the kernel image post installation process to allow local options for handling some aspects of the installation, overriding the defaults built into the image itself.
The format of the file is a simple VAR = VALUE pair. Boolean values may be specified as Yes, True, 1, and No, False, 0, and are case insensitive. This file is automatically created by the installation script if it does not exist, and neither does the symbolic link /vmlinuz. The script asks the user whether the symbolic link should be created, and stashes the answer into /etc/kernel-img.conf
At the moment, the user modifiable variables supported are:
Set to Yes if you want the kernel image vmlinuz in /boot rather than the default /. Defaults to No.
By default, the kernel image post installation script shall create or update the /vmlinuz and /vmlinuz.old symbolic links. This is true if a /vmlinuz link already exists, however, in absence of /vmlinuz, the script looks to see if this configuration file exists. If it does not, the configuration script asks the user whether to create the symbolic link, and stashes the answer in a newly created /etc/kernel-img.conf. If the configuration file already exists, and if this option is set to No, no symbolic link is ever created. This for people who have other means of booting their machines, and do not like the symbolic links cluttering up their / directory. Defaults to Yes.
By default, if the /vmlinuz symbolic link does not point to an image which is the same as the image being installed, the postinst moves /vmlinuz to /vmlinuz.old, and creates a symbolic link to the kernel image in /vmlinuz (the exception is to prevent both /vmlinuz and /vmlinuz.old from pointing to the current kernel image -- potentially disastrous if the current image is defective or lacking in any way). However, if this option is enabled, no action is taken if /vmlinuz.old points to the currently installed image (by default, the symbolic links are swapped). Defaults to no.
Whether to use symlinks to the image file. Mutually exclusive to reverse_symlinks. Can be used with image_in_boot. If set to Yes, the image is placed in vmlinuz (instead of /boot/vmlinuz-X.X.XX). The old vmlinuz is moved to vmlinuz.old unconditionally. (Normally, that is only done if the version of the new image differs from the old one). This restricts you to two images, unless you take additional action and save copies of older images. This is for people who have /boot on a system that does not use symbolic links (and say, they use loadlin as a bootloader). This is a Hack. Defaults to No.
Whether to use reverse symlinks (that is, the real file is the one without the version number, and the number version is the link) to the image file. Mutually exclusive to no_symlinks. Can be used with image_in_boot. Just like no_symlinks, except that the /boot/vmlinuz-X.XX is a symbolic link to the real new image, vmlinuz. This, too, restricts you to just two images unless further action is taken. The older symlinks are left dangling. This is for people with /boot on umsdos, and who can't see the link in dos, but do want to know the image version when in Linux. This is a Hack. Defaults to No.
If you want the symbolic link (or image, if move_image is set) to be stored elsewhere than / set this variable to the dir where you want the symbolic link. Please note that this is not a boolean variable. This may be of help to loadlin users, who may set both this and move_image Defaults to /. This can be used in conjunction with all above options except image_in_boot, which would not make sense. (If both image_dest and image_in_boot are set, image_in_boot overrides)
Set this variable to a script to be executed during installation after all the symbolic links are created, but before running the bootloader or offering to create a floppy. This script shall be called with two arguments, the first being the version of the kernel image, and the second argument being the location of the kernel image itself. Errors in the script shall produce a warning message, but shall be otherwise ignored. An example script for grub users is present in /usr/share/doc/kernel-package/ directory.
Set this variable to a script to be executed in the postrm (that is, after the image has been removed) after all the remove actions have been performed. This script shall be called with two arguments, the first being the version of the kernel image, and the second argument being the location of the kernel image itself. Errors in the script shall produce a warning message, but shall be otherwise ignored.
Set this variable to a script to be executed before the package is unpacked, and can be used to put in additional checks. This script shall be called with two arguments, the first being the version of the kernel image, and the second argument being the location of the kernel image itself.
Set this variable to a script to be executed before the package files are removed (so any added files may be removed) . This script shall be called with two arguments, the first being the version of the kernel image, and the second argument being the location of the kernel image itself. Errors in the script shall produce a warning message, but shall be otherwise ignored.
Instead of creating symbolic links to (or, if reverse_symlinks is set, from) image_dest, the image is moved from its location in /boot into image_dest. If reverse_symlinks is set, /boot shall contain a symbolic link to the actual image. This option can be useful to people using loadlin, who may need the image to be moved to a different, dos partition. This variable is unset by default.
If set, the preinst shall silently try to move /lib/modules/version out of the way if it is the same version as the image being installed. Use at your own risk. This variable is unset by default.
If set to NO, this short circuits all attempts to create boot floppies, run lilo, etc. This has the additional side effect that the postinst is silent. Setting both do_bootfloppy and do_bootloader to NO implies setting do_boot_enable to NO. Defaults to Yes.
If set to NO, this prevents the postinst from asking questions about creating a boot floppy. and no boot floppy is created. The bootloader shall still be run. This may cut down on the interaction the postinst has. (It still prompts before formatting /dev/fd0) Defaults to Yes.
If set to NO, this prevents the postinst from running the boot loader. The user may still be asked to create a floppy, unless do_bootfloppy is also set to NO. Defaults to Yes.
If set to yes, the kernel image postinst script shall go to extra ordinary lengths to ensure that the symbolic links are relative. Normally, the symbolic links are relative when it is easily determinable that relative links shall work. Defaults to No.
Set to YES to prevent the kernel-image post installation script from issueing a warning when installing an intrd kernel. This assumes you have correctly set up your boot loader to be able to boot the initrd image. Default: no. This is deprecated in favour of the more descriptive warn_initrd option (please note that the sense of the option is inverted).
Set to NO to prevent the kernel-image post installation script from issueing a warning when installing an intrd kernel. This assumes you have correctly set up your boot loader to be able to boot the initrd image. This is now preferred to do_initrd, since warnings are what are prevented. Default: YES
This option has been put in for the people who can't handle symbolic links (a boot loader that does not handle symbolic links, for example). If set to YES, this shall cause the kernel image postinst to use hard link instead of symbolic links for the automatically handled /vmlinuz and /vmlinuz.old. I have tried to make it compatible with move_image and reverse_symlinks Caveat: It is up to the end user to ensure that the image_dest directory and the location of the image (nominally /boot) live on the same file system (since one can't make hard links scross file systems. You have been warned.
This option has been put in for the people who are vastly irritated on being warned about preexisting modules directory That directory may belong to an old or defunct package, in which case problems may arise with lefover modules in that dir tree, or the directory may legitimately exist due to a independent modules paqckage being installed for this kernel version that has already been unpacked. In this latter case the existence of the directory is benign. If you set this varable, you shall no longer be given a chance to abort if a preexisting modules directory is detected. This is unset be default.