Bill Richardson | 0b8f35c | 2010-05-26 09:18:38 -0700 | [diff] [blame] | 1 | |
Bill Richardson | 06eb78c | 2015-01-27 15:01:51 -0800 | [diff] [blame] | 2 | Here's what's what in the firmware/ directory. |
Bill Richardson | 0b8f35c | 2010-05-26 09:18:38 -0700 | [diff] [blame] | 3 | |
Bill Richardson | 06eb78c | 2015-01-27 15:01:51 -0800 | [diff] [blame] | 4 | include/ |
| 5 | lib/ |
Bill Richardson | 0b8f35c | 2010-05-26 09:18:38 -0700 | [diff] [blame] | 6 | |
Bill Richardson | 06eb78c | 2015-01-27 15:01:51 -0800 | [diff] [blame] | 7 | 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 | |
| 12 | linktest/ |
| 13 | stub/ |
| 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 | |
| 19 | 2lib/ |
| 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 | |
| 27 | lib20/ |
| 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 | |
| 38 | lib21/ |
| 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. |