Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2335)

Unified Diff: scripts/newbitmaps/README

Issue 6825032: Add the latest localized text strings, update scripts to support them. (Closed) Base URL: ssh://gitrw.chromium.org:9222/vboot_reference.git@master
Patch Set: Created 9 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | scripts/newbitmaps/images/1280x800/Developer.bmp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: scripts/newbitmaps/README
diff --git a/scripts/newbitmaps/README b/scripts/newbitmaps/README
index d07be4ddcf4c6b7bf7a869f2cdbeb175777de647..bc8cb8f93fbc831b1687fec868205b5cf344ccbd 100644
--- a/scripts/newbitmaps/README
+++ b/scripts/newbitmaps/README
@@ -14,15 +14,15 @@ BIOS is compiled. The result is an opaque blob that cannot be viewed or
edited with linux-based tools.
-New-style bitmaps:
+New-style bitmaps (version 1.0):
Future BIOSes will continue to display the same basic screens, but using a
-different format. Each screen will have separate bitmaps for the basic
-graphic, the URL, and the informative text, and will be displayed by
-rendering each component in order. This will allow us to modify and replace
-any bitmap (most frequently the HWID), using standard command-line tools
-such as imagemagick. Compositing each screen in this way also means that we
-can easily provide localized BIOS screens or custom messages.
+different format. Each screen has separate bitmaps for the basic graphic,
+the URL, and the informative text, and will be displayed by rendering each
+component in order. This will allow us to modify and replace any bitmap
+(most frequently the HWID), using standard command-line tools such as
+imagemagick. Compositing each screen in this way also means that we can
+easily provide localized BIOS screens or custom messages.
Note:
@@ -31,7 +31,7 @@ Because the bitmap images and display code is part of the Read-Only BIOS,
back-porting the new-style bitmaps to older devices is not possible.
-Instructions:
+Manual instructions:
The bmpblk_utility reads a config file and produces a binary bmpblock. The
config file lists the individual bitmaps and describes where to place each
@@ -41,11 +41,11 @@ composited screens as described by the config file.
* First, get the bitmap_viewer working. This is best used OUTSIDE of the
chroot. Test it by changing to the scripts/newbitmaps/images/1280x800
- directory and running "../../bitmap_viewer unknown.yaml". You may need to
- install some additional packages. For example, on Ubuntu you'll probably
- need to install the "python-yaml" and "python-wxgtk2.8" packages.
+ directory and running "../../bitmap_viewer hwid_unknown.yaml". You may
+ need to install some additional packages. For example, on Ubuntu you'll
+ probably need to install the "python-yaml" and "python-wxgtk2.8" packages.
-* Now make changes to the unknown.yaml config file, and use the
+* Now make changes to the hwid_unknown.yaml config file, and use the
bitmap_viewer to see how the layout looks. Hit Ctrl-R in the small window
to reload the config file without restarting.
@@ -59,7 +59,7 @@ composited screens as described by the config file.
* When you have the screens tweaked to your satisfaction, generate the
binary bmpblock to embed into the BIOS.
- bmpblk_utility -c unknown.yaml bmpblock.bin
+ bmpblk_utility -c hwid_unknown.yaml bmpblock.bin
* Use the gbb_utility to modify the BIOS to contain our new set of bitmaps.
@@ -74,7 +74,7 @@ composited screens as described by the config file.
Get a copy of the current BIOS.
- flashrom -r bios.bin
+ flashrom -p internal:bus=spi -r bios.bin
Put our bmpblock in our copy of the BIOS
@@ -82,7 +82,7 @@ composited screens as described by the config file.
Reflash the BIOS with the new content
- flashrom -w bios.bin
+ flashrom -p internal:bus=spi -w bios.bin
* Reboot. You should see your new bitmaps appear whenever the BIOS screens
are displayed. If you have more than one localization, you should be able
@@ -96,3 +96,92 @@ composited screens as described by the config file.
bmpblk_utility -y bmpblock.bin
bmpblk_utility -x -d /SOME/SCRATCH/DIR bmpblock.bin
+
+ Once you've unpacked it you can use the bitmap_viewer on the unpacked yaml
+ file to see what it looks like. There's not (yet) a single tool that just
+ displays the raw binary.
+
+
+
+Automated instructions:
+
+If you've got a LOT of HWIDs to generate, this is one way to do it. You can
+do this entirely outside of the chroot if you've built vboot_reference
+natively and put the resulting binaries into your $PATH.
+
+
+* First, we generate the strings and bitmaps for each HWID:
+
+ cd ./strings
+ mkdir ./hwids
+ cd ./hwids
+
+ Put the list of new HWIDs strings into a file 'w':
+
+ SAMS ALEX ALPHA-US
+ SAMS ALEX ALPHA-GB
+ SAMS ALEX ALPHA-FR
+ SAMS ALEX ALPHA-DE
+ SAMS ALEX ALPHA-ES
+
+ You need to generate the HWID checksum numbers. I wrote this script, named
+ 'hwidsum', to append the digits to the string:
+
+ #!/usr/bin/python
+ import sys,zlib;
+ me=' '.join(sys.argv[1:]);
+ print me, ('%04u'%(zlib.crc32(me)&0xffffffffL))[-4:]
+
+
+ Run another script like this to generate the checksums for the whole list:
+
+ #!/bin/bash
+ while read STUFF; do
+ full=$(hwidsum "$STUFF")
+ str=$(echo "HWID ${full}" | sed 's/ /_/g').txt
+ echo "$full" > "$str"
+ done < w
+
+
+ And now convert the text files into bmps:
+
+ ../text_to_bmp *.txt
+
+
+* Move those HWID bmp files to the appropriate images directory:
+
+ pushd ../../images/1280x800/
+ mkdir ./hwids
+ mv ~1/*.bmp ./hwids/
+
+
+* Generate the yaml files for all these new HWIDs:
+
+ ../make_yaml_from_hwids hwids/*.bmp
+
+
+* Look at them with the bitmap viewer if you want.
+
+ ../../bitmap_viewer hwid_sams_alex_alpha-us_4504.yaml
+
+
+* Convert the yaml files into bitmap blobs:
+
+ for i in *.yaml; do bmpblk_utility -c $i ${i%.yaml}.bin; done
+
+
+* Test the bitmaps on a running system:
+
+ As root on an Alex, for example, you'd say something like this:
+
+ stop update-engine
+ cd /mnt/stateful_partition
+ flashrom -p internal:bus=spi -r bios.rom
+ scp USER@HOST:/SOME/PATH/TO/hwid_sams_alex_alpha-us_4504.bin .
+ gbb_utility -s \
+ -i 'SAMS ALEX ALPHA-US 4504' \
+ -b hwid_sams_alex_alpha-us_4504.bin
+ bios.rom newbios.rom
+ flashrom -p internal:bus=spi -w newbios.rom
+
+ Then reboot and see what happens.
« no previous file with comments | « no previous file | scripts/newbitmaps/images/1280x800/Developer.bmp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698