summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xutil/chromeos/crosfirmware.sh82
1 files changed, 38 insertions, 44 deletions
diff --git a/util/chromeos/crosfirmware.sh b/util/chromeos/crosfirmware.sh
index 455e7b15ff..3d0f0612f8 100755
--- a/util/chromeos/crosfirmware.sh
+++ b/util/chromeos/crosfirmware.sh
@@ -28,93 +28,88 @@ exit_if_dependencies_are_missing() {
exit_if_uninstalled "unzip" "unzip"
}
-get_inventory()
-{
+get_inventory() {
_conf=$1
_url=https://dl.google.com/dl/edgedl/chromeos/recovery/recovery.conf
echo "Downloading recovery image inventory..."
- curl -s "$_url" > $_conf
+ curl -s "$_url" >$_conf
}
-download_image()
-{
+download_image() {
_url=$1
_file=$2
echo "Downloading recovery image"
- curl "$_url" > "$_file.zip"
+ curl "$_url" >"$_file.zip"
echo "Decompressing recovery image"
unzip -q "$_file.zip"
rm "$_file.zip"
}
-extract_partition()
-{
+extract_partition() {
NAME=$1
FILE=$2
ROOTFS=$3
_bs=1024
echo "Extracting ROOT-A partition"
- ROOTP=$( printf "unit\nB\nprint\nquit\n" | \
- parted $FILE 2>/dev/null | grep $NAME )
+ ROOTP=$(printf "unit\nB\nprint\nquit\n" |
+ parted $FILE 2>/dev/null | grep $NAME)
if [ "$ROOTP" == "" ]; then
# Automatic extraction failed, likely due to parted detecting
# overlapping partitions. Fall back to using fdisk and assume
# ROOT-A is partition #3
echo "(Extracting via parted failed; falling back to fdisk)"
- _ssize=$(printf "p q" | fdisk $FILE | grep "Sector size" | \
+ _ssize=$(printf "p q" | fdisk $FILE | grep "Sector size" |
cut -f2 -d: | cut -f2 -d ' ')
- _start=$(printf "p q" | fdisk $FILE | grep "bin3" | tr -s ' ' | \
+ _start=$(printf "p q" | fdisk $FILE | grep "bin3" | tr -s ' ' |
cut -f2 -d ' ')
- _nsec=$(printf "p q" | fdisk $FILE | grep "bin3" | tr -s ' ' | \
+ _nsec=$(printf "p q" | fdisk $FILE | grep "bin3" | tr -s ' ' |
cut -f4 -d ' ')
START=$(($_ssize * $_start))
SIZE=$(($_ssize * $_nsec))
else
- START=$(( $( echo $ROOTP | cut -f2 -d\ | tr -d "B" ) ))
- SIZE=$(( $( echo $ROOTP | cut -f4 -d\ | tr -d "B" ) ))
+ START=$(($(echo $ROOTP | cut -f2 -d\ | tr -d "B")))
+ SIZE=$(($(echo $ROOTP | cut -f4 -d\ | tr -d "B")))
fi
- dd if=$FILE of=$ROOTFS bs=$_bs skip=$(( $START / $_bs )) \
- count=$(( $SIZE / $_bs )) > /dev/null 2>&1
+ dd if=$FILE of=$ROOTFS bs=$_bs skip=$(($START / $_bs)) \
+ count=$(($SIZE / $_bs)) >/dev/null 2>&1
}
-extract_shellball()
-{
+extract_shellball() {
ROOTFS=$1
SHELLBALL=$2
echo "Extracting chromeos-firmwareupdate"
- printf "cd /usr/sbin\ndump chromeos-firmwareupdate $SHELLBALL\nquit" | \
- debugfs $ROOTFS > /dev/null 2>&1
+ printf "cd /usr/sbin\ndump chromeos-firmwareupdate $SHELLBALL\nquit" |
+ debugfs $ROOTFS >/dev/null 2>&1
}
-extract_coreboot()
-{
+extract_coreboot() {
_shellball=$1
- _unpacked=$( mktemp -d )
+ _unpacked=$(mktemp -d)
echo "Extracting coreboot image"
- if ! sh $_shellball --unpack $_unpacked > /dev/null 2>&1; then
- sh $_shellball --sb_extract $_unpacked > /dev/null 2>&1
+ if ! sh $_shellball --unpack $_unpacked >/dev/null 2>&1; then
+ sh $_shellball --sb_extract $_unpacked >/dev/null 2>&1
fi
if [ -d $_unpacked/models/ ]; then
- _version=$( cat $_unpacked/VERSION | grep -m 1 -e Model.*$_board -A5 \
- | grep "BIOS (RW) version:" | cut -f2 -d: | tr -d \ )
+ _version=$(cat $_unpacked/VERSION | grep -m 1 -e Model.*$_board -A5 |
+ grep "BIOS (RW) version:" | cut -f2 -d: | tr -d \ )
if [ "$_version" == "" ]; then
- _version=$( cat $_unpacked/VERSION | grep -m 1 -e Model.*$_board -A5 \
- | grep "BIOS version:" | cut -f2 -d: | tr -d \ )
+ _version=$(cat $_unpacked/VERSION | grep -m 1 -e Model.*$_board -A5 |
+ grep "BIOS version:" | cut -f2 -d: | tr -d \ )
fi
- _bios_image=$(grep "IMAGE_MAIN" $_unpacked/models/$_board/setvars.sh \
- | cut -f2 -d\")
+ _bios_image=$(grep "IMAGE_MAIN" $_unpacked/models/$_board/setvars.sh |
+ cut -f2 -d\")
else
- _version=$( cat $_unpacked/VERSION | grep BIOS\ version: | \
- cut -f2 -d: | tr -d \ )
+ _version=$(cat $_unpacked/VERSION | grep BIOS\ version: |
+ cut -f2 -d: | tr -d \ )
_bios_image=bios.bin
fi
if cp $_unpacked/$_bios_image coreboot-$_version.bin; then
@@ -124,8 +119,7 @@ extract_coreboot()
rm $_shellball
}
-do_one_board()
-{
+do_one_board() {
_board=$1
_url=$2
_file=$3
@@ -148,25 +142,25 @@ BOARD=$1
exit_if_dependencies_are_missing
if [ "$BOARD" == "all" ]; then
- CONF=$( mktemp )
+ CONF=$(mktemp)
get_inventory $CONF
- grep ^name= $CONF| while read _line; do
- name=$( echo $_line | cut -f2 -d= )
+ grep ^name= $CONF | while read _line; do
+ name=$(echo $_line | cut -f2 -d=)
echo Processing board $name
- eval $( grep -v hwid= $CONF | grep -A11 "$_line" | \
- grep '\(url=\|file=\)' )
- BOARD=$( echo $url | cut -f3 -d_ )
+ eval $(grep -v hwid= $CONF | grep -A11 "$_line" |
+ grep '\(url=\|file=\)')
+ BOARD=$(echo $url | cut -f3 -d_)
do_one_board $BOARD $url $file
done
rm "$CONF"
elif [ "$BOARD" != "" ]; then
- CONF=$( mktemp )
+ CONF=$(mktemp)
get_inventory $CONF
echo Processing board $BOARD
- eval $( grep -i $BOARD -A8 $CONF | grep '\(url=\|file=\)' )
+ eval $(grep -i $BOARD -A8 $CONF | grep '\(url=\|file=\)')
do_one_board $BOARD $url $file
rm "$CONF"