Instalando o Sistema Operacional

A instalação do sistema operacional não é uma tarefa trivial, além disso existe uma escassez de documentação detalhada e completa que explique como instalar o sistema operacional no computador embarcado, logo será documentado nesta seção os procedimentos necessários para a instalação de um sistema operacional. Na fase atual dos trabalhos instalamos ambos os sistemas, de tal forma, podemos decidir posteriormente qual dos dois sistemas será melhor para nossa aplicação.

Nota

Os tutoriais oficiais podem ser encontrados no site da Gumstix e nos repositórios do GitHub do projeto Yocto e Ubuntu para produtos Gumstix.

Obtenção das imagens do SO

Essencialmente o dispositivo precisa apenas executar um pequeno programa, geralmente localizado em uma memória não volátil do tipo Read-Only Memory (ROM), para acessar a outro dispositivo de memória não volátil que armazene o sistema operacional, e carregar o sistema operacional na memória volátil de rápido acesso ou Random Access Memory (RAM) onde ele poderá ser executado. Em sistemas mais robustos ocorre, na verdade, um encadeamento desses pequenos programas, chamados de bootloaders, onde um primeiro estágio executa um segundo estágio que carrega programas mais complexos e, por sua vez, executa um terceiro estágio e assim por diante até que o sistema operacional seja completamente carregado e esteja pronto para ser executado por si só.

Existem dois métodos para obter os sistemas operacionais para o Gumstix Overo. O primeiro método é baixar uma imagem pré-compilada diretamente do Gumstix. O segundo método é construir você mesmo a imagem em seu computador. A criação manual da imagem do sistema operacional possui benefícios adicionais, como personalização ou adição de pacotes binários adicionais à sua imagem base. A possibilidade de personalização será muito importante no desenvolvimento do projeto.

Preparando o Cartão de Memória

Uma vez obtida a imagem do sistema operacional podemos transferir os arquivos para o computador embarcado para, enfim, ligá-lo. Essa tarefa será realizada por meio de um cartão SD que funcionará como o disco rígido do computador embarcado. Logo, o cartão SD irá conter tanto os programas necessários para boot, que serão utilizados apenas na inicialização do computador, quanto os outros programas podem ser utilizados a qualquer momento e realizarão modificações constantes no cartão SD. Portanto a melhor maneira de lidar com essa divisão é particionar o cartão SD em duas partições que serão denominadas boot e rootfs.

O sistema de gestão de arquivos define o método que o sistema operacional irá utilizar para armazenar nos espaços de memória os arquivos e suas informações, ou metadados dos arquivos, como nome, espaço de memória ocupado, datas de alterações e últimos acessos. Existe uma grande variedade de sistemas de gestão de arquivos com as mais diversas complexidades. Mas o que podemos precisar nesse trabalho e em trabalhos futuros é o sistema «FAT», um sistema antigo geralmente utilizado em mídias e, normalmente, universal. Já o «ext» é um sistema elaborado especificamente para o Linux e não é possível acessá-lo por um outro sistema operacional sem um programa para essa finalidade.

Esse é um procedimento muito comum e existem inúmeras maneiras de fazê-lo, entretanto, aqui utilizaremos o próprio gerenciador de discos do Linux para realizar o particionamento, por ser uma ferramenta simples, intuitiva e possibilitar futuras modificações sem grandes dificuldades. Vale ressaltar que este não é o método indicado pelo fabricante, já que os procedimentos recomendados por eles na página Create Bootable MicroSD Card apresentaram os mais diversos erros, todavia, os resultados obtidos utilizando os procedimentos do tópico abaixo são os mesmos.

Escrevendo a imagem no Cartão MicroSD

Após dividido o cartão SD podemos prosseguir com a instalação do sistema montando suas partições e copiando os arquivos obtidos anteriormente, os dois arquivos bootloaders, para a pasta em que a partição de boot foi montada e extraindo os diretórios do sistema para a pasta em que a partição rootfs foi montada. Depois disso,

O procedimento de montagem de uma partição de memória consiste em uma atividade do sistema operacional para garantir que a transferência de informação será feita da maneira correta, basicamente o dispositivo conectado é lido por inteiro para identificar os arquivos nele armazenados e aonde podem ser escritas novas informações sem que haja sobreposição de dados. Porém mais importante que a montagem da partição é desmontar a partição antes de desconectar o periférico, pois garante que nenhuma atividade de escrita na partição esteja ocorrendo no momento que o dispositivo for removido. Esse procedimento garante, também, que todas as alterações solicitadas tenham sido feitas no periférico e não estejam salvas em arquivos temporários ou buffers do sistema.

O procedimento descrito a seguir é baseado nas recomendações do fabricante e são especificas para a instalação do sistema Yocto Project em dispositivos Gumstix Overo.

Dica

Lembre-se de desmontar as partições antes de remover o cartão SD.

Referências

  • PITA, H. C. Desenvolvimento de sistema de comunicação multiplataforma para veículos aéreos de asa fixa. Faculdade de Tecnologia, Universidade de Brasília, 2018.