wok-current annotate linux-source/stuff/rdev @ rev 13194

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