aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/extract-ikconfig
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/extract-ikconfig')
-rwxr-xr-xscripts/extract-ikconfig14
1 files changed, 14 insertions, 0 deletions
diff --git a/scripts/extract-ikconfig b/scripts/extract-ikconfig
index 72997c353cb3..de233ff43c1c 100755
--- a/scripts/extract-ikconfig
+++ b/scripts/extract-ikconfig
@@ -17,6 +17,10 @@ dump_config() {
17 return 17 return
18 fi 18 fi
19 end=`$binoffset $file $IKCFG_ED 2>/dev/null` 19 end=`$binoffset $file $IKCFG_ED 2>/dev/null`
20 [ "$?" != "0" ] && end="-1"
21 if [ "$end" -eq "-1" ]; then
22 return
23 fi
20 24
21 start=`expr $start + 8` 25 start=`expr $start + 8`
22 size=`expr $end - $start` 26 size=`expr $end - $start`
@@ -55,6 +59,8 @@ dump_config "$image"
55GZHDR1="0x1f 0x8b 0x08 0x00" 59GZHDR1="0x1f 0x8b 0x08 0x00"
56GZHDR2="0x1f 0x8b 0x08 0x08" 60GZHDR2="0x1f 0x8b 0x08 0x08"
57 61
62ELFHDR="0x7f 0x45 0x4c 0x46"
63
58# vmlinux.gz: Check for a compressed images 64# vmlinux.gz: Check for a compressed images
59off=`$binoffset "$image" $GZHDR1 2>/dev/null` 65off=`$binoffset "$image" $GZHDR1 2>/dev/null`
60[ "$?" != "0" ] && off="-1" 66[ "$?" != "0" ] && off="-1"
@@ -69,6 +75,14 @@ elif [ "$off" -ne "-1" ]; then
69 (dd ibs="$off" skip=1 count=0 && dd bs=512k) <"$image" 2>/dev/null | \ 75 (dd ibs="$off" skip=1 count=0 && dd bs=512k) <"$image" 2>/dev/null | \
70 zcat >"$TMPFILE" 76 zcat >"$TMPFILE"
71 dump_config "$TMPFILE" 77 dump_config "$TMPFILE"
78
79# check if this is simply an ELF file
80else
81 off=`$binoffset "$image" $ELFHDR 2>/dev/null`
82 [ "$?" != "0" ] && off="-1"
83 if [ "$off" -eq "0" ]; then
84 dump_config "$image"
85 fi
72fi 86fi
73 87
74echo "ERROR: Unable to extract kernel configuration information." 88echo "ERROR: Unable to extract kernel configuration information."