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.
 |