Merge remote-tracking branch 'origin/int_tr65_nra_2.3.2' into dev_tr65_ACA_871_chemin...
[debian6500.git] / install / bios / update_bios_cfg.sh
CommitLineData
4e802319 1#!/bin/sh
2
3PROGNAME=$(basename $0)
4
5# check binary directory
6
7mydir=$(dirname $0)
8mydir=$(cd $mydir; pwd)
9
10# formating functions
11
016d4810 12_echo () { printf "$@\n"; }
4e802319 13title () { _echo "\033[0;1m$*\033[0;0m"; }
14pass () { _echo "\033[1;32m$*\033[0;0m"; }
15warn () { _echo "\033[1;33m$*\033[0;0m"; }
16fail () { _echo "\033[1;31m$*\033[0;0m"; }
17
18usage () {
19 echo "usage: $PROGNAME [-h] [-y] [-Y]"
20 echo " -h: help message"
21 echo " -y: really do update"
22 echo " -Y: do not ask for confirmation"
23 exit $@
24}
25
26# do command
27
28do_cmd () {
29 if [ "$DUMMY" = "no" ]; then
30 warn $@
31 { eval $@; } && pass OK || { fail KO; exit 1; }
32 else
33 echo ":: $@"
34 fi
35}
36
37# argument processing
38
39while [ $# -gt 0 ]; do
40 case "$1" in
41 -h) usage 0;;
42 -y) DUMMY=no;;
43 -Y) ANS=yes
44 esac
45 shift
46done
47[ "$DUMMY" = "no" ] && \
48 fail "Real mode, things will really append" || \
49 warn "Dummy mode, nothing will be done"
50if [ ! "$ANS" = "yes" ]; then
016d4810
TPVT
51 printf "Press 'y' to continue: "
52 read ANS
4e802319 53 [ "$ANS" = "y" ] || exit 1
54fi
55
56VERSION=$($mydir/dmidecode | awk '/BIOS Revision/ { print $(NF) }')
57title "BIOS version: $VERSION"
58
0eba6c6e
TPVT
59CFG="bios-$VERSION.cfg"
60[ -f $mydir/$CFG ] || { echo "unknown bios version ($VERSION)"; exit 1; }
4e802319 61
62title "Configure BIOS"
63do_cmd $mydir/SCELNX_64 /i /s $mydir/$CFG /q