Kernel Boot Parameters

During the Linux boot process you can specify various kernel parameters which can be used to modify the default boot process. These can be added to the kernel line of /boot/grub/grub.conf or they can be added on the fly using the GRUB menu at boot time.

A typical kernel configuration line looks like this:

kernel /vmlinuz- ro root=UUID=91a87c45-c338-4493-a089-b54aeeebad56 quiet

Yours will likely be different for any of several reasons. Not the least of which is that Fedora used the UUID of a partition to identify it for booting for just a couple releases. In the past, the boot partition has been identified by its device name, such as /dev/hda2, or its label, for example “/boot”. You can revert to either of those previous identifiers in the root= parameter if you choose but that is not necessary.

More recent kernel configuration lines are more complex with many more parameters specified rather than left to default values.

kernel /vmlinuz- ro root=/dev/mapper/vg_office01-lv_root rd_LVM_LV=vg_office01/lv_root rd_LVM_LV=vg_office01/lv_swap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=us rhgb quiet reboot=b

You may add parameters to or delete parameters from the kernel line, but you must keep the root= parameter and everything to the left of it. Parameters should always be added to the end of the line. Parameters can also be specified for the init process. Any parameters not recognized by the kernel will be passed to init when it is launched by the kernel, such as using “1” to boot into runlevel 1.

Parameter List

The following list of boot parameters is not complete, but it represents the more common parameters you might see, as well as some of the more esoteric ones for which explanations can be hard to find.

Parameter Type Description
biosdevname Kernel biosdevname=0 will prevent biosdevname from being invoked, effectively disabling this feature, leaving you with the ethX names. This parameter has been added due to widespread discontent about udev and its naming conventions for network interface cards.
noacpi Kernel Turns off ACPI power management.
nodma Kernel Turns off DMA support. This can be handy if you are experiencing hard drive errors.
nopcmcia Kernel Turns off support for PCMCIA CardBus .
pci=nommconf Kernel The specific meaning of this parameter is unclear. The reason to use it is that the boot process would hang at the “uncompressing the kernel” message on a new Intel DG33FB motherboard. After adding this parameter, the boot process no longer hangs. See this link for further details.
quiet Kernel Suppresses verbose output messages from the kernel during boot. The kernel messages will be saved in the kernel ring buffer whether this parameter is present or not so you can still view them if there is a problem during kernel initialization. The kernel ring buffer can be displayed using the dmesg command.
reboot=b Kernel I had a great deal of trouble finding this parameter. It is used for some motherboards which seem to hang during the reboot process, such as the ASUSTeK Computer INC P5S800-VM motherboard I have used on a few computers for customers. This parameter seems to allow the reboot to proceed normally.
rhgb Kernel Red Hat Graphical Boot. Provides a graphical boot more suitable for most users. This hides the output from the start scripts unless there is an error.
selinux=0 Kernel This parameter turns off SELinux. This may be required when performing troubleshooting procedures in order to allow the system administrator to modify system configuration files.
s,1,2,3,4,5 init / systemd Specifies the runlevel to boot into.


Leave a Reply