mbox series

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

Message ID 164921224829.1090670.9700650651725930602.stgit@devnote2 (mailing list archive)
Headers show
Series bootconfig: Support embedding a bootconfig in kernel for non initrd boot | expand

Message

Masami Hiramatsu (Google) April 6, 2022, 2:30 a.m. UTC
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@kernel.org>