BrunoCaires

Site pessoal com anotações e nerdices

Raspberry Pi from scratch minhas anotações

Written on

Raspberry Pi from scratch minhas anotações

Introdução


Resolvi tentar seguir passo a passo o projeto PiLFS

[http://intestinate.com/pilfs/] para aprender mais sobre compilações, instalação de pacotes a partir do source e sobre linux de modo geral, assim irei registrar meu progresso.

Guia de instalação a partir do código fonte, descompactação, patchs.


O primeiro passo que se deve ser feito é fazer o download do pacotes fontes desejados para isso caso se tenha a url é possível ser feito via wget, após isso é necessário verificar a integridade do pacote com o md5sum que geralmente é fornecido na página de download do pacote.

  md5sum nome-do-pacote

Esse comando retornará um hash que poderá ser comparado com o fornecido pelo desenvolvedor do software. Após o download geralmente você terá um arquivo com final tar.gz ou tar.bz que são "pacotes" de arquivos tar compactados como os compactadores gzip ou bzip2, com programas de tar atuais é possível descompactar simplesmente com tar -xf nome-do-pacote, assim será criado dentro do diretório atual um outro diretório, e todos o arquivos estarão dentro dele. Outra ferramenta importante são as aplicações de patch nos arquivos fonte do programa baixado, o arquivo de patch é a saída de um comando diff que compara o arquivo original de um outro que sofreu algumas alterações, enquanto o programa propriamente pega esse arquivos e aplica as alterações transformando arquivos em novas versões com as modificações, essas modificações pode ter sido feitas para que o programe passe a funcionar em um determinado computador ou por conter erros no arquivo original.

MAKE


O pode ser usado para seguir uma sequência de instruções contidas no arquivo Makefile, essas instruções podem ser para simplesmente compilar todos os arquivos necessários e transformá-los em executáveis, para isso simplesmente podemos digitar make ou podemos instalar o software em pasta pré definidas na configuração com make install, ou podemos remover os arquivos objetos criados com make clean, a maioria dos pacotes vem com um script chamado configure e um template de Makefile chamado Makefile.in, o configure transforma o Makefile.in em um Makefile customizado para o ambiente de sua máquina e pode conferir se a máquina possui todas as libs e compiladores necessário para realizar a compiação do software por exemplo. Normalmente uma sequência de instalação fica parecido com a abaixo.

  #descompactar

  tar xf nome-do-pacote

  cd {diretorio criado}

  less README

  less INSTALL
# criando Makefile, uma das opções mais usadas é --prefix

  ./configure { options }
# compilando

  make
# instalando

  sudo make install

Normalmente as opções do configure podem ser vistas executando ./configure --help.
Caso a compilação falhe é necessário verificar nos arquivos README e INSTALL para ver se todas as dependências foram instaladas, uma dica é que ao final da compilação é gerado um executável que pode conter bastante dados que servirá apenas para Debugging do software e é inútil para a execução rotineira, assim para salvar espaço podemos executar o comando strip executável, que os dados desnecessários são excluidos.

Truques apendidos usando o script ch5-build.sh


- O comando test tem uma opção -v que serve para conferir se uma variável de ambiente existe.
- Para ver qual a arquitetura do computador uname -m.
- A opção -u do comando cp copia apenas quando a origem for mais nova que o destino ou quando o o último não existir
- Copiar um arquivo alterando a extensão para .orig cp arquivo{,.orig}

Erro durante compilação ou execução


Uma ferramenta utilizada é a ldd, que executada em um binário exibirá todas a bibliotecas compartilhadas utilizada por esse arquivo.
A ferramenta nm pode ser executada para examinar uma biblioteca e procurar por undefined symbol.

Referência


http://moi.vonos.net/linux/beginners-installing-from-source/
http://www.tldp.org/HOWTO

This entry is posted in linux.