One of the reasons Linux-based
are so popular is their configurability — almost every aspect of
the operating system’s behavior can be customized, making it a wonderful
platform for new application development or for deployment into
highly customized networked environments. What most users don’t realize,
however, is that this customization can begin even before the system starts, at
the boot prompt itself.

Ten of the most useful Linux
prompt options available to you at boot time are explored in Table A. These options can be activated
by typing them in at the LILO or GRUB boot prompt, with appropriate modifiers
as necessary.

Note: Because
kernel versions change quite rapidly, you should always consult your kernel’s
documentation before using a particular boot option.

Table A




root = <filesystem> 

This option defines the Linux root device. It tells the
kernel which filesystem should be mounted as the
root filesystem (/).

Use this option when you need to force the kernel to mount
a different filesystem as root, typically when
performing a rescue operation or setting up a multi-boot system.

ro, rw

These options control how the root filesystem
is mounted, whether read-only or read-write.

Use these options to control whether programs can write to
the root file system. Typically, the ro option is used when the file system is damaged and
needs to be examined and repaired.

init = <path>

The init process
is the system initialization process — the first process the system runs.
This option controls the path to this initialization process.

Use this option to alter the binary used as the
initialization process, often used to boot the system without a password or
run a custom startup sequence.

initrd = <path to image>

The Linux boot loader has the capability to load a
bare-bones system from a RAM disk image. This option tells the boot loader
where to find this disk image.

Use this option for dual-phase startup, first using a
generic kernel configuration and then loading a customized configuration on
top of it. This is most useful when working in environments with wildly
different hardware configurations, or when developing a modular kernel,
perhaps on low-resource systems.


This option forces the system to boot in single-user mode.

Use this option to activate your Linux system without
multi-user support, typically for rescue operations or when performing administrative
tasks that require exclusive access to system resources.

mem = <size> K|G|M

This option tells the kernel to use only the specified
amount of memory. The amount may be specified in kilobytes (K), megabytes (M)
or gigabytes (G).

Use this option to restrict the amount of memory available
to the kernel, usually for simulating kernel performance on low-resource
systems with limited memory.


This option tells the kernel to activate its built-in
debugging features. Debugging messages are sent to the appropriate event log.

Use this option when developing new kernel-level code, to
test your changes or to view internal status messages sent by the kernel.

vga = <mode>

This option controls the VGA mode the kernel will use.

Use this option to alter the kernel video mode, or to
present the user with a list of available video modes to choose from.

panic = <seconds>

Typically, if a critical error occurs, the kernel
“panics” and halts the system completely. A manual reboot is
required to restart the system. This option alters this behavior, by
specifying the number of seconds the kernel should wait before automatically
rebooting the system.

Use this option to automatically reboot the system in the
event of a critical error, particularly useful in the case of unattended
server systems.

profile = <precision>

This option activates kernel profiling, which is a simple
way to analyze overhead and understand which kernel functions are consuming
the most resources. Profiling information is stored in /proc/profile.

Use this option to analyze kernel internals and
performance, typically when developing kernel-level code.