Guia de referência do ISOLINUX (parte 2)

O ISOLINUX é provavelmente o gerenciador de boot mais utilizado em LiveCDs, certamente pela grande quantidade de recursos que ele oferece para tornar o boot do LiveCD um processo mais amigável. Essa é a segunda parte do artigo que explica a sua configuração. Nessa parte, destaque para a criação de submenus e de um menu de ajuda.

[ Hits: 40.121 ]

Por: Antônio Vinícius Menezes Medeiros em 31/03/2010 | Blog: https://antoniomedeiros.dev/


Outras formas de fazer submenus



Nesse tópico veremos duas outras formas de se fazer um submenu, colocando desta vez os menus em arquivos de configuração separados.

Uma delas é usando a tag CONFIG:

CONFIG filename

(válido somente depois de uma tag LABEL)

Carrega o arquivo de configuração passado como parâmetro.

Vejamos como ficaria a mesma estrutura de menus do tópico anterior definida utilizando a tag CONFIG. Para isso, vamos criar dois arquivos:

isolinux.cfg:

DEFAULT vesamenu.c32
TIMEOUT 300
PROMPT 0

LABEL live
  MENU LABEL ^Iniciar o Linux em modo grafico
  KERNEL /boot/vmlinuz
  INITRD /boot/initrd.gz
  APPEND BOOT=live boot=live nopersistent rw quiet splash

LABEL advanced
  MENU LABEL Opcoes ^avancadas
  CONFIG avancadas.cfg

LABEL hd
  MENU LABEL Iniciar a partir do ^disco rigido
  LOCALBOOT 0x80
  APPEND -

avancadas.cfg:

DEFAULT vesamenu.c32
TIMEOUT 300
PROMPT 0

MENU TITLE Opcoes avancadas

LABEL text_only
  MENU LABEL Iniciar o Linux em modo ^texto
  KERNEL /boot/vmlinuz
  INITRD /boot/initrd.gz
  APPEND BOOT=live boot=live nopersistent textonly rw quiet

LABEL memtest
  MENU LABEL Testar a ^memoria
  KERNEL /boot/memtest86
  APPEND -

LABEL mainmenu
  MENU LABEL < ^Voltar
  CONFIG isolinux.cfg

O resultado visual e funcional das duas formas já apresentadas de criar submenus é praticamente o mesmo. Abordei a tag CONFIG aqui na verdade mais por ser uma das formas possíveis de se criar submenus, mas veremos um uso mais interessante para essa tag mais adiante, quando tratarmos sobre o menu de ajuda.

No tópico Configuração básica, na primeira parte do artigo, vimos que a tag KERNEL aceita como parâmetro uma extensão do ISOLINUX (um COMBOOT). Se criarmos uma entrada de menu passando como parâmetro à tag KERNEL o arquivo vesamenu.c32 e como parâmetro à tag APPEND um arquivo de configuração, durante a execução, ao escolher essa opção, o usuário terá acesso a outro menu, definido por esse arquivo de configuração.

Em resumo, teríamos, no "isolinux.cfg", algo parecido com isto:

LABEL outro_menu
  MENU LABEL Outro menu
  KERNEL vesamenu.c32
  APPEND outra_configuracao.conf

Vejamos então como criar submenus dessa forma. Vamos criar um menu principal e dois menus secundários. No menu principal, o usuário escolherá o idioma, e nos menus secundários, ele verá as opções traduzidas para o idioma dele. Para isso, vamos criar três arquivos:

isolinux.cfg:

DEFAULT vesamenu.c32
TIMEOUT 300
PROMPT 0

LABEL menu_ptbr
  menu label Portugues brasileiro
  kernel vesamenu.c32
  append menu_ptbr.cfg

LABEL menu_en
  menu label English
  kernel vesamenu.c32
  append menu_en.cfg

menu_ptbr.cfg:
DEFAULT vesamenu.c32
TIMEOUT 300
PROMPT 0

LABEL live
  menu label ^Iniciar o Linux em modo grafico
  kernel /boot/vmlinuz
  initrd /boot/initrd.gz
  append BOOT=live boot=live nopersistent rw quiet splash

LABEL text_only
  MENU LABEL Iniciar o Linux em modo ^texto
  KERNEL /boot/vmlinuz
  INITRD /boot/initrd.gz
  APPEND BOOT=live boot=live nopersistent textonly rw quiet

LABEL memtest
  menu label ^Testar a memoria
  kernel /boot/memtest86
  append -

LABEL hd
  menu label Iniciar a partir do ^disco-rigido
  localboot 0x80
  append -

LABEL back
  menu label < ^Voltar
  kernel vesamenu.c32
  append isolinux.cfg

menu_en.cfg:

DEFAULT vesamenu.c32
TIMEOUT 300
PROMPT 0

LABEL live
  menu label ^Start Linux in Graphical Mode
  kernel /boot/vmlinuz
  initrd /boot/initrd.gz
  append BOOT=live boot=live nopersistent rw quiet splash

LABEL text_only
  MENU LABEL Start Linux in ^Text Mode
  KERNEL /boot/vmlinuz
  INITRD /boot/initrd.gz
  APPEND BOOT=live boot=live nopersistent textonly rw quiet

LABEL memtest
  menu label Memory ^Test
  kernel /boot/memtest86
  append -

LABEL hd
  menu label Boot from first ^hard disk
  localboot 0x80
  append -

LABEL back
  menu label < ^Back
  kernel vesamenu.c32
  append isolinux.cfg

Linux: Guia de referência do ISOLINUX (parte 2)
Linux: Guia de referência do ISOLINUX (parte 2)
Observe que em ambas as formas de se criar submenus mostradas acima é possível a partir de qualquer menu chamar o menu principal, especificando o arquivo "isolinux.cfg". Aliás, como os menus são independentes um do outro (a idéia é a de produzir submenus, mas na verdade estamos criando menus novos), é possível chamar qualquer menu a partir de qualquer menu, bastando para isso especificar o arquivo de configuração que define o menu que desejamos exibir. É possível também definir para cada menu aparências diferentes, visto que são na verdade menus completamente independentes.

Finalmente, convém observar que o resultado visual e funcional de todas as formas mostradas acima é o mesmo. Cabe a você escolher uma das formas apresentadas e montar sua estrutura de menus.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Outras formas de fazer submenus
   3. Dividindo o arquivo de configuração em partes
   4. Exibindo apenas o prompt "boot: "
   5. A tag DISPLAY
   6. Exibindo textos na tela, uso das teclas F1 a F12
   7. Conclusão
Outros artigos deste autor

Desmistificando a instalação do Dazuko

Guia de referência do ISOLINUX (parte 1)

Conheça o OpenOffice.org e o BrOffice.org

Criando um LiveCD a partir de uma instalação do Debian Lenny

Instalação do MediaWiki em uma Project web do SourceForge

Leitura recomendada

Free Pascal Compiler

O jogo da vida de Conway em seu desktop GNU/Linux

QEMU - Para rodar Windows pré-instalado

Gerando em tempo real efeito de voz robotizada

Minha primeira visita ao iTown

  
Comentários
[1] Comentário enviado por rony_souza em 31/03/2010 - 11:53h

Gostei muito do artigo. princípalmente por ser simples de trabalhar com ele. e o que é melhor: Rápido!!

[2] Comentário enviado por josef em 26/08/2010 - 22:22h

Caracas, artigo nota 10,,,melhor, entre os 3 melhores que já vi sobre linux em geral, uma verdadeira aula de didatica,,e conhecimento profundo sobre linux...parabens mesmo...este artigo merece estar em todos os sites de linux...


Contribuir com comentário