Como você adiciona linhas ao / etc / default / grub para que elas sejam refletidas em /boot/grub/grub.cfg?

4

Minha pergunta é sobre como adicionar algumas linhas ao arquivo /etc/default/grub para que ele seja refletido automaticamente sempre que /boot/grub/grub.cfg for regenerado. Os detalhes:

Estou executando o Ubuntu em um Macbook Pro 8.2 e uma das coisas que eu tive que fazer para fazê-lo funcionar corretamente foi alterar o grub.cfg para que ele carregasse apenas uma das duas placas gráficas. Para desligar um dos cartões, adicionei o texto referente ao i915 no GRUB_CMDLINE_LINUX_DEFAULT /etc/default/grub :

GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR='lsb_release -i -s 2> /dev/null || echo Debian'
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i915.lvds_channel_mode=2 i915.modeset=1 i915.lvds_use_ssc=0"
GRUB_CMDLINE_LINUX=""

O problema é que também devo adicionar o seguinte a /etc/grub.cfg :

  outb 0x728 1
  outb 0x710 2
  outb 0x740 2
  outb 0x750 0

Que eu adicionei no contexto em grub.cfg da seguinte forma:

menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-1e8685ef-b6a8-4bf3-abb8-62d0212cea7c' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
insmod part_gpt
insmod reiserfs
outb 0x728 1
outb 0x710 2
outb 0x740 2
outb 0x750 0
set root='hd0,gpt4'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt4 --hint-efi=hd0,gpt4 --hint-baremetal=ahci0,gpt4  21c34907-4da5-4356-b1c8-a5d2747411ed
else...

Como posso adicionar isso ao arquivo /etc/default/grub para que eu não precise adicioná-lo manualmente ao grub.cfg sempre que houver atualizações do Ubuntu? Atualmente, parece que cada vez que o Ubuntu atualiza, ele regenera o arquivo /boot/grub/grub.cfg do arquivo /etc/default/grub e seria útil se essas quatro linhas pudessem ser incluídas também.

    
por Nate 20.06.2013 / 05:18

3 respostas

2

Não edite o arquivo /boot/grub/grub.cfg . Edite o arquivo /etc/grub.d/10_linux :

Adicione seus comandos ao

  cat << EOF
    insmod gzio
EOF
seção

, por isso deve ser lido:

  cat << EOF
    insmod gzio
    outb 0x728 1
    outb 0x710 2
    outb 0x740 2
    outb 0x750 0
EOF

Esse arquivo é originado toda vez que update-grub é executado e raramente é sobrescrito por atualizações. (Ou pelo menos perguntará quando você atualizar se deseja atualizar este arquivo ou manter sua versão modificada).

    
por falconer 29.12.2013 / 21:15
0

Você deve editar os scripts de configuração diretamente. Não há como adicionar outb 0x728 1 ao arquivo grub.conf, pois os scripts que originam as variáveis não sabem como gerenciar essas entradas. Isso é dito nas páginas de informações:

  

Para uma personalização mais detalhada da saída do 'grub-mkconfig', você pode   edite os scripts em '/etc/grub.d' diretamente . '/etc/grub.d/40_custom' é   particularmente útil para adicionar entradas de menu personalizadas inteiras; simplesmente digite   as entradas do menu que você deseja adicionar no final desse arquivo, certificando-se   para deixar pelo menos as duas primeiras linhas intactas.

Então, o que fazer, para as entradas do Linux, você pode querer editar o arquivo /etc/grub.d/10_linux , com muito cuidado. Você pode procurar a função linux () e estudar seus componentes internos. A coisa toda é muito complexa e eu não tocaria sem um backup. Você pode ver a saída do arquivo apenas executando /etc/grub.d/10_linux em seu shell, então veja onde você deseja adicionar suas linhas especiais, editá-lo, executá-lo novamente e ver se você está satisfeito com os resultados.

    
por Braiam 29.12.2013 / 21:14
-1

Para ser honesto, a maneira mais fácil seria fazer o backup dos 2 arquivos e cada vez que o Ubuntu atualizasse, você executaria um script como root ofc:

#!/bin/sh
rm /boot/grub/grub && /boot/grub/grub.cfg
cp /directory/grub /boot/grub/
cp /directory/grub.cfg /boot/grub/

Uma coisa, altere /directory/ para seu diretório para os arquivos:)

    
por Xylo 29.12.2013 / 21:01

Tags