wok-current annotate linux-source/stuff/rdev @ rev 13195
linux-source/rdev: fix format
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Sun Aug 05 09:49:35 2012 +0200 (2012-08-05) |
parents | 593cb33c57e1 |
children | 4d8ac8a31cab |
rev | line source |
---|---|
pascal@13194 | 1 #!/bin/sh |
pascal@13194 | 2 |
pascal@13194 | 3 sw="" |
pascal@13195 | 4 case "$0" in |
pascal@13195 | 5 *rootflags) sw="-R" ;; |
pascal@13195 | 6 *ramsize) sw="-r" ;; |
pascal@13195 | 7 *vidmode) sw="-v" ;; |
pascal@13194 | 8 esac |
pascal@13194 | 9 [ -n "$sw" ] && set -- $sw "$@" |
pascal@13194 | 10 |
pascal@13195 | 11 ofs=508 |
pascal@13195 | 12 img= |
pascal@13195 | 13 val= |
pascal@13195 | 14 fmt="Root device 0x%04X" |
pascal@13194 | 15 while [ -n "$1" ]; do |
pascal@13194 | 16 case "$1" in |
pascal@13195 | 17 -R) ofs=498; fmt="Root flags %u" ;; |
pascal@13195 | 18 -r) ofs=504; fmt="Ramsize %u" ;; |
pascal@13195 | 19 -v) ofs=506; fmt="Video mode %u" ;; |
pascal@13195 | 20 -o) ofs=$(($2)); shift ;; |
pascal@13195 | 21 *-h*) echo "Usage: rdev [-Rrvh] [-o offset] [kernel [data [offset]]]" |
pascal@13195 | 22 exit 1 ;; |
pascal@13195 | 23 *) if [ -z "$img" ]; then |
pascal@13195 | 24 img="$1" |
pascal@13195 | 25 elif [ -z "$val" ]; then |
pascal@13195 | 26 val="$1" |
pascal@13195 | 27 [ "${val:0:5}" == "/dev/" ] && |
pascal@13195 | 28 val=$((256*$(stat -c %t $val)+$(stat -c %T $val))) |
pascal@13194 | 29 else |
pascal@13195 | 30 ofs=$(($1)) |
pascal@13194 | 31 fi |
pascal@13194 | 32 esac |
pascal@13194 | 33 shift |
pascal@13194 | 34 done |
pascal@13194 | 35 |
pascal@13195 | 36 dd="dd bs=1 conv=notrunc count=2" |
pascal@13195 | 37 if [ ! -s "$img" ]; then |
pascal@13194 | 38 printf "0x%04X /\n" $(cat /proc/sys/kernel/real-root-dev) |
pascal@13195 | 39 elif [ -n "$val" ]; then |
pascal@13194 | 40 for i in 1 2; do |
pascal@13195 | 41 printf '\\\\x%02X' $(($val & 255)) |
pascal@13195 | 42 val=$(($val >> 8)) |
pascal@13195 | 43 done | xargs echo -en | $dd of=$img seek=$ofs |
pascal@13194 | 44 else |
pascal@13195 | 45 $dd if=$img skip=$ofs | hexdump -e "\"\" 1/2 \"$fmt\" \"\n\"" |
pascal@13195 | 46 fi 2>/dev/null |