summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Remove -isystem from CFLAGS for firmware buildrelease-R16-1193.BChe-Liang Chiou2011-10-171-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The -isystem and the rest of the CFLAGS for firmware builds is copied from U-Boot, where U-Boot generates it on the fly, as a temporary solution before we figure out how make the CFLAGS right. Given that, the hard-coded -isystem is both incorrect (since tool chain is upgraded to a new version) and unnecessary. It is unnecessary because firmware lib is carefully written that the lib does not (and probably should not) depend on any system header. Even if in the future a system header is added to the firmware lib, because firmware build sets -nostdinc to CFLAGS, the compiler will safely report missing header instead of silently using the standard system header. So this commit removes the -isystem. BUG=chromium-os:16808 TEST=Make sure non-firmware build still works by running `emerge-{tegra2_seaboard,x86-alex} vboot_reference` TEST=Run firmware build successfully `emerge-{tegra2_seaboard,x86-alex} vboot_reference-firmware` TEST=Add #include<stdarg.h> to any header in firmware/include/ and run firmware build again and observe build fail on missing stdarg.h Change-Id: I8291390f21a975446993640d7a92a3eed4750e32 Reviewed-on: http://gerrit.chromium.org/gerrit/10072 Tested-by: Che-Liang Chiou <clchiou@chromium.org> Reviewed-by: Mike Frysinger <vapier@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org>
* vbutil: accept amd64 as a valid alias for x86Sonny Rao2011-10-121-1/+2
| | | | | | | | | | | | | | The rest of the chromiumos build system uses amd64 as the architecture name for 64bit x86. This adds support for this name to vbutil. BUG=chromium-os:21284 TEST=vbutil --arch amd64 should not return unknown architecture Change-Id: I37531591a7a31486f6447ae611d54569d1ea59d5 Reviewed-on: http://gerrit.chromium.org/gerrit/9959 Tested-by: Sonny Rao <sonnyrao@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org>
* new signature for optional easter egg.Bill Richardson2011-10-113-6/+3
| | | | | | | | | | BUG=none TEST=none Change-Id: I86743dbba3210858d817c8e6982f17df96920420 Reviewed-on: http://gerrit.chromium.org/gerrit/9889 Tested-by: Bill Richardson <wfrichar@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org>
* Some easter eggs may need a refresh.Bill Richardson2011-10-113-3/+5
| | | | | | | | | | BUG=none TEST=none Change-Id: I4b8cffa63dd10261e45a5ca6233b4d5cd2471f62 Reviewed-on: http://gerrit.chromium.org/gerrit/9861 Reviewed-by: Randall Spangler <rspangler@chromium.org> Tested-by: Bill Richardson <wfrichar@chromium.org>
* Fix potential NULL pointer dereference in vboot_kernel.cStefan Reinauer2011-10-101-1/+4
| | | | | | | | | | | | | | | | | | In the unlikely case that params is not set or the LoadKernelParams structure is not initialized correctly, LoadKernel will exit before initializing shcall. However, in LoadKernelExit it will be used to stire the function's return code, thus potentially dereferencing a NULL pointer. BUG=chrome-os-partner:6307 TEST=compile tested. Change-Id: I691c6b5054d8f77296de86834b3125de06e0e398 Reviewed-on: http://gerrit.chromium.org/gerrit/9791 Tested-by: Stefan Reinauer <reinauer@google.com> Reviewed-by: Bill Richardson <wfrichar@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org> Commit-Ready: Stefan Reinauer <reinauer@chromium.org>
* Finally final results from l10n team.Bill Richardson2011-10-07423-756/+826
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * Updated the text strings using the latest results from the localization experts. * Strip the leading byte-order-mark and trailing whitespace from the text files, since it's not used for anything and sometimes renders as a box. * Added options to the text_to_bmp script to handle right-to-left languages and to override the font. * Added scripts/newbitmaps/strings/localized_text/Makefile to regenerate all the bitmaps from the text strings. This handles right-to-left languages correctly. * Modified make_default_yaml so that the th/model.txt string is moved up a bit to align it properly with the HWID. * Regenerated DEFAULT.yaml using the new bitmaps. BUG=chromium-os:13037 TEST=none Change-Id: I095830a46ba831742d437867a9caac88c8e28de1 Reviewed-on: http://gerrit.chromium.org/gerrit/8834 Tested-by: Bill Richardson <wfrichar@chromium.org> Reviewed-by: Hung-Te Lin <hungte@chromium.org>
* Enable (and test) custom dev-mode soundsBill Richardson2011-10-058-62/+461
| | | | | | | | | | | | | | BUG=none TEST=manual cd src/platform/vboot_reference make && make runtests Change-Id: I7f7d50d7c9c5541e0b99031245f882996a6b88ec Reviewed-on: http://gerrit.chromium.org/gerrit/8731 Reviewed-by: Bill Richardson <wfrichar@chromium.org> Tested-by: Bill Richardson <wfrichar@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org>
* Refactor dev-mode delay handling into a separate file.Bill Richardson2011-10-056-108/+189
| | | | | | | | | | | | | | BUG=none TEST=manual cd src/platform/vboot_reference make && make runtests Change-Id: I56feceb7d4fce80e4f50d5d7875eafef325363cc Reviewed-on: http://gerrit.chromium.org/gerrit/8659 Reviewed-by: Bill Richardson <wfrichar@chromium.org> Tested-by: Bill Richardson <wfrichar@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org>
* Added tests for VbBootDeveloper sound and delayBill Richardson2011-10-052-2/+343
| | | | | | | | | | | | | | BUG=none TEST=manual cd src/platform/vboot_reference make && make runtests Change-Id: I2c4084afa883f7e4cdc758ff1560eec900c75c17 Reviewed-on: http://gerrit.chromium.org/gerrit/8585 Reviewed-by: Bill Richardson <wfrichar@chromium.org> Tested-by: Bill Richardson <wfrichar@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org>
* Add more debugging info to BIOS screens.Bill Richardson2011-09-281-1/+95
| | | | | | | | | | | | | | | | | | | | This displays the gbb.flags value when being warned about it being nonzero. It also decodes the recovery_reason value into English. BUG=chromium-os:20972 TEST=manual 1. Use gbb_utility to create a BIOS with valid bitmaps, but with gbb.flags set to a non-zero value. Boot into recovery mode. You should see the warning that gbb.flags is non-zero, and the value itself. 2. Press TAB. The recovery_reason field should display not only a value, but also an English string explaining the value. Change-Id: I99b7aa35bc67453bdf3385b9573491090c3dec1d Reviewed-on: http://gerrit.chromium.org/gerrit/8459 Reviewed-by: Bill Richardson <wfrichar@chromium.org> Tested-by: Bill Richardson <wfrichar@chromium.org>
* sign_official_build: allow repacking firmware when executed by sudoHung-Te Lin2011-09-261-0/+1
| | | | | | | | | | | | | | | To prevent execution permissions lost after being copied to /tmp, force adding a+rx to the staging file. BUG=chromium-os:20797 TEST=sudo sign_official_build.sh ssd \ x86-zgb-0.16.1089.0.bin ../../tests/devkeys ssd_image.bin Change-Id: Ibee12dbb3faea9f6b05600d1343620e0af8633fb Reviewed-on: http://gerrit.chromium.org/gerrit/8263 Tested-by: Hung-Te Lin <hungte@chromium.org> Reviewed-by: Gaurav Shah <gauravsh@chromium.org> Commit-Ready: Gaurav Shah <gauravsh@chromium.org>
* Make startup delay and noises simpler to change.Bill Richardson2011-09-262-26/+110
| | | | | | | | | | | | | BUG=none TEST=manual Booted in dev-mode. All noises and delays are unchanged (2 second delay when gbb.flags is 1, 30-second with beeps at 20 seconds when gbb.flags is 0). Change-Id: I816e57c4f8f6025299851b3d42b4a350f9925994 Reviewed-on: http://gerrit.chromium.org/gerrit/8240 Reviewed-by: Randall Spangler <rspangler@chromium.org> Tested-by: Bill Richardson <wfrichar@chromium.org>
* VbExBeep() now returns VbError_t instead of voidBill Richardson2011-09-233-8/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This enables us to support playing sounds in the background if the BIOS allows it, so we don't have to block while beeping is happening. The new declaration is: VbError_t VbExBeep(uint32_t msec, uint32_t frequency); If the audio codec can run in the background, then: zero frequency means OFF, non-zero frequency means ON zero msec means return immediately, non-zero msec means delay (and then OFF if needed) else: non-zero msec and non-zero frequency means ON, delay, OFF, return zero msec or zero frequency means do nothing and return immediately The return value is used by the caller to determine the capabilities. The implementation should always do the best it can if it cannot fully support all features - for example, beeping at a fixed frequency if frequency support is not available. At a minimum, it must delay for the specified non-zero duration. Currently, VbExBeep() is called only when displaying the dev-mode screen. BUG=none TEST=manual I've tested on x86 and ARM, all timeouts and noises work as before. Note that ARM and coreboot will require a corresponding change to their VbExBeep() implementations, which will have to be handled with separate, simultaneous CLs. Change-Id: I3417ae4b99d9d0aee63f2ccaeed39b61d4333e5d Reviewed-on: http://gerrit.chromium.org/gerrit/8234 Tested-by: Bill Richardson <wfrichar@chromium.org> Reviewed-by: Stefan Reinauer <reinauer@google.com>
* sign_official_build: Work around different verity arguments across imagesGaurav Shah2011-09-231-3/+14
| | | | | | | | | | | | | | | | | | | | | Work around the fact that we have 3 different verity kernel arguments depending on the image being signed (legacy parameters, new key=value parameters, new key= value parameters with salt). Since the signer is not branch conscious, expect and use the old verity binary to be present when legacy kernel arguments are specified. The last 2 types of verity arguments can be distinguished based on whether a salt is present. BUG=chromium-os:20640 TEST=manually tested by signing r14, r15 and r16 images and verifying that kernel parameters are set correctly. Change-Id: I96ecf6f506a94509a64ef12d7a108e977f94c23c Reviewed-on: http://gerrit.chromium.org/gerrit/8214 Commit-Ready: Gaurav Shah <gauravsh@chromium.org> Tested-by: Gaurav Shah <gauravsh@chromium.org> Reviewed-by: David McMahon <djmm@chromium.org> Tested-by: David McMahon <djmm@chromium.org>
* image security test: Allow alternatives for verity parametersGaurav Shah2011-09-212-15/+36
| | | | | | | | | | | | | | | | | | This is again working around the fact that the signer isn't branch conscious. Depending on which branch you look at, there are 3 possible verity parameter styles in use. This CL allows the kernel parameter test to allow multiple alternatives for verity dm= parameters. BUG=chromium-os:20640 TEST=manually tried with a R16, R15 and R14 image Change-Id: I07554594d6adbdfd1988395d3e91edfd603d8cd4 Reviewed-on: http://gerrit.chromium.org/gerrit/8067 Reviewed-by: Jim Hebert <jimhebert@chromium.org> Commit-Ready: Gaurav Shah <gauravsh@chromium.org> Tested-by: Gaurav Shah <gauravsh@chromium.org>
* vbutil: support 64bit x86Sonny Rao2011-09-191-1/+2
| | | | | | | | | | | | | | | This changes the code accept x86.* as an alias for x86 architecture since both x86 and x86_64 systems will handle things identically BUG=chromium-os:20336 TEST=try to use update_kernel.sh on a system running an x86_64 kernel Change-Id: Icf18925bdb8583cd53c6f6254c7493bdec540465 Reviewed-on: http://gerrit.chromium.org/gerrit/7873 Reviewed-by: Bill Richardson <wfrichar@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org> Reviewed-by: Che-Liang Chiou <clchiou@chromium.org> Tested-by: Sonny Rao <sonnyrao@chromium.org>
* Allow path to the cgpt binary to be set on the command lineEric M. Blake2011-09-162-14/+28
| | | | | | | | | | | | BUG=chromium-os:17138 TEST=tested changes on vm8-m2, was able to successfully run au-generate.py and it used the cgpt binary from au-generate.zip Change-Id: Ia57f1be4b0d669cad430e51977cce6e26d704320 Reviewed-on: http://gerrit.chromium.org/gerrit/7796 Reviewed-by: Gaurav Shah <gauravsh@chromium.org> Reviewed-by: Eric Blake <eblake@chromium.org> Tested-by: Eric Blake <eblake@chromium.org>
* Make BIOS screens warn when GBB.flags is nonzero.Bill Richardson2011-09-141-0/+11
| | | | | | | | | | | | | | | | | | | | | | BUG=chrome-os-partner:5919 TEST=manual Until the factory flow has completed, BIOS screens should display a warning message about GBB.flags. This message should disappear once the flags field is zero. You can see the state of the GBB flags in a particular BIOS image using gbb_utility -g --flags BIOS.bin And set it with gbb_utility -s --flags=VALUE BIOS.bin NEWBIOS.bin Change-Id: I15d336bda571978ece0a9744f19d80f0ae385fb1 Reviewed-on: http://gerrit.chromium.org/gerrit/7719 Tested-by: Bill Richardson <wfrichar@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org>
* Stub out easter egg, in case BIOS wants to implement one.Bill Richardson2011-09-144-3/+26
| | | | | | | | | | | | BUG=none TEST=manual Type 'xyzzy' at dev-mode BIOS screen. What happens next depends on the BIOS. Change-Id: Ifdb49eb6cb53ecee91f576be91679bd5a232f008 Reviewed-on: http://gerrit.chromium.org/gerrit/7656 Tested-by: Bill Richardson <wfrichar@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org>
* Up/Down keys should change locale in BIOS screens.Bill Richardson2011-09-131-2/+3
| | | | | | | | | | | | | BUG=chrome-os-partner:5927 TEST=manual Install BIOS with valid bitmaps, boot to dev-mode or recovery, press arrow keys. Change-Id: I3946bac94cc075f9d11b4dd3fcb118807c3318c4 Reviewed-on: http://gerrit.chromium.org/gerrit/7636 Tested-by: Bill Richardson <wfrichar@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org>
* sign_official_build: support new firmware updater repacking methodfactory-1020.BHung-Te Lin2011-09-091-35/+59
| | | | | | | | | | | | | | | | | | To prevent hard-coding the procedure to repack a firmware updater, this CL supports using new "--sb_repack" mode supported by updater so that signer does not need to care about how the updater is packed anymore. BUG=chromium-os:20027 TEST=./sign_official_build.sh ssd \ ~/trunk/src/build/images/x86-zgb/latest/chromiumos_image.bin \ ../../tests/devkeys \ ~/trunk/src/build/images/x86-zgb/latest/chromiumos_new_image.bin # success Change-Id: I035dfaa86b05b85748e69ec039769b0c08d33f64 Reviewed-on: http://gerrit.chromium.org/gerrit/7311 Tested-by: Hung-Te Lin <hungte@chromium.org> Reviewed-by: Gaurav Shah <gauravsh@chromium.org>
* Add unit tests for vboot_api_firmware.cRandall Spangler2011-09-092-0/+295
| | | | | | | | | | BUG=chromium-os:17564 TEST=make && make runtests Change-Id: I030c204527e1c17b8d6523beec3b7604a638fc98 Reviewed-on: http://gerrit.chromium.org/gerrit/7444 Reviewed-by: Bill Richardson <wfrichar@chromium.org> Tested-by: Randall Spangler <rspangler@chromium.org>
* Change debug messages to use 1-based GPT partition numbers.Bill Richardson2011-09-082-3/+6
| | | | | | | | | | BUG=none TEST=none Change-Id: Ib717f1008edbb6c11d73fbe42d533ebe45800a45 Reviewed-on: http://gerrit.chromium.org/gerrit/7410 Reviewed-by: Randall Spangler <rspangler@chromium.org> Tested-by: Bill Richardson <wfrichar@chromium.org>
* Fix bug in recognizing bad image files.Bill Richardson2011-09-083-2/+4
| | | | | | | | | | | | | BUG=none TEST=manual make make runtests Change-Id: I8456c25187e01666cc46bad50813e8a4d268f1bc Reviewed-on: http://gerrit.chromium.org/gerrit/7409 Reviewed-by: Randall Spangler <rspangler@chromium.org> Tested-by: Bill Richardson <wfrichar@chromium.org>
* Tweak a bit to clean up alignment and one non-rendering character.Bill Richardson2011-09-0712-144/+158
| | | | | | | | | | | BUG=chromium-os:13037 TEST=none Change-Id: Ib2a18e44753fd82eb3e2c8aed456abfa4165c235 Reviewed-on: http://gerrit.chromium.org/gerrit/7376 Reviewed-by: Randall Spangler <rspangler@chromium.org> Reviewed-by: Bill Richardson <wfrichar@chromium.org> Tested-by: Bill Richardson <wfrichar@chromium.org>
* vboot_reference: update localized bitmapsHung-Te Lin2011-09-0755-0/+0
| | | | | | | | | | | | | | | | | There were some locale bitmaps displayed as question marks (like ???) due to missing font with ImageMagick. Since we use Pango now, this CL updates the bitmaps from those locales: ar el fa hi iw ja ko th vi zh_CN zh_TW BUG=chromium-os:13037 TEST=for X in ar el fa hi iw ja ko th vi zh_CN zh_TW; do display $X; done # all pictures looks fine - at least no question marks anymore Change-Id: I4b4c443d6afb25cf603f3371a47677744ea9358d Reviewed-on: http://gerrit.chromium.org/gerrit/7326 Reviewed-by: Bill Richardson <wfrichar@chromium.org> Tested-by: Hung-Te Lin <hungte@chromium.org>
* vboot_reference: add pango based text_to_bmp converterHung-Te Lin2011-09-061-37/+28
| | | | | | | | | | | | | pango provides TTF fontset rendering, which solves i18n text issue. BUG=chromium-os:13037 TEST=./text_to_bmp localized_text/ja/*.txt display localized_text/ja/*.bmp $ looks fine Change-Id: Id2731efa131516125ea9bd27016d44cdd4c50974 Reviewed-on: http://gerrit.chromium.org/gerrit/7152 Reviewed-by: Bill Richardson <wfrichar@chromium.org> Tested-by: Hung-Te Lin <hungte@chromium.org>
* Add unit tests for vboot_api_init.cRandall Spangler2011-09-063-1/+276
| | | | | | | | | | BUG=chromium-os:17564 TEST=make && make runtests Change-Id: Idca158e82d1ea102221ea3b51d445fadee9d2794 Reviewed-on: http://gerrit.chromium.org/gerrit/7183 Reviewed-by: Luigi Semenzato <semenzato@chromium.org> Tested-by: Randall Spangler <rspangler@chromium.org>
* Display sha1sums in BIOS debug infotest-982.Bfactory-980.BBill Richardson2011-09-011-2/+37
| | | | | | | | | | | | BUG=none TEST=manual Press 'TAB' at any BIOS screen. You should see some sha1sums. Change-Id: Id2f034ad198e4c9c53ab2f2a8fa6195f3479f6aa Reviewed-on: http://gerrit.chromium.org/gerrit/7101 Reviewed-by: Randall Spangler <rspangler@chromium.org> Tested-by: Bill Richardson <wfrichar@chromium.org>
* Add tests for vboot_firmware.cRandall Spangler2011-09-015-12/+444
| | | | | | | | | | | | | | | Yaay, LoadFirmware() finally has unit tests! Fix minor memory leak in LoadFirmware(). BUG=chromium-os:17564 TEST=make && make runtests Change-Id: I7eabc14484271f488b77f286e846781ccc22b8f2 (cherry picked from commit 2b7c5635d7069c55a1d96d11b99d02291b7e308b) Reviewed-on: http://gerrit.chromium.org/gerrit/7052 Reviewed-by: Bill Richardson <wfrichar@chromium.org> Tested-by: Randall Spangler <rspangler@chromium.org>
* Add tests for rsa_utility.cRandall Spangler2011-09-016-8/+250
| | | | | | | | | | BUG=chromium-os:17564 TEST=make && make runtests Change-Id: Ia86241f5407ba53d93d3862b29c61b510e560e92 Reviewed-on: http://gerrit.chromium.org/gerrit/6959 Reviewed-by: Bill Richardson <wfrichar@chromium.org> Tested-by: Randall Spangler <rspangler@chromium.org>
* Determine GPIO base from /sys/class/gpio/gpiochip<N>Bill Richardson2011-08-311-13/+39
| | | | | | | | | | | | | | | ... instead of using hard-coded 192 constant. BUG=chromium-os:19876 TEST=manual If crossystem still reports correct values for devsw_cur recoverysw_cur (and maybe wpsw_cur, although that's a separate bug), then it works. Change-Id: Id8d4fb389bfd78f40da9ef08aa372071d77cbec1 Reviewed-on: http://gerrit.chromium.org/gerrit/7014 Reviewed-by: Bill Richardson <wfrichar@chromium.org> Tested-by: Bill Richardson <wfrichar@chromium.org>
* gbb_utility: add --flags parameter.Hung-Te Lin2011-08-293-28/+156
| | | | | | | | | | | | | | | | | | The --flags is added to get/set the "flags" field. BUG=chrome-os-partner:2317 TEST=gbb_utiltiy --get --flags bios.bin # see flags as 0 gbb_utility --set --flags=0x3052 bios.bin # for version error message for GBB1.0 files, # and see flag value changed for GBB1.1+ files gbb_utility --get --flags bios.bin # flag as 0 for GBB1.0, 0x3052 for GBB1.1+ Change-Id: I7aab62c8fc32ea08b4822e496f543511ff5e5ebc Reviewed-on: http://gerrit.chromium.org/gerrit/6721 Reviewed-by: Bill Richardson <wfrichar@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org> Tested-by: Hung-Te Lin <hungte@chromium.org>
* Add more tests for rsa.c.Randall Spangler2011-08-291-19/+63
| | | | | | | | | | | BUG=chromium-os:17564 TEST=make && make runtests Change-Id: Ib1cdb139b695a648fc500ad61c58efc86c7940a9 (cherry picked from commit 5178f3ce82020e8caa287ceee47f9556c0b3bae8) Reviewed-on: http://gerrit.chromium.org/gerrit/6860 Reviewed-by: Gaurav Shah <gauravsh@chromium.org> Tested-by: Randall Spangler <rspangler@chromium.org>
* Fix makefile typoRandall Spangler2011-08-291-1/+1
| | | | | | | | | | BUG=none TEST=emerge-tegra2_aebl vboot_reference Change-Id: Idc792a1e8b9636a3959fecfde85110e560a64895 Reviewed-on: http://gerrit.chromium.org/gerrit/6836 Reviewed-by: Randall Spangler <rspangler@chromium.org> Tested-by: Randall Spangler <rspangler@chromium.org>
* Remaining unit tests for rollback_index.cRandall Spangler2011-08-293-40/+439
| | | | | | | | | | BUG=chromium-os:17564 TEST=make && make runtests Change-Id: If2fbfb788bc3199603c8646e8f1c9e061199bc6f Reviewed-on: http://gerrit.chromium.org/gerrit/6832 Reviewed-by: Bill Richardson <wfrichar@chromium.org> Tested-by: Randall Spangler <rspangler@chromium.org>
* Partial unit tests for rollback_indexRandall Spangler2011-08-266-33/+330
| | | | | | | | | | | BUG=chromium-os:17564 TEST=make && make runtests Change-Id: I8ea6bcc15f277e10c5b8539f2ea19ad90be34889 Reviewed-on: http://gerrit.chromium.org/gerrit/6770 Reviewed-by: Bill Richardson <wfrichar@chromium.org> Reviewed-by: Stefan Reinauer <reinauer@chromium.org> Tested-by: Randall Spangler <rspangler@chromium.org>
* Fix image verify with new key-value verity paramsGaurav Shah2011-08-251-7/+13
| | | | | | | | | | BUG=chromium-os:18492 TEST=manually on new and old image. Change-Id: Ifa7ab70cd2cd3629656d167cd6f4bfaae8f7f03a Reviewed-on: http://gerrit.chromium.org/gerrit/6589 Reviewed-by: Elly Jones <ellyjones@chromium.org> Tested-by: Gaurav Shah <gauravsh@chromium.org>
* Scale the HWID font to match the rest of the text.Bill Richardson2011-08-256-53/+105
| | | | | | | | | | | | | BUG=chromium-os:18631 TEST=manual Boot to recovery mode screen. HWID should be the same size and shape as the rest of the text. Change-Id: Iee0b0611c1319a304d911b710dd7f35ef999a1eb Reviewed-on: http://gerrit.chromium.org/gerrit/6667 Reviewed-by: Randall Spangler <rspangler@chromium.org> Tested-by: Bill Richardson <wfrichar@chromium.org>
* Add unit tests for tpm_bootmodeRandall Spangler2011-08-252-0/+85
| | | | | | | | | | BUG=chromium-os:17564 TEST=make && make runtests Change-Id: I6437e41f55d5b705a3768d325999847c5753a13d Reviewed-on: http://gerrit.chromium.org/gerrit/6627 Reviewed-by: Stefan Reinauer <reinauer@google.com> Tested-by: Randall Spangler <rspangler@chromium.org>
* dump_fmap: flashrom format should generate [start, end] pair.Louis Yung-Chieh Lo2011-08-241-1/+2
| | | | | | | | | | | | | Rather than [start, size] pair. BUG=no bug id TEST=tested on chroot. Change-Id: I34ec1f654f88f2e9a27b06f07825ff8bf4d9cd8e Reviewed-on: http://gerrit.chromium.org/gerrit/6573 Reviewed-by: Bill Richardson <wfrichar@chromium.org> Reviewed-by: Yung-Chieh Lo <yjlou%chromium.org@gtempaccount.com> Tested-by: Yung-Chieh Lo <yjlou%chromium.org@gtempaccount.com>
* Add missing tests for vboot_commonRandall Spangler2011-08-241-3/+81
| | | | | | | | | | BUG=chromium-os:17564 TEST=make && make runtests Change-Id: I8dd6103eb60c8bc5af2abdd733d8f581984f27b9 Reviewed-on: http://gerrit.chromium.org/gerrit/6615 Reviewed-by: Bill Richardson <wfrichar@chromium.org> Tested-by: Randall Spangler <rspangler@chromium.org>
* Add tests for utility.h and sysincludes.h macrosRandall Spangler2011-08-244-4/+58
| | | | | | | | | | | BUG=chromium-os:17564 TEST=make && make runtests Change-Id: Id0a834c2b234d5f9cbbb37a69426e2b97c734d0a Reviewed-on: http://gerrit.chromium.org/gerrit/6608 Reviewed-by: Bill Richardson <wfrichar@chromium.org> Reviewed-by: Stefan Reinauer <reinauer@google.com> Tested-by: Randall Spangler <rspangler@chromium.org>
* Add tests for vboot_reference stateful_util.cRandall Spangler2011-08-247-8/+345
| | | | | | | | | | BUG=chromium-os:17564 TEST=make && make runtests Change-Id: I5d55be2dfead0c5d7af72841cbd6c65485685cd6 Reviewed-on: http://gerrit.chromium.org/gerrit/6596 Reviewed-by: Stefan Reinauer <reinauer@chromium.org> Tested-by: Randall Spangler <rspangler@chromium.org>
* bmpblock v1.2 - render HWID inside vboot_referenceBill Richardson2011-08-2417-136/+798
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Don't check the firmware body when USE_RO_NORMAL preamble flag is presented.Tom Wai-Hong Tam2011-08-231-6/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the firmware supporting RO normal boot doesn't contains any valid RW firmware body. Skipping the check avoids unnecessary failure. BUG=chromium-os:19451 TEST=manual Picked a firmware supporting RO normal boot and extracted its sections. Ran: $ vbutil_firmware --verify VBLOCK_A --signpubkey \ > /usr/share/vboot/devkeys/root_key.vbpubk --fv RW_SECTION_A Key block: Size: 2232 Flags: 7 (ignored) Data key algorithm: 7 RSA4096 SHA256 Data key version: 1 Data key sha1sum: e2c1c92d7d7aa7dfed5e8375edd30b7ae52b7450 Preamble: Size: 2164 Header version: 2.1 Firmware version: 1 Kernel key algorithm: 7 RSA4096 SHA256 Kernel key version: 1 Kernel key sha1sum: 5d2b220899c4403d564092ada3f12d3cc4483223 Firmware body size: 456411 Preamble flags: 1 Preamble requests USE_RO_NORMAL; skipping body verification. Change-Id: I8b81e679016f2946198396c5627415fe979c0a4f Reviewed-on: http://gerrit.chromium.org/gerrit/6396 Tested-by: Tom Wai-Hong Tam <waihong@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org>
* Add support for new verity key-value style kernel parametersGaurav Shah2011-08-231-10/+39
| | | | | | | | | | | BUG=chromium-os:18492 TEST=manually tested with both an old verity image, as well as a new one (with the pending http://gerrit.chromium.org/gerrit/6085) Change-Id: I347de9185db1c4ea949d37121c63e08184e8fcfe Reviewed-on: http://gerrit.chromium.org/gerrit/6516 Reviewed-by: Elly Jones <ellyjones@chromium.org> Tested-by: Gaurav Shah <gauravsh@chromium.org>
* Add unit tests for utility.cRandall Spangler2011-08-234-8/+80
| | | | | | | | | | | | | | Also fixes returned value from Memset(). And SafeMemcmp() should return 0 (equal) if comparing 0 bytes, to match the behavior of memcmp(). BUG=chromium-os:17564 TEST=make && make runtests Change-Id: Id43e70eecf04815216e1fd952271af35e0a66396 Reviewed-on: http://gerrit.chromium.org/gerrit/6539 Reviewed-by: Stefan Reinauer <reinauer@google.com> Reviewed-by: Bill Richardson <wfrichar@chromium.org> Tested-by: Randall Spangler <rspangler@chromium.org>
* Disable broken bmpblock_utility testRandall Spangler2011-08-231-2/+5
| | | | | | | | | | | | | | | | | The current bmpblock_utility doesn't preserve the order of images as specified in the config yaml file. This doesn't affect the functioning of the firmware, but does break this overly-restrictive test. Filed crosbug.com/19541 to fix this after Bill's current refactoring. BUG=chromium-os:19541 TEST=make && make runtests Change-Id: I03fe817bd191fec5f65aad37561a3224b6a2b1e6 Reviewed-on: http://gerrit.chromium.org/gerrit/6512 Reviewed-by: Bill Richardson <wfrichar@chromium.org> Tested-by: Randall Spangler <rspangler@chromium.org>
* Cleanup: DEFAULT.yaml should include locale_names section.Bill Richardson2011-08-224-4/+64
| | | | | | | | | | | | | | | | 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>