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.

livecd_provas1

Quando as dependências estiverem instaladas, o Menu Principal será exibido, ele será similar a este:

livecd_provas2

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)