Kernel Hackers,
Could someone be so kind to point me to a page where I can find
a list of parameters I can pass to a kernel on boot. I am looking for
a way to load drivers at boot (like if a RAID controller fails - and I
don't have the exact replacement: how can I load a new driver). I
am really just looking for the doc. Thanks in advance!
--
Kind Regards,
Timothy A. DeWees
On Wed, Dec 06, 2000 at 08:31:31AM -0500, Timothy A. DeWees wrote:
Hi!
> a list of parameters I can pass to a kernel on boot. I am looking for
./linux/init/main.c
MfG, JBG
--
Fehler eingestehen, Gr??e zeigen: Nehmt die Rechtschreibreform zur?ck!!!
/* Jan-Benedict Glaw <[email protected]> -- +49-177-5601720 */
keyID=0x8399E1BB fingerprint=250D 3BCF 7127 0D8C A444 A961 1DBD 5E75 8399 E1BB
"insmod vi.o and there we go..." (Alexander Viro on linux-kernel)
> Could someone be so kind to point me to a page where I can find
> a list of parameters I can pass to a kernel on boot.
AFAIK, the Linux BootPrompt-HowTo is what you are looking for, however, it doesn't provide a FULL list of kernel arguments, for which you are directed to the sources:-)
Guennadi
[Timothy A. DeWees]
> Could someone be so kind to point me to a page where I can find a
> list of parameters I can pass to a kernel on boot.
Documentation/kernel-parameters.txt
Peter
Timothy A. DeWees wrote:
> Could someone be so kind to point me to a page where I can find
> a list of parameters I can pass to a kernel on boot.
The following script lists almost all parameters your 2.4 kernel accepts.
The exceptions are parameters obtained via non-standard means, i.e.
- init= in init/main.c
- mem=, nopentium, etc. in arch/*/kernel/setup.c (i386 examples)
- anything your boot loader catches and hides (e.g. vga=, initrd=)
Only tested on i386. Probably works on other 32 bit platforms, but
not on true 64 bit platforms. Should do more error checking.
Usage:
./lss.pl /wherever/vmlinux
- Werner
----------------------------------- lss.pl ------------------------------------
#!/usr/bin/perl
open(KERNEL,$ARGV[0]) || die "open $ARGV[0]: $!";
for (split("\n",`objdump -h $ARGV[0]`)) {
next unless /^\s*\d+\s+(\S+)\s+(\S+)\s+(\S+)\s+\S+\s+(\S+)/;
($size{$1}, $addr{$1}, $offset{$1}) = (hex $2, hex $3, hex $4);
}
die "kernel too old for __setup" unless defined $size{".setup.init"};
for ($i = 0; $i < $size{".setup.init"}; $i += 8) {
sysseek(KERNEL,$offset{".setup.init"}+$i,0);
sysread(KERNEL,$pos,4);
$pos = unpack("L",$pos);
sysseek(KERNEL,$pos-$addr{".data.init"}+$offset{".data.init"},0);
sysread(KERNEL,$str,256);
$str =~ s/\000.*/\n/s;
print $str;
}
--
_________________________________________________________________________
/ Werner Almesberger, ICA, EPFL, CH [email protected] /
/_IN_N_032__Tel_+41_21_693_6621__Fax_+41_21_693_6610_____________________/