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

Issue 5985009: Add firmware image packing tool (Closed)

Created:
9 years, 11 months ago by Che-Liang Chiou
Modified:
9 years ago
Reviewers:
Hung-Te, gauravsh
CC:
chromium-os-reviews_chromium.org, Randall Spangler, Luigi Semenzato, Bill Richardson, gauravsh
Visibility:
Public.

Description

Add firmware image packing tool BUG=chromium-os:1302 TEST=manual (cros) $ cd vboot_reference/utility/ (cros) $ cat > test_config <<EOF KEYDIR = '/usr/share/vboot/devkeys/' OUTPUT = 'image.bin' SIZE = 1 << 20 # 1 MB ENTRIES = [ EntryFmap(name='FMAP', offset=0x00000000, length=0x00001000, ver_major=1, ver_minor=0, base=0x00000000, size=SIZE), EntryKeyBlock(name='Firmware A Key', offset=0x00010000, length=0x00010000, flags=FMAP_AREA_STATIC, keyblock=KEYDIR + 'firmware.keyblock', signprivate=KEYDIR + 'firmware_data_key.vbprivk', version=1, fv=INPUT_FILE, kernelkey=KEYDIR + 'kernel_subkey.vbpubk'), EntryBlob(name='Test Data', offset=0x00020000, length=0x000e0000, flags=FMAP_AREA_STATIC | FMAP_AREA_COMPRESSED, path=INPUT_FILE), ] EOF (cros) $ ./pack_firmware_image test_config INPUT_FILE=./pack_firmware_image; echo $? 0 (cros) $ dump_fmap image.bin opened image.bin hit at 0x00000000 fmap_signature __FMAP__ fmap_version: 1.0 fmap_base: 0x0 fmap_size: 0x00100000 (1048576) fmap_name: FMAP fmap_nareas: 2 area: 1 area_offset: 0x00010000 area_size: 0x00010000 (65536) area_name: Firmware A Key area: 2 area_offset: 0x00020000 area_size: 0x000e0000 (917504) area_name: Test Data Committed: http://chrome-svn/viewvc/chromeos?view=rev&revision=b0310a7

Patch Set 1 #

Total comments: 19

Patch Set 2 : reply code review #

Total comments: 25

Patch Set 3 : Address code review #

Total comments: 8

Patch Set 4 : address review comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+271 lines, -0 lines) Patch
M utility/Makefile View 1 2 3 2 chunks +5 lines, -0 lines 0 comments Download
A utility/pack_firmware_image View 1 2 3 1 chunk +266 lines, -0 lines 0 comments Download

Messages

Total messages: 11 (0 generated)
Che-Liang Chiou
9 years, 11 months ago (2011-01-04 02:25:07 UTC) #1
Hung-Te
http://codereview.chromium.org/5985009/diff/1/utility/pack_image File utility/pack_image (right): http://codereview.chromium.org/5985009/diff/1/utility/pack_image#newcode7 utility/pack_image:7: import mmap Any reason to use mmap? I think ...
9 years, 11 months ago (2011-01-04 08:39:02 UTC) #2
Che-Liang Chiou
Thanks for the comments. Please see responds below. http://codereview.chromium.org/5985009/diff/1/utility/pack_image File utility/pack_image (right): http://codereview.chromium.org/5985009/diff/1/utility/pack_image#newcode7 utility/pack_image:7: import ...
9 years, 11 months ago (2011-01-04 09:38:25 UTC) #3
Hung-Te
http://codereview.chromium.org/5985009/diff/1/utility/pack_image File utility/pack_image (right): http://codereview.chromium.org/5985009/diff/1/utility/pack_image#newcode7 utility/pack_image:7: import mmap On 2011/01/04 09:38:25, Che-Liang Chiou wrote: > ...
9 years, 11 months ago (2011-01-04 10:05:23 UTC) #4
gauravsh
http://codereview.chromium.org/5985009/diff/8001/utility/pack_image File utility/pack_image (right): http://codereview.chromium.org/5985009/diff/8001/utility/pack_image#newcode1 utility/pack_image:1: #!/usr/bin/env python2.6 make this version independent http://codereview.chromium.org/5985009/diff/8001/utility/pack_image#newcode3 utility/pack_image:3: # ...
9 years, 11 months ago (2011-01-04 21:14:38 UTC) #5
Hung-Te
I agree that we can temporary allow the duplication of fmap implementation in this script ...
9 years, 11 months ago (2011-01-05 03:33:54 UTC) #6
Che-Liang Chiou
Thanks for the comments, Hung-Te and Gaurav. Please see below. http://codereview.chromium.org/5985009/diff/1/utility/pack_image File utility/pack_image (right): http://codereview.chromium.org/5985009/diff/1/utility/pack_image#newcode7 ...
9 years, 11 months ago (2011-01-05 08:01:54 UTC) #7
Hung-Te
LGTM with some nits about indents. http://codereview.chromium.org/5985009/diff/16001/utility/pack_image File utility/pack_image (right): http://codereview.chromium.org/5985009/diff/16001/utility/pack_image#newcode77 utility/pack_image:77: self.offset <= entry.offset ...
9 years, 11 months ago (2011-01-05 10:21:00 UTC) #8
Hung-Te
Wait, there's a final piece. The script file name should be "pack_firmware_image.py" or some names ...
9 years, 11 months ago (2011-01-05 10:28:27 UTC) #9
gauravsh
lgtm for my nits http://codereview.chromium.org/5985009/diff/8001/utility/pack_image File utility/pack_image (right): http://codereview.chromium.org/5985009/diff/8001/utility/pack_image#newcode1 utility/pack_image:1: #!/usr/bin/env python2.6 On 2011/01/05 08:01:55, ...
9 years, 11 months ago (2011-01-06 02:06:45 UTC) #10
Che-Liang Chiou
9 years, 11 months ago (2011-01-06 03:01:50 UTC) #11
Thanks for comments.  Also change its name to 'pack_firmware_image'

http://codereview.chromium.org/5985009/diff/16001/utility/pack_image
File utility/pack_image (right):

http://codereview.chromium.org/5985009/diff/16001/utility/pack_image#newcode77
utility/pack_image:77: self.offset <= entry.offset < self.offset + self.length)
On 2011/01/05 10:21:01, Hung-Te wrote:
> please re-indent this line to match parentheses location

Done.

http://codereview.chromium.org/5985009/diff/16001/utility/pack_image#newcode95
utility/pack_image:95: for name in FMAP_AREA_NAMES))
On 2011/01/05 10:21:01, Hung-Te wrote:
> please re-indent this line to match parentheses location

Done.

http://codereview.chromium.org/5985009/diff/16001/utility/pack_image#newcode187
utility/pack_image:187: def fmap_encode(obj):
On 2011/01/06 02:06:45, gauravsh wrote:
> nit: use CamelCase for method names

fmap_encode() is named for begin compatible with official flashmap
implementation's fmap_encode() function based on an offline discussion with
Hung-Te so that we can migrate to the official flashmap implementation.

http://codereview.chromium.org/5985009/diff/16001/utility/pack_image#newcode188
utility/pack_image:188: def _format_blob(format, names, obj):
On 2011/01/06 02:06:45, gauravsh wrote:
> same here

Done.

Powered by Google App Engine
This is Rietveld 408576698