mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 23:24:38 +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 <linux/sizes.h>
|
||||||
#include "bootmeth_cros.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 {
|
enum {
|
||||||
PROBE_SIZE = SZ_4K, /* initial bytes read from partition */
|
PROBE_SIZE = SZ_4K, /* initial bytes read from partition */
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue