[PATCH v8 0/4] bootconfig: Support embedding a bootconfig in kernel for non initrd boot

From: Masami Hiramatsu
Date: Wed Apr 06 2022 - 04:33:13 EST


Hi,

Here are the 8th version of the patchset to enable kernel embedded bootconfig
for non-initrd kernel boot environment. This version fixes a build error when
CONFIG_BLK_DEV_INITRD=n. Previous version is here [1];

[1] https://lore.kernel.org/all/164871505771.178991.7870442736805590948.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_BOOT_CONFIG_EMBED=y and set the file
path to CONFIG_BOOT_CONFIG_EMBED_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).
The CONFIG_BOOT_CONFIG_EMBED_FILE can take both absolute and relative path.

This is requested by Padmanabha at the below thread[2];

[2] https://lore.kernel.org/all/20220307184011.GA2570@pswork/T/#u

Thank you,

---

Masami Hiramatsu (4):
bootconfig: Make the bootconfig.o as a normal object file
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 | 31 ++++++++++++++++++++++--
MAINTAINERS | 1 +
include/linux/bootconfig.h | 10 ++++++++
init/Kconfig | 21 ++++++++++++++++-
init/main.c | 38 +++++++++++++++---------------
lib/.gitignore | 1 +
lib/Makefile | 10 +++++++-
lib/bootconfig-data.S | 10 ++++++++
lib/bootconfig.c | 13 ++++++++++
9 files changed, 111 insertions(+), 24 deletions(-)
create mode 100644 lib/bootconfig-data.S

--
Masami Hiramatsu (Linaro) <mhiramat@xxxxxxxxxx>