mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-09-21 07:01:57 +00:00
bootstd: cros: Add docs for the kernel layout
Provide brief documentation about the ChromiumOS kernel layout. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
1a0810924a
commit
b7ed5386a4
1 changed files with 29 additions and 0 deletions
|
@ -22,6 +22,35 @@
|
|||
#include <linux/sizes.h>
|
||||
#include "bootmeth_cros.h"
|
||||
|
||||
/*
|
||||
* Layout of the ChromeOS kernel
|
||||
*
|
||||
* Partitions 2 and 4 contain kernels
|
||||
*
|
||||
* Contents are:
|
||||
*
|
||||
* Offset Contents
|
||||
* 0 struct vb2_keyblock
|
||||
* m struct vb2_kernel_preamble
|
||||
* m + n kernel buffer
|
||||
*
|
||||
* m is keyblock->keyblock_size
|
||||
* n is preamble->preamble_size
|
||||
*
|
||||
* The kernel buffer itself consists of various parts:
|
||||
*
|
||||
* Offset Contents
|
||||
* m + n kernel image (Flat vmlinux binary or FIT)
|
||||
* b - 8KB Command line text
|
||||
* b - 4KB X86 setup block (struct boot_params, extends for about 16KB)
|
||||
* b X86 bootloader (continuation of setup block)
|
||||
* b + 16KB X86 setup block (copy, used for hold data pointed to)
|
||||
*
|
||||
* b is m + n + preamble->bootloader_address - preamble->body_load_address
|
||||
*
|
||||
* Useful metadata extends from b - 8KB through to b + 32 KB
|
||||
*/
|
||||
|
||||
enum {
|
||||
PROBE_SIZE = SZ_4K, /* initial bytes read from partition */
|
||||
|
||||
|
|
Loading…
Reference in a new issue