lkml.org 
[lkml]   [2000]   [Dec]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Kernel boot params
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 Werner.Almesberger@epfl.ch /
/_IN_N_032__Tel_+41_21_693_6621__Fax_+41_21_693_6610_____________________/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:28    [W:0.065 / U:2.132 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site