Eu tenho a seguinte variável em um arquivo grub.cfg.
BOOT_PARAMETERS="rootwait rootfstype=ext4 rootimage=$BOOT_ROOT_IMAGE_NAME root=$ROOT_DEVICE console=none intel_idle.max_cstate=1 quiet"
BOOT_ROOT_INITRD=(hd0,gpt2)/boot1/initrd
BOOT_ROOT_KERNEL=(hd0,gpt2)/boot1/bzImage
Eu quero passar esses parâmetros para uma entrada no menu.
menuentry 'pc'{
linux $BOOT_ROOT_KERNEL $BOOT_PARAMETERS
initrd $BOOT_ROOT_INITRD
}
O BOOT_ROOT_KERNEL
e o BOOT_ROOT_INITRD
funcionam bem, mas os parâmetros não funcionam. Não tenho certeza de como ele quebra a inicialização, mas essa entrada de menu não inicializa. Se eu substituir $BOOT_PARAMETERS
pelo conteúdo real da variável (sem aspas, funciona).
Além disso, o seguinte também funciona:
linux $BOOT_ROOT_KERNEL "$BOOT_PARAMETERS"
No entanto, o /proc/cmdline
inclui essas citações e não quero interromper os aplicativos que estão lendo essa saída.
Como faço para que isso funcione?
linux $BOOT_ROOT_KERNEL $BOOT_PARAMETERS
Editar : Na linha de comando do grub, se eu fizer echo $BOOT_PARAMETERS
, o flash da máquina será reinicializado. Se eu fizer echo "$BOOT_PARAMETERS"
, ele será impresso normalmente.
Edit2 : parece ter a ver com grandes variáveis de ambiente. Fazer set TEST="SFSFESFSEFDFUIHI rg s rjg sreuigsrgi sig isdfjgs dfkgd"
, seguido por echo $TEST
, causará algumas vezes . Isso acontece em um certo comprimento / combinação, e eu não posso colocar meu dedo nela. Se isso não acontecer na primeira tentativa, continue anexando o material a TEST
e, em seguida, o echo $TEST
causará uma reinicialização em flash.