Commit Graph

360 Commits

Author SHA1 Message Date
Randall Spangler
55af5b539a Add --all option to crossystem to print normally-hidden fields
Change-Id: I649b0d745316acc38b5a121dfd1c353c475ac44a

R=reinauer@chromium.org
BUG=chromium-os:13204
TEST=manual

crossystem  # should not print vdat_lfdebug and vdat_lkdebug
crossystem --all  # should print them

Review URL: http://codereview.chromium.org/6824020
2011-04-08 14:26:46 -07:00
Randall Spangler
4115b89285 Change description of fwupdate_tries
Change-Id: Ie88d93cbfe7450083335e2ecb17ac1f9018d45ec

Add crossystem fwupdate_tries and fix nv storage writes

Change-Id: I1835f4867de80aa3764e4a4c6d90b3fde2dc4308

BUG=chromium_os:13672
TEST=manual

1. crossystem
2. Note that description of fwupdate_tries changed

Review URL: http://codereview.chromium.org/6826014
2011-04-08 14:11:48 -07:00
Randall Spangler
d7728233dd Add crossystem fwupdate_tries and fix nv storage writes
Change-Id: I1835f4867de80aa3764e4a4c6d90b3fde2dc4308

R=reinauer@chromium.org
BUG=chromium_os:13672
TEST=manual

crossystem kern_nv=3
crossystem fwupdate_tries   # should print 3
crossystem fwupdate_tries=15
crossystem kern_nv          # should print 0x0000000F
crossystem kern_nv=0
crossystem fwupdate_tries   # should print 0

Review URL: http://codereview.chromium.org/6813056
2011-04-08 14:04:21 -07:00
Randall Spangler
824906b9db Add crossystem arch (reports x86 or arm, depending on platform)
Change-Id: I857ead5b108d42195145cdbc5cdafa817f3416b4

R=reinauer@chromium.org
BUG=chrome-os-partner:3023
TEST=crossystem arch

(reports 'x86' on x86 platform, 'arm' on ARM platform)

Review URL: http://codereview.chromium.org/6813054
2011-04-08 13:34:44 -07:00
Che-Liang Chiou
9522b84029 Add EntryWiped to pack_firmware_image
EntryWiped takes a byte value wipe_value of range [00:ff] as one of its
arguments that pack_firmware_image uses the value to "wipe" the entry.

R=yjlou@chromium.org
BUG=chrome-os-partner:3089
TEST=emerge-tegra2_seaboard chromeos-bios

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

Change-Id: Ib2265caf5cfbd6d297465684e87f5a299cd4d043
2011-04-07 15:13:30 +08:00
Jim Hebert
e871ea6a82 Fix duplicate -I's harmless under gcc but which break bunny-gcc
(This helps us do some instrumented fuzz testing with "bunny the fuzzer".)

Change-Id: I4d06129d577115b9dd5cd9bec2c2e1b526490456

BUG=chromium-os:13690
TEST="CC=/usr/local/google/bunny-0.93/bunny-gcc make -k" now builds vbutil_*, and regular gcc/make did not break.
STATUS=Fixed

Review URL: http://codereview.chromium.org/6783006
2011-03-31 18:34:42 -07:00
Che-Liang Chiou
2c0711bf54 Revert "Revert "Add --kloadaddr option to utilities""
This reverts commit bc7a84d9a1.

It was a false alarm that --kloadaddr causes chromeos-install on a
x86 targets to fail. The error of chromeos-install cannot be
reproduced, and judging by the reported error message, the error
should not be attributed to --kloadaddr, which has no effect in x86
targets. So --kloadaddr is restored.

Verification process are below:

(Verify that --kloadaddr option is restored)
$ dump_kernel_config -h
Expected argument after options
dump_kernel_config - Prints the kernel command line

Usage:  dump_kernel_config [--kloadaddr <ADDRESS>] <image/blockdevice>

(Setup a x86 target with kernel-next profile)
$ rm -rf /build/${X86_TARGET}
$ ./setup_board --board=${X86_TARGET} --profile=kernel-next
$ ./build_packages --board=${X86_TARGET}
$ ./build_image --board=${X86_TARGET}

(Run chromeos-install on target machine successfully)
$ /usr/sbin/chromeos-install

(Change directory to where image sits)
$ cd ~/trunk/src/build/images/${X86_TARGET}/latest

(Unpack Chromium OS image)
$ ./unpack_partitions.sh chromiumos_image.bin

(Verify that dump_kernel_config runs successfully)
$ dump_kernel_config part_2
console=tty2 init=/sbin/init add_efi_memmap boot=local noresume noswap
i915.modeset=1 cros_secure kern_guid=%U tpm_tis.force=1
tpm_tis.interrupts=0 nmi_watchdog=panic,lapic i8042.nomux=1
root=/dev/dm-0 quiet loglevel=1 rootwait ro dm_verity.error_behavior=3
dm_verity.max_bios=-1 dm_verity.dev_wait=1 dm="vroot none ro,0 1740800
verity %U+1 %U+1 1740800 1 sha1
c357e07395150770ce25ebc0e3c6d15941675c58"

(Run load_kernel_test)
$ load_kernel_test -b 2 chromiumos_image.bin
/usr/share/vboot/devkeys/recovery_key.vbpubk
Read 2088 bytes of key from /usr/share/vboot/devkeys/recovery_key.vbpubk
bootflags = 6
Reading from image: chromiumos_image.bin
Ending LBA: 3989538
Read(1, 1)
Read(2, 32)
Read(3989506, 32)
Read(3989538, 1)
Read(4096, 128)
Read(4224, 6472)
LoadKernel() returned 0
Partition number:   2
Bootloader address: 4345856
Bootloader size:    16384
Partition guid:     b2a453b0-a64a-5c4d-a957-1388cea384a5

R=marcheu@chromium.org,sjg@chromium.org
BUG=none
TEST=see verification process above

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

Change-Id: I932753197550b853495f2c03e8880ad71df765a7
2011-03-22 13:15:19 +08:00
Randall Spangler
f27583f083 Add error checking for poorly-formed crossystem args
R=petkov@chromium.org
BUG=chromium-os:13322
TEST=manual

The following command lines should cause crossystem to fail with a
warning about a poorly formed parameter:
  crossystem ''
  crossystem '=cros_debug'
  crossystem '?cros_debug'

The following command line should warn that you can't use both = and ?:
  crossystem cros_debug?=0
(that is, it warns, not just compares with '=0')

The following should print 'UNEQUAL'
  crossystem cros_debug? || echo UNEQUAL
(because it's comparing cros_debug with an empty string)

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

Change-Id: I2e2851515f4914b16aba64065600fb92d9ad1a63
2011-03-21 16:58:54 -07:00
Randall Spangler
7141571d55 Print LoadKernel() debug data from VbSharedData
Change-Id: I60cf9c4dd07e83b1ed1a5bac8a3ce8c2a54df45b

R=reinauer@chromium.org
BUG=chrome-os-partner:2748
TEST=manually check output of 'crossystem vdat_lkdebug'

Review URL: http://codereview.chromium.org/6685097
2011-03-21 11:04:50 -07:00
Randall Spangler
5ac39bfff0 Add TPM version checking
Change-Id: Ic32b7bcf0bc5501e21dc84e79419a256d9b0d095

R=semenzato@chromium.org,reinauer@chromium.org
BUG=chrome-os-partner:2832
TEST=manual

crossystem tpm_fwver tpm_kernver
On a debug system, this will return 0x00010001 0x00010001

Review URL: http://codereview.chromium.org/6685075
2011-03-17 17:58:56 -07:00
Randall Spangler
f4ba19d81d Add VbSharedData field parsing
R=reinauer@chromium.org
BUG=chrome-os-partner:2578
TEST=manual

crossystem vdat_timers
should show 'LFS=0,0 LF=number1,number2 LK=number3,number4'
where number1 < number2 < number3 < number4

crossystem vdat_lfdebug
run from a dev mode console, should show
'check=12,0 index=0x00 tpmver=(hex number) lowestver=(hex number)'

crossystem vdat_flags
run from a dev mode console, flags should be 0x04.

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

Change-Id: Id7b958ae300d10cdcdc1b17a1bb17b7e5069166f
2011-03-17 16:10:21 -07:00
Luigi Semenzato
54992f9d33 Added TPM_SaveState command.
Change-Id: If7b6ef3cba733b74ba13db0871e6ac554d0d84ef

BUG=chromium-os:433
TEST=none

Review URL: http://codereview.chromium.org/6696043
2011-03-16 10:56:48 -07:00
Che-Liang Chiou
b6a29ad339 Allow overlap between "pure" fmap areas
Firmware specification has several sections that are overlapped. This CL allows
limited overlapping that only "pure" fmap areas can be overlapped.

See also CL=6694022,6696016 for its application.

BUG=chrome-os-partner:2333
TEST=emerge vboot_reference && emerge-${ARM_BOARD} chromeos-bios

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

Change-Id: I9ca34caec3665136b1babd08cd074cf733cf0d51
2011-03-16 12:58:38 +08:00
Hung-Te Lin
f3f948fb55 vboot_reference/dev_debug_vboot: use new flashrom syntax
We need to also assign the target in dev_debug_vboot.

BUG=chromium-os:11339
TEST=flashrom -p internal:bus=lpc
     dev_debug_vboot # still seeing success

Change-Id: I33cfed77dba5afb668f6d9036ecc077e3bcb19d0

R=wfrichar@chromium.org

Review URL: http://codereview.chromium.org/6698022
2011-03-16 10:40:52 +08:00
Stéphane Marchesin
bc7a84d9a1 Revert "Add --kloadaddr option to utilities"
This reverts commit 1a0975f5f4.
This fixes chromeos-install on x86-mario with a kernel-next profile.

BUG=None
TEST=Build an x86-mario image with kernel-next, check that /usr/sbin/chromeos-install works.

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

Change-Id: I67fc5c0f70a05a4d662952105542edf454da8022
2011-03-15 10:13:31 -07:00
Randall Spangler
b17e8d353c Add VB test error func/num
Change-Id: Ibe253963f0424935554fe91f166ef5040a723c6f

BUG=13107
TEST=make && make runtests

Review URL: http://codereview.chromium.org/6698032
2011-03-15 09:50:38 -07:00
Vadim Bendebury
2008423d5f Add function for VDAT processing.
This CL is a user space counterpart of
http://codereview.chromium.org/6690023, which provided the
ability to retrieve buffers through chromeos_acpi driver.

The buffer contents is communicated as a multi line string
with each buffer byte represented as a two symbol hex
number. `crosstool', on the other has to map the buffer
contents into a certain binary structure. This CL add
conversion of the multiline string into a binary buffer and
also adds a temp. routine to dump the buffer contents on the
screen when `crosstool' is invoked.

Change-Id: I8dd3eb935332f9bc8769c71de0db302365f12d70

BUG=chromium-os:13069, chromium-os:13091
TEST=manual

- Install the new image on a target with firmware providing
 the VDAT ACPI method.

- Run crosstool and watch for the last line:
vdat                   =  11 22 33 44 ff 1f 1c 40 ff 57 74 41 ff ff ff ff # Raw VDAT contents.
localhost tmp #

Review URL: http://codereview.chromium.org/6695012
2011-03-15 09:29:48 -07:00
Randall Spangler
227f792c1b Add check-value support and check /proc/cmdline for cros_nodebug
Change-Id: I35158810184be03f18d98893e4dd640088384579

BUG=12904
TEST=manual

crossystem fwb_tries=1
crossystem fwb_tries?1 && echo YES || echo NO --> YES
crossystem fwb_tries?0x01 && echo YES || echo NO --> YES
crossystem fwb_tries?0 && echo YES || echo NO --> NO

crossystem fwb_tries=0
crossystem fwb_tries?0 && echo YES || echo NO --> YES
crossystem fwb_tries?1 && echo YES || echo NO --> NO
crossystem fwb_tries?0x01 && echo YES || echo NO --> NO

crossystem ecfw_act --> RW (if it's not, change RW to RO in the tests below)
crossystem ecfw_act?RW && echo YES || echo NO --> YES
crossystem ecfw_act?BOB && echo YES || echo NO --> NO

For the following tests, boot Alex with dev switch on and fwb_tries=1
Expected output of `crossystem mainfw_type mainfw_act cros_debug` under each of the following scenarios:
* Neither "cros_debug" nor" cros_nodebug" in kernel command line: normal B 1
* Kernel command line changed to include "cros_nodebug": normal B 0
* Kernel command line changed to include "cros_nodebugg": normal B 1
* Kernel command line changed to include "ccros_nodebug": normal B 1

Review URL: http://codereview.chromium.org/6665005
2011-03-11 13:34:56 -08:00
Che-Liang Chiou
1a0975f5f4 Add --kloadaddr option to utilities
Kernel body load address was hard-coded to CROS_32BIT_ENTRY_ADDR, which
could be an invalid/unavailable memory location on other platforms.

This CL adds an option for setting the load address, and it is default to
CROS_32BIT_ENTRY_ADDR to maintain backward-compatibility.

BUG=chromium-os:1304
TEST=emerge vboot_reference successfully

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

Change-Id: I158cfce10ac59bd019bca41cb061039d0085d5cc
2011-03-11 15:02:17 +08:00
Randall Spangler
196e1772ed Add cros_debug option to crossystem
Change-Id: Ie62364a87f7f144ee647054d2a9ef83522cdbe7d

BUG=12904
TEST=manual

Expected output of `crossystem mainfw_type cros_debug` under each of the following scenarios:

* Boot Alex with dev switch off: normal 0
* Boot Alex with dev switch on (and dev firmware): developer 1
* Boot Alex with dev switch on (and normal firmware): normal 1
* Boot Alex with recovery firmware: recovery 0
* Boot Alex with dev switch off, then turn the dev switch on after booting: normal 0
* Boot Cr-48 with dev switch off: normal 0
* Boot Cr-48 with dev switch on: developer 1
* Boot Cr-48 with recovery firmware: recovery 0

* Boot Alex with dev switch off and kernel command line changed to include "cros_debug": normal 1
* Boot Alex with dev switch off and kernel command line changed to include "cros_debugg": normal 0
* Boot Alex with dev switch off and kernel command line changed to include "ccros_debug": normal 0

* Boot H2O BIOS with kernel command line changed to include "cros_debug": nonchrome 1
* Boot H2O BIOS with kernel command line changed to include "cros_debugg": nonchrome 0
* Boot H2O BIOS with kernel command line changed to include "ccros_debug": nonchrome 0

Review URL: http://codereview.chromium.org/6659021
2011-03-10 11:31:06 -08:00
Randall Spangler
95c4031ce9 This is necessary to pass additional information about whether firmware A or B is being run. This change also passes the GBB directly into LoadFirmware() and LoadKernel().
Change-Id: I976c11c82c3d665a4feb88226e919f16c2440f60

BUG=chrome-os-partner:1657
TEST=manual - see below

make && make runtests

Then test verifying a test image in both dev mode (-b1, no key specified) and recovery mode (key specified)

build/utility/load_kernel_test -b1 ~/b/USB_images/0.11.224.0-alex/chromiumos_test_image.bin

build/utility/load_kernel_test ~/b/USB_images/0.11.224.0-alex/chromiumos_test_image.bin tests/devkeys/recovery_key.vbpubk

And make sure the firmware with this change actually boots to USB and SSD.

NOTE: u-boot-next needs to change to work with this change.  will attempt a follow-up CL with that change

Review URL: http://codereview.chromium.org/6626045
2011-03-09 15:54:16 -08:00
Bill Richardson
ccdaa47b4d Support new flashmap layout in dev_debug_vboot.
Make dev_debug_vboot look first for the new section names, then the old ones.

Change-Id: I723f022bbbb23257c7c57db9543d7c35f524f95d

BUG=chromium-os:12611
TEST=manual

Rerun the steps that reproduce the problem as reported in the initial bug
report. You should see much more information.

Review URL: http://codereview.chromium.org/6621003
2011-03-03 18:08:18 -08:00
Randall Spangler
640fb51d86 Reapply patch from http://codereview.chromium.org/6594092/
(somehow that never got committed)

Change-Id: I304e594066c5dd72fc7cf37d31e27b1096ae1a38

BUG=12282
TEST=make && make runtests

Review URL: http://codereview.chromium.org/6610019
2011-03-03 10:11:17 -08:00
Randall Spangler
b416714a10 Add crossystem support for nvram_cleared and kern_nv
Fix try_b processing

And move key block flags check up in LoadFirmware(), which speeds up
boot when the dev switch is off because it doesn't do a signature
check and then throw it out.

BUG=12282
TEST=build firmware, try by hand

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

Change-Id: I10474e9e0ae324906dfe02a351347d04ce847f67
2011-03-01 13:04:22 -08:00
Randall Spangler
618d17d48c Add kern_nv field to crossystem
Change-Id: Ifa5cc3bd8367a258fb720162572f450a1be99c03

BUG=none
TEST=manual

crossystem kern_nv=0x12345678
crossystem kern_nv

Review URL: http://codereview.chromium.org/6602040
2011-03-01 10:33:11 -08:00
Randall Spangler
c4d21025bb Add LoadFirmware() support for NvStorage API
Change-Id: I19f402904978581eb5ca990ffbdf2f762b48c217

BUG=12282
TEST=make H2C firmware and verify using crossystem utility

(set fwb_tries, reboot, verify that mainfw_act is B)

Review URL: http://codereview.chromium.org/6597018
2011-02-25 14:57:39 -08:00
Randall Spangler
172602829d Add NV storage fields for firmware flags
1) Did firmware attempt RW slot B before slot A?

2) Did firmware check the kernel keyblock signature, or just its hash?

Added crossystem support as well.

BUG=chrome-os-partner:1657
TEST=make && make runtests

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

Change-Id: I0d743ae87cedd938ba988170793717d3fdbd8ce9
2011-02-25 12:06:26 -08:00
Randall Spangler
0ca76fcc0c Print addresses as hex
Change-Id: I37b42088f94ee838e0d82f155ab0674323d859fc

BUG=none
TEST=manual (run crossystem and see that it prints hex values for savedmem_base and fmap_base)

Review URL: http://codereview.chromium.org/6582004
2011-02-24 14:33:20 -08:00
Randall Spangler
2b59a07c54 Add flashmap base address
Change-Id: If2106cbde445edc0970862a06d3837d2e466d9ef

BUG=chrome-os-partner:2487
TEST=manual

From a root shell, type: crossystem fmap_base
Should match the contents of /sys/devices/platform/chromeos_acpi/FMAP
(note that you need a new BIOS >0049 to get one that supports FMAP)

Review URL: http://codereview.chromium.org/6580037
2011-02-24 11:17:24 -08:00
Randall Spangler
b47ed5a8fb Add more properties to crossystem
crossystem now covers all data currently provided by chromeos_acpi.

Change-Id: I3364c4d65ddf63fe788d3d9c1e9d05e64be22856

BUG=chromium-os:12282
TEST=manual - test on Cr-48 and compare with ACPI values

Review URL: http://codereview.chromium.org/6557001
2011-02-23 13:05:40 -08:00
Che-Liang Chiou
0376203b41 Add --arch flag to pack mode of vbutil_kernel
When --arch flag is not x86, x86-only operations in pack mode are
turned off so that we can reuse vbutil_kernel to generate kernel partition
images for other targets, such as arm.

See CL:6538014 for its application.

BUG=chromium-os:3790
TEST=Run "emerge vboot_reference" successfully

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

Change-Id: If45cf092d1ecc762fad6fda1aa57d23e26a7e47a
2011-02-22 11:16:51 +08:00
Randall Spangler
e73302caae Add support for CHNV settings to crossystem.
crossystem can now be used in place of reboot_mode.

BUG=12327
TEST=manual by comparing with the old reboot_mode utility

crossystem recovery_request=1
reboot_mode
crossystem dbg_reset=1
reboot_mode
crossystem fwb_tries=1
reboot_mode

crossystem recovery_request=0
reboot_mode
crossystem dbg_reset=0
reboot_mode
crossystem fwb_tries=0
reboot_mode

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

Change-Id: Ifde661d4621129d52e757654d85e386e65f90df5
2011-02-18 14:53:01 -08:00
Bill Richardson
a7209ee2de 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
2011-02-17 14:30:14 -08:00
Bill Richardson
f456e83dfd 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
2011-02-17 11:29:51 -08:00
Bill Richardson
f82f941b80 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
2011-02-17 08:56:33 -08:00
Che-Liang Chiou
39dfafd840 Fix tree break due to printf argument type mismatch
BUG=none
TEST=emerge-${BOARD} vboot_reference

TBR=rspangler@chromium.org

Change-Id: I4cfec460fbc036d16f80b81cf8582209abb5945a
2011-02-17 18:50:19 +08:00
Che-Liang Chiou
305e9e5e85 Add load_firmware_test utility program
BUG=chromium-os:1302
TEST=emerge vboot_reference &&
	(load_firmware_test firmware_image.bin | grep LOAD_FIRMWARE_SUCCESS)

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

Change-Id: I85fce39aaf4abb50bd70d126ac8c7cb892a7857b
2011-02-17 17:56:16 +08:00
Tom Wai-Hong Tam
ee2bc91d43 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
2011-02-17 12:58:58 +08:00
Randall Spangler
a8e0f94b94 Support dev vs consumer firmware in vboot_reference
Change-Id: I5a42ba017974b3d591abc574ef7b9b7c9ac579e8

BUG=chrome-os-partner:1824
TEST=make && make runtests

Review URL: http://codereview.chromium.org/6462010
2011-02-14 11:12:09 -08:00
Bill Richardson
61362d65fc 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
2011-02-14 10:28:03 -08:00
Tom Wai-Hong Tam
a985ed405e 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
2011-02-14 16:08:49 +08:00
Bill Richardson
794d4d44db 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
2011-02-10 19:13:10 -08:00
Che-Liang Chiou
31b206f218 Change pack_firmware_image::EntryBlob behavior
Old: Trim input file when it is larger than specified firmware section length

New: Raise exception when such thing happens

BUG=none
TEST=manual

$ cat > config <<EOF
OUTPUT='/dev/null'
SIZE=1024
ENTRIES = [
  EntryBlob(offset=0, length=1, name='', flags=0, path='../LICENSE')
]
EOF
$ ./pack_firmware_image config
Traceback (most recent call last):
  File "./pack_firmware_image", line 266, in <module>
    main()
  File "./pack_firmware_image", line 260, in main
    pack_firmware_image(env['ENTRIES'], env['OUTPUT'], env['SIZE'])
  File "./pack_firmware_image", line 227, in pack_firmware_image
    entry.Pack(firmware_image, entries)
  File "./pack_firmware_image", line 133, in Pack
    raise PackError('blob too large: %d > %d' % (size, self.length))
__main__.PackError: blob too large: 1566 > 1

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

Change-Id: I0b0fb8af37fc3ac055164c362278f32f93944ab4
2011-02-10 14:46:21 +08:00
Bill Richardson
fc05bb854f 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
2011-02-08 15:03:36 -08:00
Bill Richardson
856e072e81 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
2011-02-07 15:39:45 -08:00
Randall Spangler
542186618a Initial version of crossystem.
Works for getting switch positions, hwid, fwid.

BUG=chrome-os-partner:1940
TEST=ran manually on Mario and Alex

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

Change-Id: I874df3b5adf872fec2d36e574cb4b8b4a72d331c
2011-02-07 11:20:20 -08:00
Gaurav Shah
5ab5a377be Add utility to pad a given hash for PKCS1.5 signatures
BUG=n0ne
TEST=manual

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

Change-Id: I2dced174f41e5dea2e165f18ecbd22a7f40acab3
2011-02-07 11:12:39 -08:00
Bill Richardson
d55085da49 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
2011-02-04 15:01:37 -08:00
Satoru Takabayashi
25364052f2 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 95b0ae01ea.

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

Change-Id: If1692ca12ddb61b7814ca7dddccee5a395c8bed1
2011-01-27 20:05:04 +09:00
Tom Wai-Hong Tam
95b0ae01ea 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
2011-01-27 17:48:47 +08:00