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