summaryrefslogtreecommitdiffstats
path: root/generate_bls_conf.sh
diff options
context:
space:
mode:
authorPeter Jones <pjones@redhat.com>2016-12-15 10:34:30 -0500
committerPeter Jones <pjones@redhat.com>2018-02-19 10:47:31 -0500
commit08732ed8268cbd9fd23dfae32ffa18ea320b910e (patch)
treed6fc844afc481a4a412fcb68d6607ed22e7db491 /generate_bls_conf.sh
parent9ed1ca87cb099dcf241ba32038318c740fda590f (diff)
downloadkernel-08732ed8268cbd9fd23dfae32ffa18ea320b910e.tar.gz
kernel-08732ed8268cbd9fd23dfae32ffa18ea320b910e.tar.xz
kernel-08732ed8268cbd9fd23dfae32ffa18ea320b910e.zip
Generate BootLoaderSpec config fragments
The BootLoaderSpec (BLS) defines a scheme where different bootloaders can share a format for boot items and a configuration directory that accepts these common configurations as drop-in files [0]. Generate BLS snippets at build time that can be copied on kernel install, so bootloaders can parse to create menu entries using this information. [0]: https://www.freedesktop.org/wiki/Specifications/BootLoaderSpec/ Signed-off-by: Peter Jones <pjones@redhat.com>
Diffstat (limited to 'generate_bls_conf.sh')
-rwxr-xr-xgenerate_bls_conf.sh28
1 files changed, 28 insertions, 0 deletions
diff --git a/generate_bls_conf.sh b/generate_bls_conf.sh
new file mode 100755
index 000000000..8d9ec0699
--- /dev/null
+++ b/generate_bls_conf.sh
@@ -0,0 +1,28 @@
+#!/bin/bash
+set -e
+
+. /etc/os-release
+
+kernelver=$1 && shift
+rootfs=$1 && shift
+variant=$1 && shift
+
+output="${rootfs}/lib/modules/${kernelver}/bls.conf"
+date=$(date -u +%Y%m%d%H%M%S)
+
+if [ "${variant:-5}" = "debug" ]; then
+ debugname=" with debugging"
+else
+ debugname=""
+fi
+
+cat >${output} <<EOF
+title ${NAME} (${kernelver}) ${VERSION}${debugname}
+linux ${bootprefix}/vmlinuz-${kernelver}
+initrd ${bootprefix}/initramfs-${kernelver}.img
+options \$kernelopts
+id ${ID}-${date}-${kernelver}
+grub_users \$grub_users
+grub_arg --unrestricted
+grub_class kernel${variant}
+EOF