mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-11-24 02:05:01 +00:00
This CL modifies the bitmap generation script as follows:
- allow to specify required geometry of the images and to
generate a single set per FWID instead of generating all
geometries for all FWIDs
- store the images and the zip archive in a directory with
the name derived from FWID.
The CL also adds a wrapper, which given the path to the tree
containing already released GBB firmware volumes would find
all valid (as verified by the CRC in the file name) FWIDs
and generate new images for all detected FWIDs.
The geometry of the generated images is based on the FWID
contents, Marios get 1280x800 and ZGAs - 1366x768.
Once this script stops running, the scripts/bitmaps
directory contains a set of subdirectories, one per
generated set of images.
Another script ran by cygwin on a windows machine was used
to pick up all image sets and regenerate GBB firmware
volumes, will be published under a separate CL.
BUG=chrome-os-partner:792
TEST=see below:
Ran the following command:
./process_all_targets.sh ../../../chromeos-internal/third_party/autotest/files/client/site_tests/
After command completed, the following out_* directories showed up:
(bitmaps 144) ls -1d out*
out_ACER_ASPIREONE_001_8012/
out_ACER_ASPIREONE_001_DEV_0393/
out_ACER_ASPIREONE_002_0710/
out_ACER_ASPIREONE_002_DEV_1017/
out_IEC_MARIO_FISH_2330/
out_IEC_MARIO_PONY_6101/
out_IEC_MARIO_PONY_DEV_3342/
out_IEC_MARIO_PONY_DVT_8784/
out_IEC_MARIO_PONY_EVT_3495/
out_IEC_MARIO_PONY_PREDVT_6766/
with typical directory contents as follows:
(bitmaps 145) tree out_ACER_ASPIREONE_001_8012/
out_ACER_ASPIREONE_001_8012/
|-- 1366x768.zip
|-- BlankBmp
| `-- BlankBmp.bmp
|-- DeveloperBmp
| `-- DeveloperBmp.bmp
|-- RecoveryBmp
| `-- RecoveryBmp.bmp
|-- RecoveryMissingOSBmp
| `-- RecoveryMissingOSBmp.bmp
`-- RecoveryNoOSBmp
`-- RecoveryNoOSBmp.bmp
5 directories, 6 files
Review URL: http://codereview.chromium.org/4147008
69 lines
1.9 KiB
Bash
Executable File
69 lines
1.9 KiB
Bash
Executable File
#!/bin/bash -e
|
|
# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
#
|
|
# This script searches the directory tree passed in as the parameter for
|
|
# bmp_*.fv files, figures out the FWID strings from files' names, verifies the
|
|
# FWIDs' integrity (by recalculating the CRC included in the FWID string) and
|
|
# then rebuilds the bitmaps with the appropriate text and target specific
|
|
# geometry.
|
|
#
|
|
|
|
|
|
# Given a string "<prefix>_<el1>_<el2>_.._<eln>_<suffix>" print string
|
|
# '<el1> <el2> .. <eln>', i.e. <prefix>_ and _<suffix> dropped and underscores
|
|
# replaced with spaces.
|
|
get_elements() {
|
|
echo $1 | awk 'BEGIN {FS="_"}; {
|
|
x = 2;
|
|
do {
|
|
printf "%s ", $x;
|
|
x += 1
|
|
} while (x < (NF - 1))
|
|
printf "%s", $(NF-1);
|
|
}'
|
|
}
|
|
|
|
# Concatenate input parameters into a space separated string, calculate the
|
|
# string's CRC32 and print the last four hex digits of the crc.
|
|
signer() {
|
|
python -c "import sys,zlib;
|
|
me=' '.join(sys.argv[1:]);
|
|
print ('%04u'%(zlib.crc32(me)&0xffffffffL))[-4:]" $1
|
|
}
|
|
|
|
|
|
if [ "$#" != "1" -o ! -d "$1" ]; then
|
|
echo "One parameter is required, the path to the chromeos release tree" >&2
|
|
exit 1
|
|
fi
|
|
|
|
tree=$(readlink -f $1)
|
|
cd $(dirname "$0")
|
|
for f in $(find "${tree}" -type f -name 'bmp_*_[0-9]*.fv'); do
|
|
filename=$(basename "$f")
|
|
elements="$(get_elements $filename)"
|
|
signature=$(signer "${elements}")
|
|
|
|
# Rebuild file name to verify CRC.
|
|
comp_name=bmp_${elements// /_}_${signature}.fv
|
|
if [ "${filename}" != "${comp_name}" ]; then
|
|
echo "skipping ${filename} (crc mismatch with ${comp_name})"
|
|
continue
|
|
fi
|
|
echo "Processing ${filename}"
|
|
case "${elements}" in
|
|
(*ACER*) geometry='1366x768'
|
|
;;
|
|
(*MARIO*) geometry='1280x800'
|
|
;;
|
|
(*) echo "skipping ${filename}, unknown target geometry"
|
|
echo
|
|
continue
|
|
;;
|
|
esac
|
|
./make_bmp_images.sh "${elements} ${signature}" "${geometry}"
|
|
echo
|
|
done
|