History log of /external/vboot_reference/utility/bmpblk_utility.cc
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
6df3e33912baf2633ed27fce6fe166d87e2f04a8 03-Oct-2014 Bill Richardson <wfrichar@chromium.org> Add hwid digest field to GBB header

This adds a field in the GBB header to store the sha256 digest of
the HWID string, and updates gbb_utility so that it stores the
digest when it modifies the HWID. Because this is a new field,
the GBB_MINOR_VER is incremented.

BUG=chromium:415227
BRANCH=ToT
TEST=make runtests, VBOOT2=1 make runtests

Since the GBB is in the RO firmware, there should be no side
effects for existing devices (but even without that, they should
handle a minor version change without complaint).

Change-Id: Icdb2a0b564677b0b65e58df897d2ec5af3964998
Signed-off-by: Bill Richardson <wfrichar@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/221360
/external/vboot_reference/utility/bmpblk_utility.cc
0c3ba249abb1dc60f5ebabccf84ff13206440b83 29-Mar-2013 Bill Richardson <wfrichar@chromium.org> Massive refactoring of external header files.

This reduces the number of exported header files to the minimum needed by
the existing userspace utilities and firmware implementations.

BUG=chromium:221544
BRANCH=none
TEST=manual, trybots
CQ-DEPEND=CL:47019,CL:47022,CL:47023

sudo FEATURES=test emerge vboot_reference
FEATURES=test emerge-$BOARD \
vboot_reference \
chromeos-cryptohome \
chromeos-installer \
chromeos-u-boot \
peach-u-boot \
depthcharge

Change-Id: I2946cc2dbaf5459a6c5eca92ca57d546498e6d85
Signed-off-by: Bill Richardson <wfrichar@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/47021
Reviewed-by: Randall Spangler <rspangler@chromium.org>
/external/vboot_reference/utility/bmpblk_utility.cc
17f8d341099120da78a6ca71165834eefb0960ed 11-Jan-2013 Randall Spangler <rspangler@chromium.org> Rename files and defines to simplify makefile.

BUG=chromium-os:26317
BRANCH=none
TEST=manual

sudo emerge vboot_reference
emerge-link vboot_reference chromeos-u-boot chromeos-installer
emerge-daisy vboot_reference chromeos-u-boot chromeos-installer

Signed-off-by: Randall Spangler <rspangler@chromium.org>
Change-Id: I8c55ca40f3f0cacf08530ab63c886fe351bcee8e
Reviewed-on: https://gerrit.chromium.org/gerrit/41152
/external/vboot_reference/utility/bmpblk_utility.cc
3985f94fae52aa1df853f7d47388c67c3022e069 01-Aug-2012 Dave Parker <dparker@chromium.org> Increase max number of bitmaps to composite to 16 per screen.

This is needed to render new-style screens that use 13 bitmaps.
bmpblk version is changed from 1.2 to 2.0, due to incompatibility.

BUG=chrome-os-partner:11078
TEST=emerge-<board> vboot-reference. Run firmware with new bmpblock.

Original-Change-Id: I750da66b020fe195896df58f31fcbb2a9e33e404
Reviewed-on: https://gerrit.chromium.org/gerrit/28945
Reviewed-by: Bill Richardson <wfrichar@chromium.org>
Reviewed-by: Hung-Te Lin <hungte@chromium.org>
Tested-by: Dave Parker <dparker@chromium.org>
(cherry picked from commit 0b7ee46c2eeba858ff59d534e265b445895623a2)

Change-Id: I80543c46a7c0e09169e29e32077d84c57192e431
Reviewed-on: https://gerrit.chromium.org/gerrit/29602
Reviewed-by: Dave Parker <dparker@chromium.org>
Reviewed-by: Bill Richardson <wfrichar@chromium.org>
Commit-Ready: Hung-Te Lin <hungte@chromium.org>
Tested-by: Hung-Te Lin <hungte@chromium.org>
Reviewed-by: Tom Wai-Hong Tam <waihong@chromium.org>
/external/vboot_reference/utility/bmpblk_utility.cc
0a9977e161ce6ad6b11935dfb05ae840bf758078 23-Aug-2011 Bill Richardson <wfrichar@chromium.org> bmpblock v1.2 - render HWID inside vboot_reference

The vboot_api.h doesn't require the BIOS display the ASCII HWID in
a graphical form (ARM U-Boot doesn't know how), so we have to do it
ourselves. This change makes that possible.

Summary of changes:
* bmpblk_font.h defines a structure to map ASCII chars to BMPs
* bmpblk_font utility generates that font structure
* bmpblock format is bumped to version 1.2
- YAML file specifies font to use for $HWID
- make_default_yaml updated to emit the new format
- README updated to describe the difference

BUG=chromium-os:18631
TEST=manual

I've tested this on ARM, like so:

Inside the chroot, build a U-Boot that uses it:

emerge-tegra2_kaen vboot_reference vboot_reference-firmware
emerge-tegra2_kaen tegra-bct tegra2-public-firmware-fdts \
chromeos-u-boot chromeos-bootimage

Outside chroot, but in src/platform/vboot_reference:

make
<copy ./build/utility/bmpblk_font and ./build/utility/bmpblk_utility to
somewhere in your $PATH>
make clean

cd scripts/newbitmaps/fonts
bmpblk_font --outfile ../images/hwid_fonts.bin outdir/*

cd scripts/newbitmaps/images
make arm
cd out_arm
<edit DEFAULT.yaml>
bmpblk_utility -z 2 -c DEFAULT.yaml arm_bmpblock.bin

<use gbb_utility to replace the bitmaps in the U-Boot image, boot it>

The HWID string is displayed.

Change-Id: I782004a0f30c57fa1f3bb246e8c59a02c5e9f561
Reviewed-on: http://gerrit.chromium.org/gerrit/6544
Reviewed-by: Bill Richardson <wfrichar@chromium.org>
Tested-by: Bill Richardson <wfrichar@chromium.org>
/external/vboot_reference/utility/bmpblk_utility.cc
2e0226309d1407e0968a6b699e99126c98407319 22-Aug-2011 Bill Richardson <wfrichar@chromium.org> Cleanup: DEFAULT.yaml should include locale_names section.

bmpblk_utility correctly supports this field, which can be used by the
factory process to map the localization to the correct locale. We forgot to
put the entries in the DEFAULT.yaml file. This change corrects that for
future releases.

BUG=none
TEST=none

Change-Id: Iea65d7439e6ef8cc8730ec1b862abba87041d93f
Reviewed-on: http://gerrit.chromium.org/gerrit/6424
Reviewed-by: Randall Spangler <rspangler@chromium.org>
Reviewed-by: Bill Richardson <wfrichar@chromium.org>
Tested-by: Bill Richardson <wfrichar@chromium.org>
/external/vboot_reference/utility/bmpblk_utility.cc
8ba3d790e16c6e0759686b1bd8b25db778c3fc9f 19-May-2011 Bill Richardson <wfrichar@chromium.org> Add locale_string decoder into BmpBlock.

This change adds an additional (optional) section to the .yaml file which
can enumerate the names of the locales. If present, these names will be
appended to the end of the bmpblock and the (new) locale_string_offset field
in the BmpBlockHeader will point to it. The names are encoded as a series of
null-terminated ASCII strings. The end of the series is indicated by an
extra null (for example, "en_US\0fr\0\0" names two locales).

The BIOS does not use this information. Factory or OOBE could use it to
select the initiale locale for the BIOS screens from the list of locales
included in the BmpBlock.

BUG=chrome-os-partner:3868
TEST=none

Change-Id: I34fd9ece27343d56ec43772de975ac6f2ad7c9a6
Reviewed-on: http://gerrit.chromium.org/gerrit/1156
Reviewed-by: Hung-Te Lin <hungte@chromium.org>
Tested-by: Bill Richardson <wfrichar@chromium.org>
/external/vboot_reference/utility/bmpblk_utility.cc
54e95825b30d4f730cbd70c109fb6622dda6fbb8 06-May-2011 Bill Richardson <wfrichar@chromium.org> Change GBB bmpblock to version 1.1, supporting direct HWID rendering.

With version 1.0, the BIOS displays its screens using composited images, but
we still have to create a new bmp image for every HWID. Version 1.1 lets us
render the ASCII HWID string directly, so the BIOS screens don't need
modification just because the HWID changes.

In the yaml file, we just replace the hwid image with a magic string, like
so:

bmpblock: 1.1

[...]

screens:
en_remove:
- [ 0, 0, remove_bg]
- [256, 534, en_model_text]
- [314, 534, $HWID]
- [192, 479, url]
- [195, 453, en_remove_text]

This change modifies the bmpblk_utility to accept and generate both 1.0 and
1.1 versions. It also updates the supporting scripts (most of which aren't
needed anymore) and adds a new DEFAULT.yaml file which can be used as the
basis for all locales.

BUG=chrome-os-partner:3264
TEST=none (manual)

Change-Id: I012349393848393928282
Reviewed-on: http://gerrit.chromium.org/gerrit/378
Tested-by: Bill Richardson <wfrichar@chromium.org>
Reviewed-by: Bill Richardson <wfrichar@chromium.org>
/external/vboot_reference/utility/bmpblk_utility.cc
a7209ee2de570a1404e6df247df4a68c72d16245 17-Feb-2011 Bill Richardson <wfrichar@chromium.org> Allow yaml file to specify default compression for images

BUG=chromium-os:11490
TEST=manual

cd src/platform/vboot_reference
make
make runbmptests

Change-Id: Ia887fc1aa1de873c6da6c04995bc0a9ad6b364aa

Review URL: http://codereview.chromium.org/6541001
/external/vboot_reference/utility/bmpblk_utility.cc
f456e83dfd12310f146fdbedde5888a6e6293c9b 17-Feb-2011 Bill Richardson <wfrichar@chromium.org> Correctly handle reuse of screens in yaml file.

BUG=chromium-os:12161
TEST=manual

cd src/platform/vboot_reference
make
make runbmptests

Change-Id: Ic7708474ce7009744c9f12154d1967bdae8e55d2

Review URL: http://codereview.chromium.org/6534025
/external/vboot_reference/utility/bmpblk_utility.cc
f82f941b803b0c28240913eb57b34ab4c6c6b96a 17-Feb-2011 Bill Richardson <wfrichar@chromium.org> Write images to the bmpblock in the order they appear in the yaml.

This ensures that equivalent yaml files produce identical bmpblock binaries.

BUG=chromium-os:12158
TEST=manual

cd src/platform/vboot_reference
make
make runbmptests

Change-Id: Ic8103ff90e57034d72fb3920a6c198c77768f162

Review URL: http://codereview.chromium.org/6533012
/external/vboot_reference/utility/bmpblk_utility.cc
ee2bc91d4393796721dc8a48d3510e3352f2b893 16-Feb-2011 Tom Wai-Hong Tam <waihong@google.com> Enable LZMA compression in bmpbklk_utility.

LZMA has better compression ratio and is also supported in u-boot already.
ARM BIOS will use LZMA to compress BMP files.

BUG=chromium-os:11017
TEST=manual
$ make
$ make runbmptests

Change-Id: I6b791e3284b65eb3085b0de548bd241eab2ee598

Review URL: http://codereview.chromium.org/6523019
/external/vboot_reference/utility/bmpblk_utility.cc
61362d65fcdd6f6aff90fc5be51237b39cfeb9ae 14-Feb-2011 Bill Richardson <wfrichar@chromium.org> Enable EFIv1 compression in bmpbklk_utility.

This lets bmpbklk_utility generate BMPBLOCKs with EFIv1-compressed bitmaps.
It also adds the ability to display or unpack BMPBLOCK blobs.

The compression/decompression routines come from the tianocore EDK on
sourceforge and are written in C, so now there's a mix of C and C++, but it
works just fine.

BUG=chromium-os:11491
TEST=manual

cd src/platform/vboot_reference
make
make runbmptests

Review URL: http://codereview.chromium.org/6508006

Change-Id: Ie05e1a3fd42f4694447c8c440b2432af4ac0f601
/external/vboot_reference/utility/bmpblk_utility.cc
a985ed405e7b7640fbc9499d676670b8cd366a7a 14-Feb-2011 Tom Wai-Hong Tam <waihong@google.com> Whitelist RLE compression for ARM in bmpblk_utility

BUG=chromium-os:11017
TEST=use RLE BMP files as input to run bmpblk_utility

Change-Id: I2398d1c6cb9d5f90a85d8bfcab0af6e41a52b022

Review URL: http://codereview.chromium.org/6489026
/external/vboot_reference/utility/bmpblk_utility.cc
794d4d44db984759466b5b6779833e2d5281e527 11-Feb-2011 Bill Richardson <wfrichar@chromium.org> New commandline args are clearer, and prepare for compression.

BUG=chromium-os:11488
TEST=none

Change-Id: I6ee493037da5746d2db6e840ac6590dd12f37cfe

Review URL: http://codereview.chromium.org/6482001
/external/vboot_reference/utility/bmpblk_utility.cc
fc05bb854f2d38b714cec3924e3ade2d4fb84561 09-Feb-2011 Bill Richardson <wfrichar@chromium.org> Test BMP files more thoroughly to be sure they're valid.

This is work-in-progress. More tests to come...

Change-Id: Id2e59fd7d0229be3ad90b29b2d0dc035ceeca666

BUG=chromium-os:11766
TEST=manual

Adding an example to the test framework. Use

make
make runbmptests

to ensure it works.

Review URL: http://codereview.chromium.org/6286157
/external/vboot_reference/utility/bmpblk_utility.cc
856e072e8119cab07fd884e54853f1c3897452ee 08-Feb-2011 Bill Richardson <wfrichar@chromium.org> Add test framework for bmpblk_utility.

BUG=chromium-os:11742
TEST=manual

Check out sources, run:

cd src/platform/vboot_reference
make
make runbmptests

It should pass.

Change-Id: I50ebdef26662e7446828315a3f5e2786624508b9

Review URL: http://codereview.chromium.org/6246150
/external/vboot_reference/utility/bmpblk_utility.cc
d55085da49da8b7981494ea53ad23a6038fbb5c9 05-Feb-2011 Bill Richardson <wfrichar@chromium.org> Slight modification to a previously-LGTM'd CL, to work with ebuild changes.

This replaces http://codereview.chromium.org/6307007. The only difference is
the Makefile. The vboot_reference ebuild has been changed so that we only
attempt to build bmpblk_utility on the host.

Change-Id: I4902703baba155e0d2d7646d19b233aa695c282f

BUG=chromium-os:11017,chromium-os:10599
TEST=none

No test needed. If buildbot is green, it's verified.

Review URL: http://codereview.chromium.org/6334111
/external/vboot_reference/utility/bmpblk_utility.cc
25364052f27018b5f15520cd04c0ac5c47c17c37 27-Jan-2011 Satoru Takabayashi <satorux@chromium.org> Revert for fixing the chromium os build.

Revert "This change define the data structure of bmp block and implements the create more of bmpblk_utility. It reads a YAML config file, parse the informations, and creates bmpblock file as output."

This reverts commit 95b0ae01eaaba86529173bac32d54f2b28135dcf.

BUG=none
TEST=emerge-x86 vboot_reference
TBR=waihong@chromium.org

Change-Id: If1692ca12ddb61b7814ca7dddccee5a395c8bed1
/external/vboot_reference/utility/bmpblk_utility.cc
95b0ae01eaaba86529173bac32d54f2b28135dcf 27-Jan-2011 Tom Wai-Hong Tam <waihong@chromium.org> This change define the data structure of bmp block and implements the create more of bmpblk_utility. It reads a YAML config file, parse the informations, and creates bmpblock file as output.

The list mode and extract mode will be implemented later.

Change-Id: I2b34b323814b1d6b0a369b0e4b2bfa7cf960ff4a

BUG=chromium-os:11017
TEST=build and run, use bvi to check its output.

Review URL: http://codereview.chromium.org/6307007
/external/vboot_reference/utility/bmpblk_utility.cc