Root/target/linux/ps3/petitboot/base-files/sbin/ps3-bl-option

1#!/bin/sh
2#
3# Copyright (C) 2008 Sony Computer Entertainment Inc.
4# Copyright 2008 Sony Corp.
5#
6# This program is free software; you can redistribute it and/or modify
7# it under the terms of the GNU General Public License as published by
8# the Free Software Foundation; version 2 of the License.
9#
10# This program is distributed in the hope that it will be useful,
11# but WITHOUT ANY WARRANTY; without even the implied warranty of
12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13# GNU General Public License for more details.
14#
15# You should have received a copy of the GNU General Public License
16# along with this program; if not, write to the Free Software
17# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18#
19
20usage() {
21    echo -n "
22SYNOPSIS
23     ps3-bl-option [OPTION]
24DESCRIPTION
25     Get and set PS3 bootloader options in flash.
26OPTIONS
27     -m, --get-video-mode
28             Get the bootloader video mode.
29     -M, --set-video-mode value
30             Set the bootloader video mode.
31     -o, --get-bootloader-timeout
32             Get the bootloader timeout in seconds.
33     -O, --set-bootloader-timeout value
34             Set the bootloader timeout in seconds.
35     -p, --get-bootloader-default
36             Get the default bootloader menu item.
37     -P, --set-bootloader-default value
38             Set the default bootloader menu item.
39     -t, --get-telnet-enabled
40             Get the telnet enabled flag.
41     -T, --set-telnet-enabled value
42             Set the telnet enabled flag.
43     -h, --help
44             Print a help message.
45SEE ALSO
46     ps3-flash-util(8)
47"
48}
49
50bad_arg() {
51    echo "ERROR: bad arg" >&2;
52    usage
53    exit 1
54}
55
56if [ "$#" -eq 0 ] ; then
57    bad_arg
58fi
59
60get_flag() {
61    flags=`ps3-flash-util --db-print $1 $2`
62    echo $(( ${flags:-0} & $3 ))
63}
64
65set_flag() {
66    flags=`ps3-flash-util --db-print $1 $2`
67
68    if [ $4 -eq 0 ]; then
69        ps3-flash-util --db-write-half $1 $2 $(( ${flags:-0} & ~$3 ))
70    else
71        ps3-flash-util --db-write-half $1 $2 $(( ${flags:-0} | $3 ))
72    fi
73}
74
75# owners
76bootloader="3"
77
78# keys
79item="1"
80video="2"
81flags="3"
82timeout="4"
83
84# flags
85telnet="1"
86
87case "$1" in
88    -m | --get-video-mode)
89        ps3-flash-util --db-print ${bootloader} ${video}
90        ;;
91    -M | --set-video-mode)
92        ps3-flash-util --db-write-half ${bootloader} ${video} $2
93        ;;
94    -o | --get-bootloader-timeout)
95        ps3-flash-util --db-print ${bootloader} ${timeout}
96        ;;
97    -O | --set-bootloader-timeout)
98        ps3-flash-util --db-write-half ${bootloader} ${timeout} $2
99        ;;
100    -p | --get-bootloader-default)
101        ps3-flash-util --db-print ${bootloader} ${item}
102        ;;
103    -P | --set-bootloader-default)
104        ps3-flash-util --db-write-word ${bootloader} ${item} $2
105        ;;
106    -t | --get-telnet-enabled)
107        get_flag ${bootloader} ${flags} ${telnet}
108        ;;
109    -T | --set-telnet-enabled)
110        set_flag ${bootloader} ${flags} ${telnet} $2
111        ;;
112    -h | --help)
113        usage
114        exit 0
115        ;;
116    *)
117        bad_arg
118        ;;
119esac
120

Archive Download this file



interactive