Next Previous Contents

1. Introduction

The kernel has a limited capability to accept information at boot in the form of a `command line', similar to an argument list you would give to a program. In general this is used to supply the kernel with information about hardware parameters that the kernel would not be able to determine on its own, or to avoid/override the values that the kernel would otherwise detect.

However, if you just copy a kernel image directly to a floppy, (e.g. cp zImage /dev/fd0) then you are not given a chance to specify any arguments to that kernel. So most Linux users will use software like LILO or loadlin that takes care of handing these arguments to the kernel, and then booting it.

This present revision covers kernels up to and including v2.4.9.

The BootPrompt-Howto is by:

Paul Gortmaker, [email protected]

This document is Copyright (c) 1995-2001 by Paul Gortmaker. Please see the Disclaimer and Copying information at the end of this document ( copyright) for information about redistribution of this document and the usual `we are not responsible for what you manage to break...' type legal stuff.

1.1 Intended Audience and Applicability

Most Linux users should never have to even look at this document. Linux does an exceptionally good job at detecting most hardware and picking reasonable default settings for most parameters. The information in this document is aimed at users who might want to change some of the default settings to optimize the kernel to their particular machine, or to a user who has `rolled their own' kernel to support a not so common piece of hardware for which automatic detection is currently not available (e.g. some old ISA devices).

IMPORTANT NOTE: Driver related boot prompt arguments only apply to hardware drivers that are compiled directly into the kernel. They have no effect on drivers that are loaded as modules. Most Linux distributions come with a basic `bare-bones' kernel, and the drivers are small modules that are loaded after the kernel has initialized. If you are unsure if you are using modules then try lsmod, look at man depmod and man modprobe along with the contents of your /etc/modules.conf.

1.2 Related Documentation

The most up-to-date documentation will always be the kernel source itself. Hold on! Don't get scared. You don't need to know any programming to read the comments in the source files. For example, if you were looking for what arguments could be passed to the AHA1542 SCSI driver, then you would go to the linux/drivers/scsi directory, and look in the file aha1542.c for __setup(... , ...). The first thing in brackets is the argument you provide at boot, and the second thing is the name of the function that processes your argument. Usually near the top of this function or at the top of the source file you will find a description of the boot time arguments that the driver accepts.

The linux directory is usually found in /usr/src/ for most distributions. All references in this document to files that come with the kernel will have their pathname abbreviated to start with linux - you will have to add the /usr/src/ or whatever is appropriate for your system. (If you can't find the file in question, then make use of the find and locate commands.)

The next best thing will be any documentation files that are distributed with the kernel itself. There are now quite a few of these, and most of them can be found in the directory linux/Documentation and subdirectories from there. Sometimes there will be README.foo files that can be found in the related driver directory (e.g. linux/drivers/???/, where examples of ??? could be scsi, char, or net).

If you have figured out what boot-args you intend to use, and now want to know how to get that information to the kernel, then look at the documentation that comes with the software that you use to boot the kernel (e.g. LILO or loadlin). A brief overview is given below, but it is no substitute for the documentation that comes with the booting software.

1.3 The Linux Newsgroups

If you have questions about passing boot arguments to the kernel, please check this document first. If this and the related documentation mentioned above does not answer your question(s) then you can try the Linux newsgroups. General questions on how to configure your system should be directed to the comp.os.linux.setup newsgroup. We ask that you please respect this general guideline for content, and don't cross-post your request to other groups.

Of course you should try checking the group before blindly posting your question, as it may even be a Frequently Asked Question (a FAQ). A quick browse of the Linux FAQ before posting is a good idea. You should be able to find the FAQ somewhere close to where you found this document. If it is not a FAQ then use newsgroup archives, such as those at http://www.dejanews.com to quickly search years worth of postings for your topic. Chances are someone else has already asked (and another person answered!) the question that you now have.

1.4 New Versions of this Document

New versions of this document can be retrieved via anonymous FTP from most Linux FTP sites in the directory /pub/Linux/docs/HOWTO/. Updates will be made as new information and/or drivers becomes available. If this copy that you are presently reading is more than six months old, then you should probably check to see if a newer copy exists. I would recommend viewing this via a WWW browser or in the Postscript/dvi format. Both of these contain cross-references that are lost in a simple plain text version.

If you want to get the official copy, here is URL.

BootPrompt-HOWTO


Next Previous Contents