10 boot time parameters you should know about the Linux kernel

The Linux kernel accepts boot time parameters as it starts to boot system. This 
is used to inform kernel about various hardware parameter. You need boot time 
parameters:

* Troubleshoot system
* Hardware parameters that the kernel would not able to determine on its own
* Force kernel to override the default hardware parameters in order to increase 
performance
* Password and other recovery operations
The kernel command line syntax

name=value1,value2,value3…

Where,

    * name : Keyword name, for example, init, ro, boot etc

Ten common Boot time parameters
init

This sets the initial command to be executed by the kernel. Default is to use 
/sbin/init, which is the parent of all processes.
To boot system without password pass /bin/bash or /bin/sh as argument to init
init=/bin/bash
single

The most common argument that is passed to the init process is the word 
'single' which instructs init to boot the computer in single user mode, and not 
launch all the usual daemons
root=/dev/device

This argument tells the kernel what device (hard disk, floppy disk) to be used 
as the root filesystem while booting. For example following boot parameter use 
/dev/sda1 as the root file system:
root=/dev/sda1

If you copy entire partition from /dev/sda1 to /dev/sdb1 then use
root=/dev/sdb1
ro

This argument tells the kernel to mount root file system as read-only. This is 
done so that fsck program can check and repair a Linux file system. Please note 
that you should never ever run fsck on read/write file system.
rw

This argument tells the kernel to mount root file system as read and write mode.
panic=SECOND

Specify kernel behavior on panic. By default, the kernel will not reboot after 
a panic, but this option will cause a kernel reboot after N seconds. For 
example following boot parameter will force to reboot Linux after 10 seconds
panic=10
maxcpus=NUMBER

Specify maximum number of processors that an SMP kernel should make use of. For 
example if you have four cpus and would like to use 2 CPU then pass 2 as a 
number to maxcpus (useful to test different software performances and 
configurations).
maxcpus=2
debug

Enable kernel debugging. This option is useful for kernel hackers and 
developers who wish to troubleshoot problem
selinux [0|1]

Disable or enable SELinux at boot time.

    * Value 0 : Disable selinux
    * Value 1 : Enable selinux

raid=/dev/mdN

This argument tells kernel howto assembly of RAID arrays at boot time. Please 
note that When md is compiled into the kernel (not as module), partitions of 
type 0xfd are scanned and automatically assembled into RAID arrays. This 
autodetection may be suppressed with the kernel parameter "raid=noautodetect". 
As of kernel 2.6.9, only drives with a type 0 superblock can be autodetected 
and run at boot time.
mem=MEMEORY_SIZE

This is a classic parameter. Force usage of a specific amount of memory to be 
used when the kernel is not able to see the whole system memory or for test. 
For example:
mem=1024M

The kernel command line is a null-terminated string currently up to 255 
characters long, plus the final null. A string that is too long will be 
automatically truncated by the kernel, a boot loader may allow a longer command 
line to be passed to permit future kernels to extend this limit (H. Peter Anvin 
).

By Vivek Gite

Reply via email to