From 78b1d0d7b85b02b2ba7fe72227f6d62208b23086 Mon Sep 17 00:00:00 2001 From: Iru Cai Date: Mon, 8 Aug 2016 22:01:36 +0800 Subject: add gen_grubcfg() to generate GRUB config from entry file --- mkgrubcfg.sh | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100755 mkgrubcfg.sh (limited to 'mkgrubcfg.sh') diff --git a/mkgrubcfg.sh b/mkgrubcfg.sh new file mode 100755 index 0000000..4be770b --- /dev/null +++ b/mkgrubcfg.sh @@ -0,0 +1,37 @@ +# generate GRUB menuentry +# usage: UUID="$UUID" ISOFILE="$ISOFILE" ./mkgrubcfg.sh +# +# variables in entryfile: +# - UUID: the UUID of the partition +# - ISOFILE: the file name of iso +# +# parameters in entry file: +# - TITLE: GRUB menu entry title +# - KERNEL: path to kernel image +# - INITRD: path to initramfs/initrd image +# - OPTION: kernel command line +# - X64: y/n, indicates whether it's 64-bit + +source "$1" + +if [ "$X64" = y ]; then + echo 'if cpuid -l; then' +fi + +cat << EOF +menuentry '$TITLE' { + linux $KERNEL $OPTION +EOF + +for _initrd in "${INITRD[@]}" +do + echo -e "\tinitrd $_initrd" +done + +echo '}' + +if [ "$X64" = y ]; then + echo 'fi' +fi + +echo -- cgit v1.2.3