Linux Command Line Parameters

In this article Jeff looks at a useful and perhaps little known feature of Linux—the ability to pass command line parameters to the kernel during system startup.
Device-Driver-Specific Parameters

The next group of options are specific to individual kernel device drivers. I won't describe each of them in detail, because some of them are rather specialized and are documented elsewhere.


This option is for setting up Ethernet interfaces. It allows setting parameters such as the interrupt request number and base address. The meaning of the parameters varies somewhat depending on the type of interface card. The Ethernet HOWTO document describes these in detail.


This option sets the highest Logical Unit Number to be used for SCSI devices. Valid values are 1 through S. This may be needed if autoprobing of the SCSI bus causes problems on your system.

hd=cylinders, heads, sectors

This option sets the hard disk geometry for SCSI or IDE disks. Normally Linux obtains these from the BIOS; the command line option can be used to override those if they are not correct.

st=buffer size,write_threshold,tape_buffers

This option is for setting SCSI tape driver parameters. The file drivers/scsi/ describes these in detail.


This option sets the interrupt request line to be used for the bus mouse driver.


These are all options for setting up the various SCSI host adaptors supported by the Linux kernel. See the SCSI HOWTO for more information.

xd=type, irq,i/o base_address,dma_channel

This option sets the XT hard disk driver parameters. See the comments in the file drivers/block/xd.c for more information.

mcd=port, irq, workaround_bug

This sets up the Mitsumi CD-ROM interface. The first two parameters are the base I/O address for the controller and the interrupt request. The third option sets a delay value used to work around problems with some Mitsumi drives.

sound=parml, parm2,...

These options set up the sound driver. The parameter encoding is explained in the file drivers/sound/Readme.linux.

sbpcd=address, type

e.g., stpod=Ox230,SoundBlaster

This command sets the parameters for the SoundBlaster/Panasonic CD-ROM driver. See the file drivers/block/README.stpod for details.

Parameters to init

Any other options are passed on to init in its argv array and as environment variables. For example, LILO passes the argument “auto” if the system was booted without a manually entered command line. The command “single” will instruct init to boot up Linux in single-user mode.

Here is how to see what options were passed to init:

% ps -awww | grep init
        1 con S 0:03 init auto

The proc filesystem also lets you look at the environment passed to init, which always has process ID number 1:

% cat /proc/l/environ | tr t'\O'' "\n"
Final Comments

A colleague suggested a kernel option that is missing: “help”. While this is not implemented yet, hopefully this article has convinced you that there are many other useful options worth exploring.

( is a software designer for a telecommunications company in Ottawa, Canada. He has been using Linux for more than two years and is the author of the Linux Sound and CD-ROMs, and several Linux utilities.


White Paper
Linux Management with Red Hat Satellite: Measuring Business Impact and ROI

Linux has become a key foundation for supporting today's rapidly growing IT environments. Linux is being used to deploy business applications and databases, trading on its reputation as a low-cost operating environment. For many IT organizations, Linux is a mainstay for deploying Web servers and has evolved from handling basic file, print, and utility workloads to running mission-critical applications and databases, physically, virtually, and in the cloud. As Linux grows in importance in terms of value to the business, managing Linux environments to high standards of service quality — availability, security, and performance — becomes an essential requirement for business success.

Learn More

Sponsored by Red Hat

White Paper
Private PaaS for the Agile Enterprise

If you already use virtualized infrastructure, you are well on your way to leveraging the power of the cloud. Virtualization offers the promise of limitless resources, but how do you manage that scalability when your DevOps team doesn’t scale? In today’s hypercompetitive markets, fast results can make a difference between leading the pack vs. obsolescence. Organizations need more benefits from cloud computing than just raw resources. They need agility, flexibility, convenience, ROI, and control.

Stackato private Platform-as-a-Service technology from ActiveState extends your private cloud infrastructure by creating a private PaaS to provide on-demand availability, flexibility, control, and ultimately, faster time-to-market for your enterprise.

Learn More

Sponsored by ActiveState