como o /etc/grub.d/41_custom deveria funcionar?

2

Estou perguntando, porque fragmento de arquivo /boot/grub/grub.cfg se parece com

### BEGIN /etc/grub.d/41_custom ###
if [ -f  ${config_directory}/custom.cfg ]; then
    source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
    source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###

Eu não entendi como isso deve funcionar, porque não há comando "source" no grub2 - veja
link

source se o comando do shell / bin / sh. Eu acho que esse fragmento deve incluir $ {config_directory} /custom.cfg
durante a construção do /boot/grub/grub.cfg (com o grub-mkconfig):

[user@localhost ~]$ cat /etc/grub.d/41_custom 
#!/bin/sh
cat <<EOF
if [ -f  \${config_directory}/custom.cfg ]; then
    source \${config_directory}/custom.cfg
elif [ -z "\${config_directory}" -a -f  \$prefix/custom.cfg ]; then
    source \$prefix/custom.cfg;
fi
EOF

mas isso não acontece!
apenas insere o texto com o comando "source" ...

    
por user1709408 22.01.2015 / 14:07

1 resposta

2

aqui está a descrição do mapeamento do comando para o modulename.mod
link

grep -E «^source» /boot/grub/i386-pc/command.lst
source: configfile

grep -E «^\.:» /boot/grub/i386-pc/command.lst
.: configfile

aqui está o código de função:
link

Então, "fonte" é apenas um comando não documentado do grub2

    
por 22.01.2015 / 14:52

Tags