History log of /external/vboot_reference/futility/cmd_vbutil_kernel.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
1eae873b6194db25781233d7a4aaee6a34160eec 05-Feb-2015 Bill Richardson <wfrichar@chromium.org> futility: Add global args to specify vboot API and format

The host-side futility tool will need to support all extant vboot
implementations. Some legacy futility commands only support the
original vb1 format, but others ("show" or "sign", for example)
may need to be instructed which formats to expect or emit.

This change adds some global args to specify the preferred
formats. It also cleans up a few [unused AFAICT] one-letter args
to avoid conflicts.

BUG=chromium:231574
BRANCH=none
TEST=make runtests

Nothing makes use of this yet, except the "help" command.

Change-Id: Ib79fa12af72b8860b9494e5d9e90b9572c006107
Signed-off-by: Bill Richardson <wfrichar@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/246765
Reviewed-by: Randall Spangler <rspangler@chromium.org>
/external/vboot_reference/futility/cmd_vbutil_kernel.c
80e779d50b52cd97c9d5896a3b75fa8118ee488f 04-Feb-2015 Furquan Shaikh <furquan@google.com> kernel flags: Add flags field to kernel preamble.

1. Increase kernel preamble revision from 2.1 to 2.2.
2. Add flags field to kernel preamble.
3. Update futility to accept flags parameter for vbutil_kernel and
cmd_sign for kernel.
4. Pass in an extra flags field to SignKernelBlob and
CreateKernelPreamble.

BUG=chrome-os-partner:35861
BRANCH=None
TEST=1) "make runalltests" completes successfully. 2) vboot_reference
compiles successfully for ryu. 3) Verified flags field in header using
futility show.

Change-Id: If9f06f98778a7339194c77090cbef4807d5e34e2
Signed-off-by: Furquan Shaikh <furquan@google.com>
Reviewed-on: https://chromium-review.googlesource.com/245950
Tested-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-by: Randall Spangler <rspangler@chromium.org>
Commit-Queue: Furquan Shaikh <furquan@chromium.org>
/external/vboot_reference/futility/cmd_vbutil_kernel.c
05987b159acb9737707b9ef92b818ac434ef8c3d 06-Feb-2015 David Riley <davidriley@chromium.org> Changes to compile signing tools on darwin

The following works from a Mac with these changes:
make Q= ARCH=arm HAVE_MACOS=1 `pwd`/build/futility/futility

Only vbutil_keyblock and vbutil_kernel have been exercised.

BUG=none
TEST='make Q= ARCH=arm HAVE_MACOS=1 `pwd`/build/futility/futility'
BRANCH=none

Signed-off-by: David Riley <davidriley@chromium.org>

Change-Id: Ie69cfee0c650d4ff96be6322083a2fea1543ee39
Reviewed-on: https://chromium-review.googlesource.com/246773
Reviewed-by: Bill Richardson <wfrichar@chromium.org>
Tested-by: David Riley <davidriley@chromium.org>
Commit-Queue: David Riley <davidriley@chromium.org>
/external/vboot_reference/futility/cmd_vbutil_kernel.c
1bdc6125788e5f9156f23045c004db5c3b30c7b8 02-Feb-2015 Shelley Chen <shchen@chromium.org> vboot_reference: fix pointer issue in vmlinuz recontruction

vmlinuz_header_address was using an offset as opposed to a pointer.

BUG=None
BRANCH=None
TEST=Take a kernel block and reconstruction the vmlinuz image:
"vbutil_kernel --get-vmlinuz kern0 --vmlinuz-out vm.out"
Then, try to kexec vm.out.

Change-Id: Ifb41a00fd73f3222673467eef370c7abdbd0fd9c
Reviewed-on: https://chromium-review.googlesource.com/245441
Reviewed-by: Randall Spangler <rspangler@chromium.org>
Reviewed-by: Zach Reizner <zachr@chromium.org>
Commit-Queue: Shelley Chen <shchen@chromium.org>
Tested-by: Shelley Chen <shchen@chromium.org>
/external/vboot_reference/futility/cmd_vbutil_kernel.c
2559338dbdacbcbd3ae426337403196135bbc7e8 30-Jan-2015 Bill Richardson <wfrichar@chromium.org> futility: refactor file type detection into new files

This moves the what-kind-of-file-is-this logic into a separate
file, and makes it work by calling distinct recognizers until one
hits. A new "-t" option to the show command prints what it's
doing.

BUG=chromium:228932
BRANCH=ToT
TEST=make runtests

Change-Id: Id8f60bdf3fe6a9adf41b4555b3448a261fa52fea
Signed-off-by: Bill Richardson <wfrichar@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/245122
Reviewed-by: Randall Spangler <rspangler@chromium.org>
/external/vboot_reference/futility/cmd_vbutil_kernel.c
9bfe2c9f267579454fc63688fde3d023b338d938 27-Jan-2015 Bill Richardson <wfrichar@chromium.org> futility: vbutil_kernel should check the kernel a bit more

Trying to repack an invalid kernel blob should notice and
complain that the blob is invalid instead of just segfaulting.

BUG=chromium:452353
BRANCH=ToT
TEST=manual

See the bug report for an example test case. Many more tests are
being added as futility development continues.

Change-Id: I2bbfb8ab41a0f596b25a76f76f74d7b47b7e4a17
Signed-off-by: Bill Richardson <wfrichar@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/243583
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Randall Spangler <rspangler@chromium.org>
/external/vboot_reference/futility/cmd_vbutil_kernel.c
f1f53b3732f235da15a50080db6e7bbd4666e390 08-Jan-2015 Shelley Chen <shchen@chromium.org> vboot: Add flag to vbutil_kernel for reconstruction of vmlinuz image

Adding functionality to allow for rebuilding of vmlinuz after it
has been processed into vblock and header stripped. Basically appends
the 16-bit header of a vmlinuz image onto the end of the vblock.
BUG=chromium:438302
BRANCH=none
TEST=Successfully ran "make runalltests".
Also, ran:
1. Repack kernel block (so that 16-bit header is included):
"vbutil_kernel --pack kern_0 ..."
2. Verify kernel: "vbutil_kernel --verify kern_0 ... ". This should
be done before booting into kernel, but not necessary for it to work.
3. Rebuild vmlinuz image:
"vbutil_kernel --get-vmlinuz kern_0 --vmlinuz-out vm.out"
4. Set up kexec with vmlinuz (this should complete with no errors):
"kexec -l vm.out (other kernel cmd line args)"
5. Boot into kernel:
"kexec -e"

Change-Id: Iaa1582a1aedf70b43cdb3a56cde1fb248f1793d4
Signed-off-by: Shelley Chen <shchen@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/232750
Reviewed-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-by: Randall Spangler <rspangler@chromium.org>
/external/vboot_reference/futility/cmd_vbutil_kernel.c
4dad690e082af98de8311566c197efbbfa1bc956 04-Dec-2014 Bill Richardson <wfrichar@chromium.org> futility: update the vbutil_kernel implementation

Now that the underlying bug is fixed (commit 64ef69c), this
replaces the old vbutil_kernel command implementation with the
new one that we rolled back in commit f1dba02.

BUG=chromium:418647
BRANCH=none
TEST=make runtests

I've also built an image with this change, installed it on a
Chromebook, ran make_dev_ssd.sh, make_dev_firmware.sh, recovered,
etc. Everything still works.

Change-Id: I8996e674a24b5d994658a6be2973ef3623cd659b
Signed-off-by: Bill Richardson <wfrichar@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/235429
Reviewed-by: Randall Spangler <rspangler@chromium.org>
/external/vboot_reference/futility/cmd_vbutil_kernel.c
f1dba02034fba650c84cec52630755cd3c063e88 01-Oct-2014 Bill Richardson <wfrichar@chromium.org> futility: rolled back vbutil_kernel change

When disabling verity with make_dev_ssh.sh, a bug in
vbutil_kernel caused the re-signed kernel size to be the entire
kernel partition instead of just the necessary bits. Until we can
improve the test coverage, I'm rolling back the changes that
introduced this bug.

BUG=chromium:418647
BRANCH=ToT
TEST=manual

Created a new test image with these changes. You can install it
and disable dm-verity and it works (although there seems to be an
unrelated browser startup issue on ToT).

Change-Id: I48e8427b05e191c9894c42056429a79d57bfc78d
Signed-off-by: Bill Richardson <wfrichar@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/220935
Reviewed-by: Randall Spangler <rspangler@chromium.org>
/external/vboot_reference/futility/cmd_vbutil_kernel.c
f318ee205cc8d92def925c6158272da8a63bf1ed 23-Sep-2014 Bill Richardson <wfrichar@chromium.org> futility: implement vbutil_kernel using buffers, not files

The original vbutil_kernel command used file read and write to
make changes. Futility prefers to use memory-mapped files. This
rewrites cmd_vbutil_kernel.c to use that scheme.

BUG=none
BRANCH=ToT
TEST=make runtests

The original cmd_vbutil_kernel.c is renamed, and a test written
to ensure that the refactored version produces identical results.

Signed-off-by: Bill Richardson <wfrichar@chromium.org>
Change-Id: Ic6c3e12429a5dcb271f8136a9edac70807d66120
Reviewed-on: https://chromium-review.googlesource.com/219647
Reviewed-by: Randall Spangler <rspangler@chromium.org>
/external/vboot_reference/futility/cmd_vbutil_kernel.c
e192e7f6cea5f2c4556b729bf57ef1f552e0242a 23-Sep-2014 Bill Richardson <wfrichar@chromium.org> futility: clean up a few shared functions

Move the Debug() function into a common place instead of several
copies in different files, rename shared functions to start with
"futil_"

BUG=none
BRANCH=ToT
TEST=make runtests

Signed-off-by: Bill Richardson <wfrichar@chromium.org>
Change-Id: I6b844553dff95c24894dae611102716a8da5312d
Reviewed-on: https://chromium-review.googlesource.com/219645
Reviewed-by: Randall Spangler <rspangler@chromium.org>
/external/vboot_reference/futility/cmd_vbutil_kernel.c
779796f57e1e0236ea502248ede2cbea986fca21 23-Sep-2014 Bill Richardson <wfrichar@chromium.org> futility: Improve help messages

This provides help messages for the futility commands similar to
the way git does. These show the available commands:

futility
futility help
futility --help

While these show help for a specific command:

futility help COMMAND
futility --help COMMAND
futility COMMAND --help

BUG=none
BRANCH=ToT
TEST=manual

make runtests

And manually look at help messages for each command.

Change-Id: I1126471e242784c6ca7a2f11694fa7c505d833e8
Signed-off-by: Bill Richardson <wfrichar@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/219528
Reviewed-by: Randall Spangler <rspangler@chromium.org>
/external/vboot_reference/futility/cmd_vbutil_kernel.c
31d95c2386df8d3d5ec619a077960645d052fa38 25-Aug-2014 Bill Richardson <wfrichar@chromium.org> futility: Reformat to use kernel coding style

This just reformats the futility sources to conform to the Linux kernel
coding style. No functional changes.

BUG=chromium:224734
BRANCH=ToT
TEST=make runtests

Change-Id: I82df07dd3f8be2ad2f3df24cebe00a9a378b13f4
Signed-off-by: Bill Richardson <wfrichar@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/213915
Reviewed-by: Randall Spangler <rspangler@chromium.org>
/external/vboot_reference/futility/cmd_vbutil_kernel.c
e5b7a541190c3af1607e14548148f5e336e7ce84 22-Aug-2014 Benson Leung <bleung@chromium.org> futility: add --arch=aarch64

Add support for the 64bit arm architecture, which update_kernel.sh
passes in as "aarch64"

Signed-off-by: Benson Leung <bleung@chromium.org>

BUG=chrome-os-partner:31525
TEST=run vbutil_kernel --arch=aarch64
Check that it no longer complains about "Unknown architecture string: aarch64"
BRANCH=none

Change-Id: Iccd925e05baffb1953b229fc4150ca179d1d1e1c
Reviewed-on: https://chromium-review.googlesource.com/213706
Reviewed-by: David Riley <davidriley@chromium.org>
Tested-by: Benson Leung <bleung@chromium.org>
Commit-Queue: Benson Leung <bleung@chromium.org>
/external/vboot_reference/futility/cmd_vbutil_kernel.c
7351ed7a3cf2759ac043d341d94f16e0ecd139f0 18-Aug-2014 Mike Frysinger <vapier@chromium.org> futility: add more static/const markings

BUG=chromium:404643
TEST=pre-cq passes (runs unittests)
BRANCH=None

Change-Id: I3c3a9ee7192305dfa72333c0b6a77653b7188869
Reviewed-on: https://chromium-review.googlesource.com/212877
Reviewed-by: Bill Richardson <wfrichar@chromium.org>
Reviewed-by: Randall Spangler <rspangler@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Commit-Queue: Mike Frysinger <vapier@chromium.org>
/external/vboot_reference/futility/cmd_vbutil_kernel.c
6f3961507e73f90cec665896dece884e86be560a 15-Jul-2014 Bill Richardson <wfrichar@chromium.org> futility: Add remaining vboot binary utilities

This change adds these formerly external utilities into the futility binary:

dev_sign_file
dump_kernel_config
gbb_utility
vbutil_firmware
vbutil_kernel

These target binaries will remain independent of futility, since they are
not directly related to verified boot:

cgpt
crossystem
tpm_init_temp_fix
tpmc

Also, dumpRSAPublicKey is removed from the target, since it is only used on
the build host to create new keypairs.

This change also add several additional tests.

BUG=chromium:224734
BRANCH=ToT
CQ-DEPEND=CL:210391,CL:210568,CL:210587
TEST=manual

make runtests
make clean

Also build and test:
- normal image
- test image
- recovery image
- firmware shellball

Note that this CL depends on simultaneous changes to the chromeos-initramfs
ebuild.

Change-Id: If791b5e9b5aac218ceafa9f45fc1785f16b91a64
Signed-off-by: Bill Richardson <wfrichar@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/210403
/external/vboot_reference/futility/cmd_vbutil_kernel.c