44 lines
1.5 KiB
Plaintext
44 lines
1.5 KiB
Plaintext
|
|
Here's what's what in the firmware/ directory.
|
|
|
|
include/
|
|
lib/
|
|
|
|
These are the original structures and APIs used in the earliest
|
|
Chromebooks and continuing through 2014. It never had a version as such to
|
|
begin with, but we now refer to this implementation as "vboot1" or
|
|
"vboot version 1.0".
|
|
|
|
linktest/
|
|
stub/
|
|
|
|
These are stubs used to link the vboot1 libraries into host-side test
|
|
executables so we can run some tests on the build machine instead of a
|
|
Chromebook.
|
|
|
|
2lib/
|
|
|
|
In 2014 we began work on a new vboot API. The first step was just a
|
|
refactoring and renaming of the verification API. The public functions and
|
|
external headers that are exported for use by the Chrome OS firmware (or
|
|
anything else that wants to use vboot) live in here. The internal
|
|
structures and implementations go elsewhere.
|
|
|
|
lib20/
|
|
|
|
This is an early implementation of the public (2lib/) API. It is
|
|
binary-compatible with vboot1, so although the interface details are
|
|
different, any existing on-device structures or signatures created by the
|
|
vboot1 tools can be validated using this implementation.
|
|
|
|
This was deployed slightly before it was ready. That's not a problem,
|
|
thanks to the binary compatibility, but this directory will be abandoned
|
|
Real Soon Now, except for the product support branches.
|
|
|
|
lib21/
|
|
|
|
This is where the current development of the second-generation vboot API
|
|
is taking place. It uses the public (2lib/) API, but will NOT be binary
|
|
compatible with vboot1 structs. Because of the early release of the lib20
|
|
stuff, we're actually calling this lib21.
|