Root/
1 | #!/bin/sh |
2 | # extracts .config info from a [b]zImage file |
3 | # uses: binoffset (new), dd, zcat, strings, grep |
4 | # $arg1 is [b]zImage filename |
5 | |
6 | binoffset="./scripts/binoffset" |
7 | test -e $binoffset || cc -o $binoffset ./scripts/binoffset.c || exit 1 |
8 | |
9 | IKCFG_ST="0x49 0x4b 0x43 0x46 0x47 0x5f 0x53 0x54" |
10 | IKCFG_ED="0x49 0x4b 0x43 0x46 0x47 0x5f 0x45 0x44" |
11 | dump_config() { |
12 | file="$1" |
13 | |
14 | start=`$binoffset $file $IKCFG_ST 2>/dev/null` |
15 | [ "$?" != "0" ] && start="-1" |
16 | if [ "$start" -eq "-1" ]; then |
17 | return |
18 | fi |
19 | end=`$binoffset $file $IKCFG_ED 2>/dev/null` |
20 | |
21 | start=`expr $start + 8` |
22 | size=`expr $end - $start` |
23 | |
24 | dd if="$file" ibs=1 skip="$start" count="$size" 2>/dev/null | zcat |
25 | |
26 | clean_up |
27 | exit 0 |
28 | } |
29 | |
30 | |
31 | usage() |
32 | { |
33 | echo " usage: extract-ikconfig [b]zImage_filename" |
34 | } |
35 | |
36 | clean_up() |
37 | { |
38 | if [ "$TMPFILE" != "" ]; then |
39 | rm -f $TMPFILE |
40 | fi |
41 | } |
42 | |
43 | if [ $# -lt 1 ] |
44 | then |
45 | usage |
46 | exit 1 |
47 | fi |
48 | |
49 | TMPFILE=`mktemp -t ikconfig-XXXXXX` || exit 1 |
50 | image="$1" |
51 | |
52 | # vmlinux: Attempt to dump the configuration from the file directly |
53 | dump_config "$image" |
54 | |
55 | GZHDR1="0x1f 0x8b 0x08 0x00" |
56 | GZHDR2="0x1f 0x8b 0x08 0x08" |
57 | |
58 | # vmlinux.gz: Check for a compressed images |
59 | off=`$binoffset "$image" $GZHDR1 2>/dev/null` |
60 | [ "$?" != "0" ] && off="-1" |
61 | if [ "$off" -eq "-1" ]; then |
62 | off=`$binoffset "$image" $GZHDR2 2>/dev/null` |
63 | [ "$?" != "0" ] && off="-1" |
64 | fi |
65 | if [ "$off" -eq "0" ]; then |
66 | zcat <"$image" >"$TMPFILE" |
67 | dump_config "$TMPFILE" |
68 | elif [ "$off" -ne "-1" ]; then |
69 | (dd ibs="$off" skip=1 count=0 && dd bs=512k) <"$image" 2>/dev/null | \ |
70 | zcat >"$TMPFILE" |
71 | dump_config "$TMPFILE" |
72 | fi |
73 | |
74 | echo "ERROR: Unable to extract kernel configuration information." |
75 | echo " This kernel image may not have the config info." |
76 | |
77 | clean_up |
78 | exit 1 |
79 |
Branches:
ben-wpan
ben-wpan-stefan
javiroman/ks7010
jz-2.6.34
jz-2.6.34-rc5
jz-2.6.34-rc6
jz-2.6.34-rc7
jz-2.6.35
jz-2.6.36
jz-2.6.37
jz-2.6.38
jz-2.6.39
jz-3.0
jz-3.1
jz-3.11
jz-3.12
jz-3.13
jz-3.15
jz-3.16
jz-3.18-dt
jz-3.2
jz-3.3
jz-3.4
jz-3.5
jz-3.6
jz-3.6-rc2-pwm
jz-3.9
jz-3.9-clk
jz-3.9-rc8
jz47xx
jz47xx-2.6.38
master
Tags:
od-2011-09-04
od-2011-09-18
v2.6.34-rc5
v2.6.34-rc6
v2.6.34-rc7
v3.9