blob: 754edf1b4b706e214e5bc73074cbd83dde27c7ba [file] [log] [blame]
Bill Richardson0b8f35c2010-05-26 09:18:38 -07001
Bill Richardson06eb78c2015-01-27 15:01:51 -08002Here's what's what in the firmware/ directory.
Bill Richardson0b8f35c2010-05-26 09:18:38 -07003
Bill Richardson06eb78c2015-01-27 15:01:51 -08004include/
5lib/
Bill Richardson0b8f35c2010-05-26 09:18:38 -07006
Bill Richardson06eb78c2015-01-27 15:01:51 -08007 These are the original structures and APIs used in the earliest
8 Chromebooks and continuing through 2014. It never had a version as such to
9 begin with, but we now refer to this implementation as "vboot1" or
10 "vboot version 1.0".
11
12linktest/
13stub/
14
15 These are stubs used to link the vboot1 libraries into host-side test
16 executables so we can run some tests on the build machine instead of a
17 Chromebook.
18
192lib/
20
21 In 2014 we began work on a new vboot API. The first step was just a
22 refactoring and renaming of the verification API. The public functions and
23 external headers that are exported for use by the Chrome OS firmware (or
24 anything else that wants to use vboot) live in here. The internal
25 structures and implementations go elsewhere.
26
27lib20/
28
29 This is an early implementation of the public (2lib/) API. It is
30 binary-compatible with vboot1, so although the interface details are
31 different, any existing on-device structures or signatures created by the
32 vboot1 tools can be validated using this implementation.
33
34 This was deployed slightly before it was ready. That's not a problem,
35 thanks to the binary compatibility, but this directory will be abandoned
36 Real Soon Now, except for the product support branches.
37
38lib21/
39
40 This is where the current development of the second-generation vboot API
41 is taking place. It uses the public (2lib/) API, but will NOT be binary
42 compatible with vboot1 structs. Because of the early release of the lib20
43 stuff, we're actually calling this lib21.