Re: Kernel boot params

From: Werner Almesberger (Werner.Almesberger@epfl.ch)
Date: Thu Dec 14 2000 - 14:35:38 EST


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/



This archive was generated by hypermail 2b29 : Fri Dec 15 2000 - 21:00:30 EST