summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Add missing arg to debug messagestabilize-9460.73.Bstabilize-9460.66.Bstabilize-9460.60.Bstabilize-9460.40.Bstabilize-9460.4.Bstabilize-9460.23.Brelease-R59-9460.BBill Richardson2017-04-121-1/+1
| | | | | | | | | | | BUG=none BRANCH=all TEST=none Change-Id: Ic7b318fbc05a2b25f4923d08381186c8b37a5999 Signed-off-by: Bill Richardson <wfrichar@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/475117 Reviewed-by: Randall Spangler <rspangler@chromium.org>
* detachables: Define VbExDisplayMenu()stabilize-9430.Bstabilize-9428.BShelley Chen2017-03-292-0/+17
| | | | | | | | | | | | | Create new callback for drawing detachable firmware menus BUG=b:35585623 BRANCH=None TEST=None Change-Id: Ief207f6119f00151e2d480549aaac3a8755cb1b4 Signed-off-by: Shelley Chen <shchen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/457838 Reviewed-by: Stefan Reinauer <reinauer@chromium.org>
* Preserve compress method when re-sign Android imageVictor Hsieh2017-03-281-1/+3
| | | | | | | | | | | | | TEST=sign_android_image.sh rootfs /path/to/tests/devkeys/android # unsquash -s still shows gzip (previous script always use lzo) BUG=chromium:705247 BRANCH=none Change-Id: If95686d293123a069ce36bc53cbea3a08aa3e7ab Reviewed-on: https://chromium-review.googlesource.com/461205 Commit-Ready: Victor Hsieh <victorhsieh@chromium.org> Tested-by: Victor Hsieh <victorhsieh@chromium.org> Reviewed-by: Mike Frysinger <vapier@chromium.org>
* vboot_reference: Add support for 3072-bit exponent 3 keysNicolas Boichat2017-03-1621-3/+102
| | | | | | | | | | | | | | | | This also adds the required tests (keys, testcases), and some additional tests in vb2_rsa_utility_tests.c that were not added when 2048-bit exponent 3 support was added. BRANCH=none BUG=chromium:684354 TEST=make runtests Change-Id: I56d22302c2254ef500b9d2d290a79d8c8bc39942 Reviewed-on: https://chromium-review.googlesource.com/449060 Commit-Ready: Nicolas Boichat <drinkcat@chromium.org> Tested-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org>
* vbutil_keyblock: Force checking the signature if signpubkey is providedNicolas Boichat2017-03-161-3/+10
| | | | | | | | | | | | | | | | | | | Previously, futility vbutil_keyblock --unpack would just ignore the error if the keyblock was not signed (but a signing public key was provided). This fix would have caught the regression introduced by 939cc3a "futility: Use only vboot 2.0 APIs for keyblocks" BUG=chromium:611535 BRANCH=none TEST=make runtests on m/master => fails TEST=make runtests with CL:448399 => succeeds Change-Id: Id7f0a248863aae2f41c2fa46fbb8a37848e707a9 Reviewed-on: https://chromium-review.googlesource.com/449058 Commit-Ready: Nicolas Boichat <drinkcat@chromium.org> Tested-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org>
* host_keyblock: Fix vb2_create_keyblock_externalNicolas Boichat2017-03-161-1/+2
| | | | | | | | | | | | | | | | 939cc3a "futility: Use only vboot 2.0 APIs for keyblocks" introduced 2 subtle bugs, and we could still pass unit tests. Until we start adding more signing algorithms and sig_data_size != 0. BUG=chromium:611535 BRANCH=none TEST=make runtests Change-Id: Ief95e5ab773185b59276cf06d1efaa29f1212466 Reviewed-on: https://chromium-review.googlesource.com/448399 Commit-Ready: Nicolas Boichat <drinkcat@chromium.org> Tested-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org>
* poppy: center detachable menu textstabilize-M58-9334.41.0.Bstabilize-9334.58.Brelease-R58-9334.BShelley Chen2017-03-021-2/+6
| | | | | | | | | | | | BUG=b:35585623 BRANCH=None TEST=reboot and make sure menu is centered in fw screen CQ-DEPEND=CL:447818 Change-Id: I7ce5063adab978338af18ad2befe65107fdea21f Signed-off-by: Shelley Chen <shchen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/447838 Reviewed-by: Randall Spangler <rspangler@chromium.org>
* poppy: define VbExDisplayGetDimension()Shelley Chen2017-03-022-0/+10
| | | | | | | | | | | | | callback to get rows/cols of display BUG=b:35585623 BRANCH=None TEST=make sure code compiles Change-Id: I276975b2f0eecceb66a30ceaa449ab76a440026d Signed-off-by: Shelley Chen <shchen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/447837 Reviewed-by: Randall Spangler <rspangler@chromium.org>
* poppy: Disable arrow keys for language switchShelley Chen2017-03-021-2/+0
| | | | | | | | | | | | | | | | Previously, could use arrow keys to change language in fw screen. Disabling this in detachable menu because will be using menu to switch languages. BUG=b:35585623 BRANCH=None TEST=reboot and try to use right/left arrows. Make sure they don't do anything. Change-Id: Ic720ea4ec9e6b7ae1676fdf60d27e2c74e48f736 Signed-off-by: Shelley Chen <shchen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/444945 Reviewed-by: Randall Spangler <rspangler@chromium.org>
* poppy: use return key for selectionShelley Chen2017-03-021-9/+2
| | | | | | | | | | | | | | Replacing right arrow key with return for selection when keyboard is available because it's more obvious. BUG=b:35585623 BRANCH=None TEST=reboot and make sure return selects menu item. Change-Id: I6b2fbd8cddcd98c49638a6b9d79b47da1ca6545f Signed-off-by: Shelley Chen <shchen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/444944 Reviewed-by: Randall Spangler <rspangler@chromium.org>
* poppy: reinstating fw ctrl functionsShelley Chen2017-03-021-0/+43
| | | | | | | | | | | | | | | Putting ctrl+D, ctrl+U, ctrl+L shortcuts back in from the fw screens. BUG=b:35585623 BRANCH=None TEST=reboot and try ctrl+D, etc. in fw screen to make sure that they have desired effects. Change-Id: I5ca555658eddabeeea6a2f64794e6839f35d75f7 Signed-off-by: Shelley Chen <shchen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/443349 Reviewed-by: Randall Spangler <rspangler@chromium.org>
* vboot_ui_menu: getting rid of explicit function printShelley Chen2017-03-021-50/+39
| | | | | | | | | | | | | | | Since we're now using VB2_DEBUG, no need to explicitly print out __func__ anymore. BUG=b:35585623 BRANCH=None TEST=reboot and make sure still see serial output in AP console. Change-Id: Ica524d4e50c61681e466815ffb93d33ceee215aa Signed-off-by: Shelley Chen <shchen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/443348 Reviewed-by: Randall Spangler <rspangler@chromium.org>
* poppy: replacing dev warn & rec screens with baseShelley Chen2017-03-021-9/+9
| | | | | | | | | | | | | | | Using new base screen only and leaving center blank for displaying the detachable menu items. BUG=b:35585623 BRANCH=None TEST=reboot and make sure icons don't show up in FW screens. Change-Id: I705dac43441f386ebceb58533fa0e336541fcd3c Signed-off-by: Shelley Chen <shchen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/442692 Reviewed-by: Randall Spangler <rspangler@chromium.org>
* poppy: defining base screen enum itemShelley Chen2017-03-011-0/+2
| | | | | | | | | | | BUG=b:35585623 BRANCH=None TEST=None Change-Id: I2bb7f3f3cb8fd37f8a7c2253e1ea0cb322d01c9c Signed-off-by: Shelley Chen <shchen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/442691 Reviewed-by: Randall Spangler <rspangler@chromium.org>
* poppy: Highlight menu selectionShelley Chen2017-02-271-21/+10
| | | | | | | | | | | | | | | Reverse foreground/background colors for highlighted selection. BUG=chrome-os-partner:61275 BRANCH=None TEST=reboot and make sure selection is highlighted CQ-DEPEND=CL:442747 Change-Id: Iaf33cf6140a3ce774a67e3ac7d381d5e05feeddb Signed-off-by: Shelley Chen <shchen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/442690 Reviewed-by: Randall Spangler <rspangler@chromium.org>
* poppy: add highlight param to VbExDisplayText()Shelley Chen2017-02-272-3/+10
| | | | | | | | | | | | BUG=chrome-os-partner:61275 BRANCH=None TEST=None CQ-DEPEND=CL:442747,CL:442690 Change-Id: I0730b64a1f8bf1f4aeca1be5ee87724d61818b23 Signed-off-by: Shelley Chen <shchen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/442689 Reviewed-by: Randall Spangler <rspangler@chromium.org>
* futility: rwsig: Add support for images with FMAPNicolas Boichat2017-02-255-56/+253
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If an FMAP is detected in the rwsig image file, use it to determine the location of: - RW region - RW signature - public key in RO region futility show uses that information to verify the signature, and futility sign uses it is correctly resign the image, and replace the public key a well. This also adds tests for this use case. hammer_dev.bin sample image uses huge RO public key and RW signature regions to make sure all keys up to RSA-8192 can be used. BRANCH=none BUG=chrome-os-partner:62321 TEST=make -j TEST=./build/futility/futility --debug show \ --pubkey hammer.vbpubk2 hammer.bin TEST=./build/futility/futility --debug show hammer.bin TEST=cp hammer.bin hammer.bin.orig ./build/futility/futility --debug sign \ --prikey hammer.vbprik2 hammer.bin diff hammer.bin hammer.bin.orig => identical TEST=openssl genrsa -3 -out hammer2.pem 2048 futility create --desc="Hammer 2nd key" hammer2.pem \ hammer2 ./build/futility/futility --debug sign \ --version 2 --prikey hammer2.vbprik2 hammer.bin These 2 commands succeed, but show different keys: ./build/futility/futility --debug show hammer.bin ./build/futility/futility --debug show hammer.bin.orig TEST=make runtests Change-Id: I2cebc421eaf97d1b92c9a58afc238d41487d0f6d Reviewed-on: https://chromium-review.googlesource.com/445536 Commit-Ready: Nicolas Boichat <drinkcat@chromium.org> Tested-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org> Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* cmd_sign/rwsig: Free sign_option.prikey in the main functionNicolas Boichat2017-02-252-2/+2
| | | | | | | | | | | | | | It's better to free it in the same function as it was allocated. BRANCH=none BUG=none TEST=make runtests Change-Id: I7a224364c4b1afce5a274b944d32fc1b7ba5db30 Reviewed-on: https://chromium-review.googlesource.com/446177 Commit-Ready: Nicolas Boichat <drinkcat@chromium.org> Tested-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* cgpt: find: filter out more devices before touching themJeffy Chen2017-02-241-4/+15
| | | | | | | | | | | | | | | | | | A partition's name would always start with the disk name. And in /proc/partitions, the partitions are always listed right after the disk. Let's filter out devices which are not followed by partitions when go through the /proc/partitions. BUG=chrome-os-partner:62955 TEST=run "cgpt find -t kernel" on kevin, no more this warning: blk_update_request: I/O error, dev mmcblk0rpmb Change-Id: If200a2476d26b1beaf644838d47ea2e60552855e Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com> Reviewed-on: https://chromium-review.googlesource.com/444492 Reviewed-by: Julius Werner <jwerner@chromium.org>
* vboot_reference: Add support for 2048-bit exponent 3 keysstabilize-9313.Bfirmware-cr50-release-9308.25.Bfirmware-cr50-mp-release-9308.87.Bfirmware-cr50-mp-r86-9311.70.Bfirmware-cr50-mp-9311.Bfirmware-cr50-guc-factory-9308.26.Bfirmware-cr50-9308.Bfirmware-cr50-9308.24.BNicolas Boichat2017-02-1821-26/+174
| | | | | | | | | | | | | | This also adds the required tests (keys, testcases). BRANCH=none BUG=chromium:684354 TEST=make runtests Change-Id: I5e148f8792ea325f813d76089271f3c4bcc2935d Reviewed-on: https://chromium-review.googlesource.com/438951 Commit-Ready: Nicolas Boichat <drinkcat@chromium.org> Tested-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org>
* futility: create: Output "wrote XX.vb[pub|pri]k" to stdoutNicolas Boichat2017-02-151-4/+4
| | | | | | | | | | | | | | | | Let's keep stderr for actual errors. BRANCH=none BUG=chromium:690773 TEST=make runtests TEST=futility create key.pem out > /dev/null is quiet Change-Id: Id7ce658a0dc08f45d4d035b68e355e49d9717674 Reviewed-on: https://chromium-review.googlesource.com/442524 Commit-Ready: Nicolas Boichat <drinkcat@chromium.org> Tested-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org> Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* host_key2: Add VB2_SIG_ALG_COUNT to count the number of valid signaturesNicolas Boichat2017-02-152-2/+7
| | | | | | | | | | | | | | | | More reliable than simply assuming that VB2_SIG_RSA8192 is the last signature. BRANCH=none BUG=chromium:684354 TEST=rm tests/testkeys/key_*; make genkeys -j TEST=make runtests -j Change-Id: I755b3afb50313fcdf292fb3cd5b0dfe09f8593e3 Reviewed-on: https://chromium-review.googlesource.com/438948 Commit-Ready: Nicolas Boichat <drinkcat@chromium.org> Tested-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org>
* rollback_index: Add disable-ccd-unlock FWMP flagRandall Spangler2017-02-141-0/+2
| | | | | | | | | | | | | | This flag will be used by cr50 to disable case-closed debugging unlock. Here, we're just defining the flag. BUG=chrome-os-partner:62205 BRANCH=reef TEST=build_packages --board=reef chromeos_firmware Change-Id: If86e112948e1c95a767808b2f92dd8fe35abf46c Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/440846 Reviewed-by: Shelley Chen <shchen@chromium.org>
* poppy: initializing next_menu_idx to current_menu_idxShelley Chen2017-02-111-1/+1
| | | | | | | | | | | | | Get rid of uninitialized variable warning. BUG=chrome-os-partner:61275 BRANCH=None TEST=make cgpt WERROR= STATIC=1 Change-Id: I31faa557406c6a90cfdea8571620675c81c0c0ec Signed-off-by: Shelley Chen <shchen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/440432 Reviewed-by: Hung-Te Lin <hungte@chromium.org>
* tests: Add simple test for rwsig imagesNicolas Boichat2017-02-112-0/+47
| | | | | | | | | | | | | | | | This tests that futility can correctly create and verify rwsig images. Note that we do not test RSA 8192, as the signature is longer than 1024 bytes, and the test logic would need to be changed. BRANCH=none BUG=chromium:684354 TEST=make runfutiltests Change-Id: I690e59fe8fa3e273dd81176211c58e1677fa720f Reviewed-on: https://chromium-review.googlesource.com/438950 Commit-Ready: Nicolas Boichat <drinkcat@chromium.org> Tested-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* gen_test_keys.sh: Fixup key_index when keys already existNicolas Boichat2017-02-111-0/+1
| | | | | | | | | | | | | BRANCH=none BUG=chromium:684354 TEST=rm tests/testkeys/key_rsa2048*; make genkeys -j8 Change-Id: I6c75d2d54faf7a02c8fc4ef1ccc8647809c1aae8 Reviewed-on: https://chromium-review.googlesource.com/438949 Commit-Ready: Nicolas Boichat <drinkcat@chromium.org> Tested-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org> Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* signature_digest/SignatureDigest: convert vb2_crypto to hash algorithmNicolas Boichat2017-02-111-6/+11
| | | | | | | | | | | | | | | | We were passing the wrong value to PrependDigestInfo. Let's also refactor the function a little bit. BRANCH=none BUG=chromium:689371 TEST=make gentestcases; git status => no change Change-Id: I0244c3f3de05b33b7ddd21e93a266faf34f2c239 Reviewed-on: https://chromium-review.googlesource.com/439086 Commit-Ready: Nicolas Boichat <drinkcat@chromium.org> Tested-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org> Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* Makefile: Add gentestcases targetNicolas Boichat2017-02-112-0/+9
| | | | | | | | | | | | | | | | | This calls gen_test_cases.sh in the proper environment. Also, prevent gen_test_cases.sh from overriding test_file, to provide stable signature (and avoid large git diff for no reason). BRANCH=none BUG=chromium:684354 TEST=make gentestcases -j8; git diff => no changes Change-Id: I556285fd1a07a4d84f4ebd3fd7881ae06743716e Reviewed-on: https://chromium-review.googlesource.com/439064 Commit-Ready: Nicolas Boichat <drinkcat@chromium.org> Tested-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org>
* poppy: Converting all // comments to /* */Shelley Chen2017-01-301-64/+70
| | | | | | | | | | | | | Also, ensuring comments start with capital letter. BUG=chrome-os-partner:61275 BRANCH=None TEST=None. No functionality change. Change-Id: I961236e2b6d95cf0281cd4e3313f465bf12ead9f Signed-off-by: Shelley Chen <shchen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/434250 Reviewed-by: Randall Spangler <rspangler@chromium.org>
* poppy: Moving menu placement higherShelley Chen2017-01-301-1/+1
| | | | | | | | | | | | | | Prevent scrolling off for low res displays BUG=chrome-os-partner:61275 BRANCH=None TEST=reboot snappy and make sure menu doesn't cause screen to scroll. Change-Id: Ic5641c7c43ab3872dcb321df2629e228e86ddbb6 Signed-off-by: Shelley Chen <shchen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/434249 Reviewed-by: Randall Spangler <rspangler@chromium.org>
* poppy: Check NULL menu_array params in vb2_get_current_menu_size()Shelley Chen2017-01-301-1/+2
| | | | | | | | | | | BUG=chrome-os-partner:61275 BRANCH=None TEST=None Change-Id: I1d88e552a4c9184061207a8e14e32dfb1a39745a Signed-off-by: Shelley Chen <shchen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/434248 Reviewed-by: Randall Spangler <rspangler@chromium.org>
* poppy: Adding kernel-doc commentsShelley Chen2017-01-301-5/+40
| | | | | | | | | | | BUG=chrome-os-partner:61275 BRANCH=None TEST=None. No functionality change. Change-Id: I00bb1924e22f398e1b614789dd0cd068ce51cc5d Signed-off-by: Shelley Chen <shchen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/434247 Reviewed-by: Randall Spangler <rspangler@chromium.org>
* firmware: Using power button for selectionShelley Chen2017-01-242-1/+11
| | | | | | | | | | | BUG=chrome-os-partner:61275 BRANCH=None TEST=reboot and try to make selections in detachable UI with power button. Change-Id: I0a3178eb3fa2c8c1ed77d96fdefa948eaea508e5 Signed-off-by: Shelley Chen <shchen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/427220
* firmware: Prevent wraparound when scrolling through menusShelley Chen2017-01-241-5/+10
| | | | | | | | | | | | BUG=chrome-os-partner:61275 BRANCH=None TEST=reboot and scroll to ends of menus to make sure that they don't wraparound. Change-Id: I9ba83b23939140d23fe54858b9a10f873091ff72 Signed-off-by: Shelley Chen <shchen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/426410 Reviewed-by: Randall Spangler <rspangler@chromium.org>
* firmware: set fw screen default selectionShelley Chen2017-01-241-74/+95
| | | | | | | | | | | | BUG=chrome-os-partner:61275 BRANCH=None TEST=reboot and scroll through menus to make sure defaults to power off in all menus. Change-Id: I21e6c24c43a46e9e79001857c1dec9869a07d61a Signed-off-by: Shelley Chen <shchen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/426409 Reviewed-by: Randall Spangler <rspangler@chromium.org>
* firmware: Adding vol up/down ascii definitionsShelley Chen2017-01-242-1/+10
| | | | | | | | | | | BUG=chrome-os-partner:61275 BRANCH=None TEST=test vol up/down keys and see if menu changes. Change-Id: I2213639d530f954f12040b14bf2e5cdeb5c03218 Signed-off-by: Shelley Chen <shchen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/426408 Reviewed-by: Randall Spangler <rspangler@chromium.org>
* 2lib: add VB2_DEBUG_RAW() to print without function nameRandall Spangler2017-01-2012-147/+131
| | | | | | | | | | | | | | | | | | | | | | | | Currently, VB2_DEBUG() will print the function name as a prefix to the debug output. Add VB2_DEBUG_RAW() to print without that, so that it's possible to print little bits of debug output. Use this in ec_sync to hex dump the hashes. And then clean up all of the debug calls which explicitly did things like: VB2_DEBUG("%s: foo", __func__); to just: VB2_DEBUG("foo"); so they don't double-print the function name BUG=chromium:683391 BRANCH=none TEST=build_packages --board=reef chromeos-firmware && DEBUG=1 make -j runtests CQ-DEPEND=CL:430978,CL:431111 Change-Id: I0c35519d2e670d55d65d01eaa60d61f3e3edf419 Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/431171 Reviewed-by: Julius Werner <jwerner@chromium.org>
* firmware: calling menu ui when using detachablesstabilize-fsi-9202.5.0.Bstabilize-fsi-9202.10.Bstabilize-M57-9202.35.0.Bstabilize-9202.Bstabilize-9202.64.Bstabilize-9202.56.Bstabilize-9202.28.Bstabilize-9202.18.Bstabilize-9199.Brelease-R57-9202.BShelley Chen2017-01-182-3/+16
| | | | | | | | | | | | BUG=chrome-os-partner:61275 BRANCH=None TEST=compile depthcharge with inflags=VB_SALK_INFLAGS_ENABLE_DETACHABLE_UI and run. Change-Id: I4c2351feef51bbf88fefd37986de6f853cd1942e Signed-off-by: Shelley Chen <shchen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/424091 Reviewed-by: Randall Spangler <rspangler@chromium.org>
* firmware: fixing menu artifacts during printingShelley Chen2017-01-181-2/+9
| | | | | | | | | | | | BUG=chrome-os-partner:61275 BRANCH=None TEST=reboot and switch menus and make sure everything is printing out properly. Change-Id: I1269d3dc762a66dde0203673b7b400aba92afa75 Signed-off-by: Shelley Chen <shchen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/424356 Reviewed-by: Randall Spangler <rspangler@chromium.org>
* firmware: adding support for language menuShelley Chen2017-01-181-0/+57
| | | | | | | | | | | BUG=chrome-os-partner:61275 BRANCH=None TEST=reboot and try selecting language menu. Change-Id: I3ec208578aec0ccaa92e17e4589ebeae250dae4f Signed-off-by: Shelley Chen <shchen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/424355 Reviewed-by: Randall Spangler <rspangler@chromium.org>
* firmware: Add recovery menu support for detachablesShelley Chen2017-01-181-64/+176
| | | | | | | | | | | | | Adding in basic menu support (using arrow keys) for detachables. This is specifically for the recovery menu. BUG=chrome-os-partner:61275 BRANCH=None TEST=reboot into recovery and try booting into developer mode. Change-Id: I9596cde62f2748928b4b796bde0a0226dc981235 Signed-off-by: Shelley Chen <shchen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/424354
* firmware: Add developer menu support for detachablesShelley Chen2017-01-183-0/+825
| | | | | | | | | | | | | | | | | Adding in basic menu support (using arrow keys) for detachables, which do not have keyboards. Thus, we can only do menu scrolling rather than the old ctrl+D/U/L way. This is specifically for the developer warning menu. BUG=chrome-os-partner:61275 BRANCH=None TEST=reboot system and try scrolling through menu Change-Id: I39f56f5ca2fedd47df53ab246ec357d07c9c4af0 Signed-off-by: Shelley Chen <shchen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/424353 Reviewed-by: Randall Spangler <rspangler@chromium.org>
* vboot: fix compiling with DEBUG=1Randall Spangler2017-01-182-0/+2
| | | | | | | | | | | | | | | | | | If FOR_TEST is defined, 2common.h defines VB2_DEBUG() to be printf(); it should include stdio.h as well. The HOSTLIB extern linktest links against the vboot1 stub functions, but not the vboot2 stub functions, so it couldn't find vb2ex_printf(). BUG=chromium:682058 BRANCH=none TEST=DEBUG=1 make runtests; DEBUG=1 emerge-reef vboot_reference depthcharge Change-Id: Ibf981a70ca4087ce3d86b02d76e03063b2cfc9e5 Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/429310 Commit-Ready: Shelley Chen <shchen@chromium.org> Reviewed-by: Shelley Chen <shchen@chromium.org>
* image_signing: support signing of OCI containersMike Frysinger2017-01-145-0/+223
| | | | | | | | | | | | | BUG=chromium:660209 TEST=`./sign_official_build.sh oci-container fastboot/ ../tests/devkeys` works TEST=signing an image inserted the container pubkey BRANCH=None Change-Id: I75793b03e93f2c18b1495a3ec729ad04d2e17401 Reviewed-on: https://chromium-review.googlesource.com/427538 Commit-Ready: Mike Frysinger <vapier@chromium.org> Tested-by: Mike Frysinger <vapier@chromium.org> Reviewed-by: David Riley <davidriley@chromium.org>
* firmware: Adding VbExDisplayText functionShelley Chen2017-01-132-0/+12
| | | | | | | | | | | | | | | Enables easy printing of text to display. Will be used for detachable UI. BUG=chrome-os-partner:61275 BRANCH=None TEST=Tested from new vboot_ui_menu.c file CQ-DEPEND=CL:424357 Change-Id: I668dd57eaafa02fb31f6ac479bcd03a613323f14 Signed-off-by: Shelley Chen <shchen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/424090 Reviewed-by: Randall Spangler <rspangler@chromium.org>
* firmware: replace VBDEBUG(()) macro with VB2_DEBUG()Randall Spangler2017-01-1222-378/+394
| | | | | | | | | | | | | | | | The original VBDEBUG macro used doubly-nested parens to work with MSVC, which didn't support varargs in macros. We now only use more modern compilers, so replace it with the VB2_DEBUG macro and get rid of the ugly and fragile double parens. BUG=chromium:611535 BRANCH=none TEST=make runtests; build_packages --board=reef chromeos-firmware Change-Id: Ifc0cb0733b14daaa1fde095fab7da4215a538c77 Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/425133 Reviewed-by: Shelley Chen <shchen@chromium.org>
* firmware: Split out kernel UIRandall Spangler2017-01-124-547/+610
| | | | | | | | | | | | | | | This moves the UI loops out of vboot_api_kernel.c into vboot_ui.c, so that it'll be easier to support different UIs for different form factors. BUG=chromium:611535 BRANCH=none TEST=make runtests; build_packages --board=reef chromeos-firmware; boot reef Change-Id: I451b15f65aceb427ffdd94b19f44e91ebc10a860 Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/414289 Reviewed-by: Patrick Georgi <pgeorgi@chromium.org> Reviewed-by: Shelley Chen <shchen@chromium.org>
* firmware: Remove LoadKernelParams from APIsRandall Spangler2017-01-1213-305/+309
| | | | | | | | | | | | | | This cleans up the vboot functions which handle display so they don't need to pass it around. Eventually, it'll be absorbed by vb2_context. BUG=chromium:611535 BRANCH=none TEST=make runtests; build_packages --board=reef chromeos-firmware; boot reef Change-Id: I58169dfd37abe657f9b9aa339cc72ffa398329e0 Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/414288 Reviewed-by: Shelley Chen <shchen@chromium.org>
* firmware: Refactor and clean up ec_syncChromeOS Developer2017-01-1211-299/+500
| | | | | | | | | | | | | | | | | | | | Previously, the EC software sync process called VbDisplayScreen() from several function calls deep. Refactor software sync so that the UI decisions are at a higher level (in ec_sync_all.c) and isolated from the low-level EC software sync functionality (in ec_sync.c). This is one in a series of changes which are more clearly separating out the UI, to make it easier to support multiple UI across a range of devices. BUG=chromium:611535 BRANCH=none TEST=make runtests; build_packages --board=reef chromeos-firmware; boot reef Change-Id: I40597abeb5b0cc8f5d8fc2098e4acbed4bf59bf6 Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/411921 Reviewed-by: Shelley Chen <shchen@chromium.org>
* scripts: Add "-p host" to make_dev_firmware.sh.stabilize-9157.BHung-Te Lin2016-12-281-7/+9
| | | | | | | | | | | | | | Always add "-p host" for flashrom to find right programmer. BRANCH=None BUG=chrome-os-partner:60894 TEST=./make_dev_firmware.sh Change-Id: Iee66e143e77ea258a2a9ff3757d9446b7cf37dbc Reviewed-on: https://chromium-review.googlesource.com/419860 Commit-Ready: Hung-Te Lin <hungte@chromium.org> Tested-by: Hung-Te Lin <hungte@chromium.org> Reviewed-by: Ting Shen <phoenixshen@chromium.org>