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: 38.767 ]

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

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

Exibindo um splash durante o boot com Splashy

Portugol Online - Software livre para facilitar o estudo de algoritmos

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

Leitura recomendada

Instalando o Ubuntu no pendrive

Visual Studio no Linux

Google Chrome OS

Aulas particulares: Ganhando dinheiro com Linux

Crie seu próprio repositório YUM no CentOS 4 e 5

  
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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts