slimbootloader/PayloadPkg/Include/Library
Maurice Ma 4a5af4f8b0 Add Linux Kernel Boot Support in Stage2
OsLoader has the capability to boot a Linux kernel. However, to support
LinuxBoot type of payload, it is required to load kernel in Stage2. This
patch abstracts the standard Linux loading logic into common LinuxLib
class so that it can be linked in Stage2 or Payload such as OsLoader.
A new PcdLinuxPayloadEnabled is introduced to control if this feature
should be enabled or not.

To boot a Linux kernel from Stage2, it is required to put the command
line file and kernel image into the EPAYLOAD container during the build.
And the PayloadId CFGDATA needs to be set to 'LINX'.
For example:
  python BuildLoader.py build qemu
         -p OsLoader.efi::Lz4;vmlinuz:LINX:Dummy;cmdline.txt:CMDL:Dummy
vmlinuz and cmdkube.txt need to be copied to PayloadPkg/PayloadBins
folder. If kernel size cannot fit into EPAYLOAD, EPAYLOAD_SIZE in
BoardConfig.py needs to be adjusted accordingly.

Signed-off-by: Maurice Ma <maurice.ma@intel.com>
2019-08-09 16:48:12 -07:00
..
AbSupportLib.h Update BSD license to BSD+Patent license 2019-06-13 10:46:49 -07:00
PayloadEntryLib.h Update BSD license to BSD+Patent license 2019-06-13 10:46:49 -07:00
PayloadLib.h Add ContainerLib to support sub-region 2019-07-31 09:32:00 -07:00
PayloadMemoryAllocationLib.h Update BSD license to BSD+Patent license 2019-06-13 10:46:49 -07:00
SblParameterLib.h Update BSD license to BSD+Patent license 2019-06-13 10:46:49 -07:00
TrustyBootLib.h Update BSD license to BSD+Patent license 2019-06-13 10:46:49 -07:00