ConfiguracaoMenuDeBoot - UFSC/moodle-provas-livecd-provas GitHub Wiki

Configuração do Menu de Boot

Esta seção descreve os procedimentos de configuração do ISOLINUX, responsável por exibir o menu de inicialização do LiveCD e carregar o sistema selecionado.

Pacotes necessários

syslinux

Este pacote contém os arquivos binários do ISOLINUX, que devem ser copiados para o diretório /isolinux do LiveCD, os arquivos necessários são: /usr/lib/syslinux/isolinux.bin e /usr/lib/syslinux/vesamenu.c32 . Estes arquivos são copiados automaticamente pela função make_bootmenu() (scripts/includes/build_stages.sh).

console-data

Este pacote contém o arquivo de fonte necessário para que o ISOLINUX exiba caracteres especiais corretamente, o caminho da fonte utilizada é definido no arquivo global de configuração config/livecd_provas.conf através da variável console_font, mais detalhes na seção Fonte do console abaixo.

Fonte do console

Para que caracteres especiais (caracteres acentuados e cedilha) sejam exibidos corretamente no ISOLINUX, é necessário ter uma fonte que suporte a mesma codificação (charset) utilizada nos arquivos de menu e ajuda, como o ISOLINUX não suporta utf-8, a segunda codificação mais apropriada a ser utilizada para o português é a iso-8859-1, também conhecida como Latin-1, dessa forma deve-se ter uma fonte que suporte Latin-1 e os arquivos menu.cfg e pt_BR.hlp também devem ser codificados em Latin-1.

A fonte utilizada é definida no arquivo global de configuração config/livecd_provas.conf através da variável console_font, a fonte atualmente utilizada é a /usr/share/consolefonts/lat1-16.psf.gz (é uma fonte de console tamanho 16 com charset Latin-1), ela deve ser extraída e copiada para o diretório /isolinux do LiveCD com o nome font16.psf , esta operação é realizada automaticamente pela função make_bootmenu().

O nome do arquivo de fonte é definido no arquivo stdmenu.cfg pela diretiva font font16.psf. Se não utilizássemos caracteres especiais no menu e no arquivo de ajuda, não seria necessário um arquivo de fonte separado, a fonte padrão do console seria suficiente.

Arquivos

  • F1_pt_BR.hlp.utf-8 : Arquivo de ajuda que é exibido ao pressionar a tecla F1.
  • F2_pt_BR.hlp.utf-8 : Arquivo de ajuda que é exibido ao pressionar a tecla F2.
  • isolinux.cfg : Arquivo de configuração principal do ISOLINUX.
  • menu.cfg.utf-8 : Arquivo de configuração do MENU com as opções normais.
  • splash.png : Imagem exibida como plano de fundo do MENU.
  • stdmenu.cfg : Arquivo de configuração que contêm as opções de formatação visual.

F1_pt_BR.hlp.utf-8 e F2_pt_BR.hlp.utf-8

Estes são arquivos são utilizados para gerar o F1_pt_BR.hlp e F2_pt_BR.hlp, que farão parte da ISO. Eles são arquivos de ajuda acessíveis através das teclas F1 e F2 no menu de inicialização. O nome destes arquivos, a tecla de acesso e a cor de fundo da tela, são definidos no arquivo isolinux.cfg através das diretivas F1 F1_pt_BR.hlp #80303030 e F2 F2_pt_BR.hlp #80303030.

Estes arquivos possuem caracteres especiais e não imprimíveis que são utilizados para formatar o texto exibido pelo ISOLINUX, estas formatações permitem alterar a cor do texto e do fundo dele. Detalhes sobre os caracteres especiais de formatação podem ser consultados nos seguintes sites:

isolinux.cfg

Este é o arquivo de configuração principal do ISOLINUX, ele é o primeiro arquivo lido e os demais são incluídos através da diretiva include, esta inclusão pode ocorrer em cascata.

Ele é um arquivo pequeno, pois a maior partes das configurações estão nos arquivos menu.cfg e stdmenu.cfg.

O que vale destacar aqui é a diretiva timeout %TIMEOUT%, o parâmetro %TIMEOUT% é uma variável modificada por um dos scripts de geração da ISO, o valor dela deve ser um inteiro e ela é definida pela variável boot_timeout no arquivo config/livecd_provas.conf.

# Tipo de menu padrão, vesamenu é o menu gráfico
ui vesamenu

# Opções do menu
include menu.cfg

# Timeout em milisegundos
timeout %TIMEOUT%

# Tecla | Arquivo | Cor do fundo
F1 F1_pt_BR.hlp #80303030
F2 F2_pt_BR.hlp #80303030

menu.cfg.utf-8

Este arquivo é utilizado para gerar o menu.cfg que fará parte da ISO, ele contêm todas as opções selecionáveis que são exibidas no menu de boot, algumas opções estão comentadas e somente são ativadas durante a geração do LiveCD pela função make_bootmenu(), são elas:

  • MULTITERMINAL: Só é ativada se a variável enable_multiseat estiver com o valor yes no arquivo config/livecd_provas.conf.

  • CHECK_MEDIA: Só é ativada se a variável enable_check_media estiver com o valor yes no arquivo config/livecd_provas.conf.

  • MEMTEST: Só é ativada se a variável enable_memtest estiver com o valor yes no arquivo config/livecd_provas.conf.

  • SEND_LOGS_MONOSEAT: Só é ativada se a variável enable_send_logs estiver com o valor yes no arquivo config/livecd_provas.conf.

  • SEND_LOGS_MULTISEAT: Só é ativada se a variável enable_send_logs e a variável enable_multiseat estiverem com o valor yes no arquivo config/livecd_provas.conf.

Alguns parâmetros e mensagens de texto são definidos através de variáveis que estão definidas no arquivo de configuração global config/livecd_provas.conf:

Variável no menu.cfg | Variável no livecd_provas.conf | Descrição

  • %MSG_TIMEOUT% - msg_timeout - Mensagem exibida quando o menu aparece, com um contador de segundos regressivo.

  • %MSG_BOTTOM% - msg_bottom - Mensagem exibida no rodapé da tela onde aparece o menu.

  • %LIVECD_VERSION% - livecd_version - Versão do LiveCD de provas.

OBS: O arquivo menu.cfg.utf-8 está codificado em utf-8, mas para que os caracteres acentuados funcionem corretamente no menu de boot, o arquivo deve ser convertido para iso-8859-1, que é o charset da fonte utilizada no menu, isto é feito pelos scripts de geração da ISO.

splash.png

Esta é a imagem utilizada como fundo do menu de boot, ela deve ter resolução de 640x480 pixels. Recomenda-se que ela seja uma imagem pequena e sem muitos efeitos do tipo gradiente, pois em alguns computadores o menu de inicialização pode ficar lento.

O nome do arquivo de imagem é definido no arquivo stdmenu.cfg pela diretiva menu background splash.png.

stdmenu.cfg

Este arquivo define a aparência e comportamento do menu de inicialização, ele é incluído pela diretiva include no arquivo menu.cfg, abaixo são descritas algumas das diretivas usadas.

  • menu background splash.png - Define o nome da imagem de fundo do menu.
  • font font16.psf - Define o nome do arquivo de fonte usada no menu.
  • allowoptions 0 - Desativa a edição dos parâmetros do kernel quando o valor é 0 (zero).
  • prompt 0 - Exibe o prompt boot: somente se a tecla Alt ou Shift estiver pressionada quando o valor é 0_ (zero).
  • noescape 1 - Ignora as teclas de escape Shift/Alt/Caps Lock/Scroll. Deve ser utilizada com a diretiva prompt 0 para forçar a opção de boot padrão.
  • menu color <element> <ansi> <foreground> <background> <shadow> - Define a formatação das mensagens.
⚠️ **GitHub.com Fallback** ⚠️