[PATCH v4 0/3] bootconfig: Support embedding a bootconfig in kernel for non initrd boot
From: Masami Hiramatsu
Date: Sat Mar 26 2022 - 19:54:04 EST
Hi,
Here are the 4th version of the patchset to enable kernel embedded bootconfig
for non-initrd kernel boot environment. I've fixed Makefile to determine
update by checking the contents of embedding bootconfig file with filechk macro.
Thanks Masahiro! Here is the previous version [1] (sorry, I missed to update the
version tag in that series)
[1] https://lore.kernel.org/all/164724890153.731226.1478494969800777757.stgit@devnote2/T/#u
You can embed a bootconfig file into the kernel as a default bootconfig,
which will be used if there is no initrd or no bootconfig is attached to initrd.
This needs 2 options: CONFIG_EMBED_BOOT_CONFIG=y and set the file
path to CONFIG_EMBED_BOOT_CONFIG_FILE. Even if you embed the bootconfig file
to the kernel, it will not be enabled unless you pass "bootconfig" kernel
command line option at boot. Moreover, since this is just a "default"
bootconfig, you can override it with a new bootconfig if you attach another
bootconfig to the initrd (if possible).
CONFIG_EMBED_BOOT_CONFIG_FILE can take both absolute and relative path, but
to simplify and make it independent from the build environment, I recommend
you to use an absolute path for that.
This is requested by Padmanabha at the below thread[2];
[2] https://lore.kernel.org/all/20220307184011.GA2570@pswork/T/#u
KNOWN ISSUE:
According to the report from Padmanabha[3], the embedded bootconfig data may not
be updated if you do incremental build the kernel with CONFIG_LTO. This is
under investigation.
[3] https://lore.kernel.org/all/20220321183500.GA4065@pswork/T/#u
Thank you,
---
Masami Hiramatsu (3):
bootconfig: Check the checksum before removing the bootconfig from initrd
bootconfig: Support embedding a bootconfig file in kernel
docs: bootconfig: Add how to embed the bootconfig into kernel
Documentation/admin-guide/bootconfig.rst | 30 ++++++++++++++++++++++++++---
include/linux/bootconfig.h | 10 ++++++++++
init/Kconfig | 21 ++++++++++++++++++++
init/main.c | 31 +++++++++++++++---------------
lib/.gitignore | 1 +
lib/Makefile | 10 ++++++++++
lib/bootconfig.c | 23 ++++++++++++++++++++++
7 files changed, 108 insertions(+), 18 deletions(-)
--
Masami Hiramatsu (Linaro) <mhiramat@xxxxxxxxxx>