Grub modificar tela do menu [avançado]

5

Eu modifiquei meu menu do Grub. Aqui está como parece agora:

OqueeugostariaéderemoverasprincipaisinformaçõessobreaversãodoGrubou,aindamelhor,removertodasas" GNU GRUB versão 1.99-27.1crunchbang1 ".

Além disso, seria ótimo remover as informações básicas sobre como usar as teclas de seta para mover-se dentro do menu e como editar as entradas.

Para resumir - eu quero me livrar do texto destacado em vermelho:

  1. É possível?
  2. É possível sem modificar o código fonte do Grub?
Eu devo admitir que eu procurei por um bom par de horas na web como fazê-lo, mas tudo que eu tenho é como fazer modificações básicas dentro do grub. Eu apreciarei qualquer ajuda ou até mesmo uma dica onde olhar ao lado de uma pista.

    
por mnmnc 04.05.2014 / 01:38

1 resposta

5

Você não pode alterar o cabeçalho ou o rodapé da instalação atual. Isso ocorre porque essas funções estão dentro do código-fonte do Grub. O que você pode fazer é compilar o grub a partir do código-fonte, o que lhe dará acesso aos arquivos C, onde essas funções existem. Vou tentar fornecer um guia sobre como fazer isso usando algo de um SE diferente.

Eu vou dar uma ressalva. Teste isso em uma máquina virtual ou em uma falha & queimar o ambiente para se certificar de que tudo funciona. Dessa forma, você não estraga sua instalação do Grub (no caso de algo dar errado).

1) Você precisará baixar o sabor do Grub que você quer de ftp: // ftp .gnu.org / gnu / grub / . Eu sugiro que você fique com a versão Crunchbang usa (1.99) no caso de haver algum conflito com versões mais recentes. Você também pode fazer isso obtendo o código-fonte de onde seus pacotes vêm para a sua versão do grub, mas isso é com você. Para fazer isso, você pode fazer:

mkdir ~/srccode && cd ~/srccode
sudo apt-get source grub2

O mkdir é para ajudar no gerenciamento de arquivos (ou seja, para mantê-lo longe de todos os outros arquivos). De qualquer forma, o processo será semelhante, mas acho que o último é mais fácil.

2) Em seguida, você precisará das dependências de compilação e há uma pequena lista deles. Você pode instalar todas essas dependências executando este comando:

sudo apt-get install build-essential bison gettext binutils flex libdevmapper-dev
python autoconf automake autogen qemu quilt

O comando acima pode ser um pouco reduzido se você usar o método 2 acima:

sudo apt-get install build-essential quilt
sudo apt-get build-dep grub2

3) Exportar variáveis e configurar o quilt:

export QUILT_PATCHES=debian/patches

export EDITOR=gedit

4) Crie seu patch e edite a fonte

cd grub2-{version}
quilt new 99_custom-header-footer.patch
quilt edit grub-core/normal/main.c

Vocêvaiquereralteraralinhadestacadapara:

constchar*msg=_(" ");

Você também precisa:

quilt edit grub-core/normal/menu_text.c

Damesmaforma,alteretodasasseçõesdestacadasparaquetudoentreaspasduplasseja:

(somecode)..." "...(some more code)

semelhante ao exemplo anterior.

5) Ore a sua divindade escolhida e construa os pacotes deb

quilt refresh
fakeroot dpkg-buildpackage

6) Ofereça um sacrifício à sua divindade (eu costumo usar o sangue dos inocentes, mas tenho certeza que alguns transistores servirão) e instale os pacotes que você criou

cd ..
sudo dpkg -i grub-pc*.deb grub2-common*.deb

7) Considere entregar seu primogênito e reiniciar sua máquina. Se tudo deu certo, você deve obter as alterações desejadas. Eu só fiz editação de grub como este um punhado de vezes (um punhado muito pequeno), mas este processo (e o link original que eu forneci) são semelhantes na maneira que eu realizei isso.

    
por 08.05.2014 / 20:24