summaryrefslogtreecommitdiffstats
path: root/common/recipes-bsp/systemd-boot/systemd-boot/0001-sd-boot-Link-RMC-libraries-into-bootloader.patch
diff options
context:
space:
mode:
authorJianxun Zhang <jianxun.zhang@linux.intel.com>2016-08-03 11:04:14 -0700
committerTom Zanussi <tom.zanussi@linux.intel.com>2016-08-03 17:36:45 -0500
commit7d3305235702a7c730ea9af9db6b00156e664194 (patch)
treee2c758a0af21ba62e39f92e7517371dea264fc33 /common/recipes-bsp/systemd-boot/systemd-boot/0001-sd-boot-Link-RMC-libraries-into-bootloader.patch
parent8fe13a12c26022843a31e0909f34843f78bdacf6 (diff)
downloadmeta-intel-7d3305235702a7c730ea9af9db6b00156e664194.tar.gz
systemd-boot: Load board-specific entry and kernel cmdline
Invoke RMC APIs in this bootloader to query board-specific data from RMC database(DB) file on ESP. Data can be boot entries or a global kernel boot command line fragment specific to a type of board supported in RMC DB. Bootloader queries a file blob named BOOTENTRY.CONFIG from RMC DB first. In success, bootloader parses BOOTENTRY.CONFIG to get name of each boot entry file associated to the type of running board, and then tries to load the entry into internal config data structure. Once any entry is loaded from RMC DB, bootloader skips loading conf files on ESP. BOOTENTRY.CONFIG has a very simple format - every line is a boot entry file's name. For example, to specify two boot entries in it: boot.conf install.conf Bootloader also seeks another file named KBOOTPARAM in RMC dB. when it can obtain this file associated to the type of running board, it appends what in file to the end of kernel command line before it boots up kernel. The appending is effective on every boot entry, so it is called "global" cmdline fragment. When Bootloader doesn't get config, an entry or cmdline fragment for the type of board, it simply moves to the next step. Signed-off-by: Jianxun Zhang <jianxun.zhang@linux.intel.com> Reviewed-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Diffstat (limited to 'common/recipes-bsp/systemd-boot/systemd-boot/0001-sd-boot-Link-RMC-libraries-into-bootloader.patch')
-rw-r--r--common/recipes-bsp/systemd-boot/systemd-boot/0001-sd-boot-Link-RMC-libraries-into-bootloader.patch31
1 files changed, 31 insertions, 0 deletions
diff --git a/common/recipes-bsp/systemd-boot/systemd-boot/0001-sd-boot-Link-RMC-libraries-into-bootloader.patch b/common/recipes-bsp/systemd-boot/systemd-boot/0001-sd-boot-Link-RMC-libraries-into-bootloader.patch
new file mode 100644
index 00000000..c8867a24
--- /dev/null
+++ b/common/recipes-bsp/systemd-boot/systemd-boot/0001-sd-boot-Link-RMC-libraries-into-bootloader.patch
@@ -0,0 +1,31 @@
1From b7775f24928fca01600cac1077ff3f215aa6362d Mon Sep 17 00:00:00 2001
2From: Jianxun Zhang <jianxun.zhang@linux.intel.com>
3Date: Sat, 21 May 2016 18:52:07 -0700
4Subject: [PATCH 1/3] sd-boot: Link RMC libraries into bootloader
5
6Add two RMC libraries into bootloader binary. EFI stub is not changed
7until we really need rmc in stub.
8
9Upstream-Status: Pending
10
11Signed-off-by: Jianxun Zhang <jianxun.zhang@linux.intel.com>
12---
13 Makefile.am | 2 +-
14 1 file changed, 1 insertion(+), 1 deletion(-)
15
16diff --git a/Makefile.am b/Makefile.am
17index 305099a..ff21ebd 100644
18--- a/Makefile.am
19+++ b/Makefile.am
20@@ -2802,7 +2802,7 @@ $(top_builddir)/src/boot/efi/%.o: $(top_srcdir)/src/boot/efi/%.c $(addprefix $(t
21
22 $(systemd_boot_solib): $(systemd_boot_objects)
23 $(AM_V_CCLD)$(LD) $(efi_ldflags) $(systemd_boot_objects) \
24- -o $@ -lefi -lgnuefi $(shell $(CC) -print-libgcc-file-name); \
25+ -o $@ -lefi -lgnuefi -lrmclefi -lrsmpefi $(shell $(CC) -print-libgcc-file-name); \
26 nm -D -u $@ | grep ' U ' && exit 1 || :
27
28 $(systemd_boot): $(systemd_boot_solib)
29--
302.7.4
31