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