diff options
Diffstat (limited to 'mkgrubcfg.sh')
-rwxr-xr-x | mkgrubcfg.sh | 37 |
1 files changed, 37 insertions, 0 deletions
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 <entryfile> +# +# 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 |