GeracaoAutomatizadaDoLiveCD - UFSC/moodle-provas-livecd-provas GitHub Wiki
Geração Automatizada da ISO do LiveCD de Provas
Esta página tem como objetivo descrever o funcionamento do sistema de geração automatizada da ISO do LiveCD de provas, este sistema está disponível no repositório: Moodle Provas/livecd-provas.
Requisitos
Para a utilização deste sistema, é necessário atender aos seguintes requisitos:
- O sistema operacional onde ele será executado deve ser o Ubuntu, uma das versões listadas na variável distro_ubuntu_versions do arquivo config/livecd_provas.conf
- O utilitário sudo deve estar instalado e seu usuário deve estar autorizado a utilizá-lo.
- O utilitário make deve estar instalado.
Arquivos de Configuração
As configurações internas e de geração do LiveCD estão concentradas no diretório config/, este diretório contêm os principais arquivos de configuração do LiveCD, os arquivos .conf contêm praticamente todas as opções que você vai precisar alterar para que o LiveCD se adeque a sua instituição, sem que seja necessário mexer na estrutura interna de geração do LiveCD. Estes arquivos .conf são arquivos shell script que contêm diversas variáveis, tome cuidado ao alterá-las para não inserir algum erro de sintaxe, muito cuidado com as aspas simples e aspas duplas. A descrição de cada parâmetro contido nos arquivos .conf está dentro do próprio arquivo, através de comentários.
As imagens do diretório images/ permitem uma leve personalização visual do sistema, você pode substituí-las pelas suas, desde que respeite o formato, a resolução e nome delas.
Descrição dos arquivos
- images/bootloader_splash.png - Imagem exibida como fundo do menu de inicialização (deve ser uma imagem com poucos efeitos e com poucos kilobytes, para que o menu não fique lento).
- images/logout-banner.png - Imagem exibida quando o usuário clica no botão 'Desligar'.
- images/wallpaper.png - Papel de parede padrão da área de trabalho do LiveCD.
- livecd_provas.conf - Arquivo de configuração da geração do LiveCD. Este arquivo contêm as opções que afetam a geração do LiveCD.
- moodle_provas.conf - Arquivo de configuração interno do LiveCD. Este arquivo faz parte do pacote debian 'moodle-provas-config', que é gerado a cada nova geração do LiveCD. Ele também é lido durante a geração do LiveCD pelo arquivo livecd_provas.conf, pois algumas das variáveis são necessárias durante este processo.
Executando pela primeira vez
Após fazer uma cópia do repositório localmente, basta entrar no diretório da sua cópia, que será livecd-provas se você não tiver definido um nome diferente, e executar o comando make, o script principal verificará se todas as dependências estão instaladas, se não estiverem ele exibirá a seguinte mensagem com as dependências que estão faltando, para instalá-las basta digitar sim, pressionar ENTER e aguardar a instalação ser concluída.
Quando as dependências estiverem instaladas, o Menu Principal será exibido, ele será similar a este:
Descrição das opções do Menu Principal
[1] Gerar um LiveCD com os pacotes do moodle-provas
Gera a ISO do LiveCD do zero, extraíndo a base do sistema, instalando os pacotes essenciais, os pacotes do Moodle Provas, gerando o novo SquashFS e por fim a nova ISO.
[2] Atualizar os pacotes de um LiveCD já extraído
Gera uma nova ISO do LiveCD baseada em um ROOT_FS já "extraído", porém os pacotes do sistema são atualizados, incluindos os do Moodle Provas. Esta opção só deve ser utilizada se a primeira opção já foi executada e uma limpeza dos diretórios não foi realizada.
[3] Abrir um shell no chroot do LiveCD já extraído
Abre um shell utilizando CHROOT no diretório do ROOT_FS. Esta opção só deve ser utilizada para fazer alterações de teste no ROOT_FS, para gerar uma ISO de testes.
[4] Gerar apenas o novo SquashFS e a nova ISO do LiveCD
Gera o SquashFS e a nova ISO, desde que exista um ROOT_FS válido no diretório de trabalho. Esta opção é útil caso você tenha feito alguma alteração de teste utilizando a opção [3].
[5] Gerar apenas a nova ISO do LiveCD
Gera apenas uma nova ISO, desde que exista um ROOT_FS válido no diretório de trabalho. Esta opção é útil caso você tenha feito alterações nas configurações do bootloader ou ativado/desativado a opção enable_send_logs no arquivo config/livecd_provas.conf.
[6] Gerar novamente os pacote debian do Moodle Provas
Gera uma nova versão dos pacotes presentes no diretório packages/src, exceto o pacote moodle-provas-config.
[7] Gerar novamente os pacotes debian do lxpanel e lxsession (com os patches)
Gera uma nova versão dos pacotes lxpanel e lxsession, com os patches presentes nos diretórios packages/src_3rd_party. Note que estes pacotes só podem ser gerados na mesma arquitetura de hardware do sistema operacional, ou seja, se seu sistema for de 64-bit, ele só poderá gerar a versão de 64-bit do pacote, para gerar a versão de 32-bit você precisa executar essa opção em um sistema de 32-bit.
[8] Gerar novamente o pacote debian do JRE da Oracle (Java)
Gera uma nova versão do pacote oracle-java7-jre presente no diretório packages/src_3rd_party, o pacote gerado será para a arquitetura de hardware definida no arquivo config/livecd_provas.conf.
[9] Gerar novamente o pacote .tar.gz do bootstrap (base do sistema)
Gera um arquivo .tar.gz atualizado com a base do sistema (utilizando o comando debootstrap).
[10] Testar o bootloader (ISOLINUX) em uma máquina virtual (Qemu)
Cria uma ISO temporária contendo apenas o bootloader, para facilitar o teste dele sem que seja necessário gerar a ISO do LiveCD completa.
[11] Testar a última ISO gerada em uma máquina virtual (VirtualBox)
Cria uma máquina virtual no VirtualBox com a última ISO da arquitetura de hardware configurada e a executa.
[0] Sair
Finaliza o sistema de geração do LiveCD.
Comentários adicionais sobre o Menu Principal
Sistema Homologado
A primeira vez que o comando for executado em um emulador de terminal e o menu aparecer, será verificado se o sistema operacional é homologado para executar a geração do LiveCD, se for será exibida a versão, do contrário será exibido um erro ou um aviso, dependendo do sistema que for detectado.
Por exemplo:
* Sistema homologado detectado: 'Ubuntu' versão '12.04'
Arquitetura do Hardware
Sempre que o menu principal for exibido, a arquitetura do hardware que está configurada no arquivo config/livecd_provas.conf será exibida desta forma:
* Qual ação deseja executar? (Arquitetura: i386)