Fix grup environment overflow

This commit is contained in:
Fabio Belavenuto 2022-11-16 09:52:22 -03:00
parent f24b2441c9
commit bb7c4ed0ca
2 changed files with 6 additions and 2 deletions

View File

@ -102,6 +102,7 @@ fi
# Prepare command line # Prepare command line
CMDLINE_LINE="" CMDLINE_LINE=""
CMDLINE_DIRECT=""
grep -q "force_junior" /proc/cmdline && CMDLINE_LINE+="force_junior " grep -q "force_junior" /proc/cmdline && CMDLINE_LINE+="force_junior "
[ ${EFI} -eq 1 ] && CMDLINE_LINE+="withefi " [ ${EFI} -eq 1 ] && CMDLINE_LINE+="withefi "
[ "${BUS}" = "ata" ] && CMDLINE_LINE+="synoboot_satadom=${DOM} dom_szmax=${SIZE} " [ "${BUS}" = "ata" ] && CMDLINE_LINE+="synoboot_satadom=${DOM} dom_szmax=${SIZE} "
@ -109,11 +110,14 @@ CMDLINE_LINE+="console=ttyS0,115200n8 earlyprintk log_buf_len=32M earlycon=uart8
for KEY in ${!CMDLINE[@]}; do for KEY in ${!CMDLINE[@]}; do
VALUE="${CMDLINE[${KEY}]}" VALUE="${CMDLINE[${KEY}]}"
CMDLINE_LINE+=" ${KEY}" CMDLINE_LINE+=" ${KEY}"
CMDLINE_DIRECT+=" ${KEY}"
[ -n "${VALUE}" ] && CMDLINE_LINE+="=${VALUE}" [ -n "${VALUE}" ] && CMDLINE_LINE+="=${VALUE}"
[ -n "${VALUE}" ] && CMDLINE_DIRECT+="=${VALUE}"
done done
# Escape special chars # Escape special chars
CMDLINE_LINE=`echo ${CMDLINE_LINE} | sed 's/>/\\\\>/g'` CMDLINE_LINE=`echo ${CMDLINE_LINE} | sed 's/>/\\\\>/g'`
grub-editenv ${GRUB_PATH}/grubenv set dsm_cmdline="${CMDLINE_LINE}" CMDLINE_DIRECT=`echo ${CMDLINE_DIRECT} | sed 's/>/\\\\>/g'`
grub-editenv ${GRUB_PATH}/grubenv set dsm_cmdline="${CMDLINE_DIRECT}"
echo -e "Cmdline:\n\033[1;36m${CMDLINE_LINE}\033[0m" echo -e "Cmdline:\n\033[1;36m${CMDLINE_LINE}\033[0m"
# Wait for an IP # Wait for an IP

View File

@ -51,7 +51,7 @@ if [ -s /zImage-dsm -a -s /initrd-dsm ]; then
set timeout="1" set timeout="1"
menuentry 'Boot DSM kernel directly' --id direct { menuentry 'Boot DSM kernel directly' --id direct {
echo "Loading DSM kernel..." echo "Loading DSM kernel..."
linux /zImage-dsm ${dsm_cmdline} linux /zImage-dsm console=ttyS0,115200n8 earlyprintk log_buf_len=32M earlycon=uart8250,io,0x3f8,115200n8 elevator=elevator root=/dev/md0 loglevel=15 ${dsm_cmdline}
echo "Loading DSM initramfs..." echo "Loading DSM initramfs..."
initrd /initrd-dsm initrd /initrd-dsm
echo "Booting..." echo "Booting..."