diff options
Diffstat (limited to 'target/linux/ps3')
| -rwxr-xr-x | target/linux/ps3/base-files/bin/login | 14 | ||||
| -rw-r--r-- | target/linux/ps3/base-files/sbin/bl-option | 113 | 
2 files changed, 119 insertions, 8 deletions
diff --git a/target/linux/ps3/base-files/bin/login b/target/linux/ps3/base-files/bin/login index 98fcbf005..2e649f04f 100755 --- a/target/linux/ps3/base-files/bin/login +++ b/target/linux/ps3/base-files/bin/login @@ -1,13 +1,11 @@  #!/bin/sh  # Copyright (C) 2008 OpenWrt.org -ps3_db_bin=/usr/sbin/ps3-flash-util -ps3_db_owner_petitboot=3 -ps3_db_key_telnet=3 +bl_option=/sbin/bl-option -if [ ! -f $ps3_db_bin ] || -   [ ! `$ps3_db_bin -P $ps3_db_owner_petitboot $ps3_db_key_telnet` ] || -   [ `$ps3_db_bin -P $ps3_db_owner_petitboot $ps3_db_key_telnet` = 0 ]; then +if [ ! -f $bl_option ] || +   [ ! `$bl_option --get-telnet-enabled` ] || +   [ `$bl_option --get-telnet-enabled` = "0" ]; then      echo \  "   === IMPORTANT ========================== @@ -19,12 +17,12 @@ if [ ! -f $ps3_db_bin ] ||    You can enable telnet login with the    following command in the host console: -  # $ps3_db_bin -H $ps3_db_owner_petitboot $ps3_db_key_telnet 1 +  # $bl_option -T 1    You can disable telnet login with the    following command in the host console: -  # $ps3_db_bin -H $ps3_db_owner_petitboot $ps3_db_key_telnet 0 +  # $bl_option -T 0   ----------------------------------------  "      exit 0 diff --git a/target/linux/ps3/base-files/sbin/bl-option b/target/linux/ps3/base-files/sbin/bl-option new file mode 100644 index 000000000..8eea93d97 --- /dev/null +++ b/target/linux/ps3/base-files/sbin/bl-option @@ -0,0 +1,113 @@ +#!/bin/sh +# +#  Copyright (C) 2008 Sony Computer Entertainment Inc. +#  Copyright 2008 Sony Corp. +# +#  This program is free software; you can redistribute it and/or modify +#  it under the terms of the GNU General Public License as published by +#  the Free Software Foundation; version 2 of the License. +# +#  This program is distributed in the hope that it will be useful, +#  but WITHOUT ANY WARRANTY; without even the implied warranty of +#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the +#  GNU General Public License for more details. +# +#  You should have received a copy of the GNU General Public License +#  along with this program; if not, write to the Free Software +#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA +# + +usage() { +	echo "" >&2 +	echo "SYNOPSIS" >&2 +	echo "     bl-option [OPTION]" >&2 +	echo "" >&2 +	echo "DESCRIPTION" >&2 +	echo "     Get and set PS3 bootloader options in flash." >&2 +	echo "" >&2 +	echo "OPTIONS" >&2 +	echo "     -m, --get-video-mode" >&2 +	echo "             Get the bootloader video mode." >&2 +	echo "" >&2 +	echo "     -M, --set-video-mode value" >&2 +	echo "             Set the bootloader video mode." >&2 +	echo "" >&2 +	echo "     -p, --get-petitboot-default" >&2 +	echo "             Get the default Petitboot menu item." >&2 +	echo "" >&2 +	echo "     -P, --set-petitboot-default value" >&2 +	echo "             Set the default Petitboot menu item." >&2 +	echo "" >&2 +	echo "     -t, --get-telnet-enabled" >&2 +	echo "             Get the telnet enabled flag." >&2 +	echo "" >&2 +	echo "     -T, --set-telnet-enabled value" >&2 +	echo "             Set the telnet enabled flag." >&2 +	echo "" >&2 +	echo "     -h, --help" >&2 +	echo "             Print a help message." >&2 +	echo "" >&2 +	echo "SEE ALSO" >&2 +	echo "     ps3-flash-util(8)" >&2 +	echo "" >&2 +	exit 1 +} + +if [ "$#" -eq 0 ] ; then +	echo "ERROR: bad arg" >&2; +	usage +fi + +get_flag() { +	flags=`ps3-flash-util --db-print $1 $2` +	echo $(( ${flags:-0} & $3 )) +} + +set_flag() { +	flags=`ps3-flash-util --db-print $1 $2` + +	if [ $4 -eq 0  ]; then +		ps3-flash-util --db-write-half $1 $2 $(( ${flags:-0} & ~$3 )) +	else +		ps3-flash-util --db-write-half $1 $2 $(( ${flags:-0} | $3 )) +	fi +} + +# owners +petitboot="3" + +# keys +menu="1" +video="2" +flags="3" + +# flags +telnet="1" + +case "$1" in +	-m | --get-video-mode) +		ps3-flash-util --db-print ${petitboot} ${video} +		;; +	-M | --set-video-mode) +		ps3-flash-util --db-write-half ${petitboot} ${video} $2 +		;; +	-p | --get-petitboot-default) +		ps3-flash-util --db-print ${petitboot} ${menu} +		;; +	-P | --set-petitboot-default) +		ps3-flash-util --db-write-word ${petitboot} ${menu} $2 +		;; +	-t | --get-telnet-enabled) +		get_flag ${petitboot} ${flags} ${telnet} +		;; +	-T | --set-telnet-enabled) +		set_flag ${petitboot} ${flags} ${telnet} $2 +		;; +	-h | --help) +		usage +		;; +	*) +		echo "ERROR: bad arg $1" >&2; +		usage +		;; +esac  | 
