Labrador 64 bits - Criando uma imagem: mudanças entre as edições

De Caninos Loucos
Ir para navegação Ir para pesquisar
(Criou página com 'Nesta página você encontrará instruções de como obter o bootloader atualizado da Labrador 64-bits, compilar um novo Kernel Linux, montar uma distribuição Linux para sua...')
 
Sem resumo de edição
Linha 23: Linha 23:
Você pode baixar qualquer rootfs compatível com a arquitetura arm64 ou usar o [https://wiki.debian.org/pt_BR/Debootstrap debootstrap] para criar seu próprio. Abaixo damos um exemplo de como utilizar o debootstrap para baixar uma versão do Debian buster, por enquanto prosseguiremos assumindo que o rootfs.img já está baixado.
Você pode baixar qualquer rootfs compatível com a arquitetura arm64 ou usar o [https://wiki.debian.org/pt_BR/Debootstrap debootstrap] para criar seu próprio. Abaixo damos um exemplo de como utilizar o debootstrap para baixar uma versão do Debian buster, por enquanto prosseguiremos assumindo que o rootfs.img já está baixado.


=== Utilizando o debootstrap ===
Para iniciar o processo deve-se montar o arquivo rootfs, neste caso o montaremos no destino /media/mountpoint
 
<pre>$ mount -o rootfs.img /media/mountpoint</pre>
 
Após a montagem do sistema uma pasta boot deve ser criada no mesmo, e os arquivos de compilação e logo.bmp devem ser colocados nesta pasta, os comandos abaixo realizam essa tarefa:
 
<pre>
$ mkdir /media/mountpoint/rootfs/boot
$ cp -r /media/caninos/kernel/Image /media/mountpoint/rootfs/boot
$ cp -r /media/caninos/kernel/v3emmc.dtb /media/mountpoint/rootfs/boot
$ cp -r /media/caninos/kernel/v3sdc.dtb /media/mountpoint/rootfs/boot
$ cp -r /media/caninos/kernel/logo.bmp /media/mountpoint/rootfs/boot
</pre>
 
Após finalizar a pasta de boot o próximo passo é editar a pasta /lib/modules. Para isso é necessário remover a pasta original do rootfs e colocar a pasta gerada na compilação do Kernel.
<pre>
$ sudo rm -r /media/mountpoint/rootfs/lib/modules
$ sudo cp -r /media/caninos/kernel/lib/modules /media/mountpoint/ rootfs/lib/
</pre>
 
Após este processo o sistema estará pronto para ser usado na Labrador, no entanto, ainda temos que criar um arquivo de configuração com as instruções de boot para a Labrador. Essas configurações serão feitas num arquivo config.json na pasta boot. Conforme seção [[Help:Editing pages|editing help]]
 
=== Exemplo do debootstrap ===
Para gerar um arquivo de sistema via debootsrap inicialmente ele deve ser instalado. Num sistema Debian isso pode ser feito com o comando
<pre>$sudo apt install debootstrap</pre>
Após isto, o comando criará um arquivo de sistema. Neste caso, um arquivo do Debian Buster, é possível substituir a versão para qualquer uma desejada.
<pre>$ sudo debootstrap --arch=arm64 --foreign buster <pasta_de_destino></pre>

Edição das 14h04min de 5 de junho de 2020

Nesta página você encontrará instruções de como obter o bootloader atualizado da Labrador 64-bits, compilar um novo Kernel Linux, montar uma distribuição Linux para sua placa e escrever seu sistema num cartão SD e na memória da placa. Para encontrar a versão mais atualizada dos softwares aqui citados, acesse nosso Github.

Dependências

Para montar seu próprio sistema compatível com a Labrador serão necessários:

  • Um arquivo bootloader.bin e um arquivo logo.bmp
  • Os arquivos de Kernel para o seu sistema
  • Um sistema de arquivos rootfs arm64 do sistema operacional que deseja instalar.

Os dois primeiros podem ser encontrados no Github, o sistema de arquivo pode ser encontrado no site de diversas distribuições diferentes de linux. Você também pode utilizar o debootstrap para gerar seu próprio rootfs. Recomendamos o uso de sistemas de arquivo ext4 mas outros sistemas ext funcionarão também.

Criando sua imagem

Compilando o Kernel

Após baixar os últimos arquivos de Kernel do Github o Kernel Linux deve ser compilado conforme as instruções do arquivo README.md. Basta rodar o comando make na pasta linux-source. Qualquer dependência de pacotes do sistema será alertada pelo compilador. Outras dúvidas gerais podem ser encontradas no mesmo arquivo readme. Os arquivos de saída dessa compilação serão:

  • Uma pasta /lib
  • Um arquivo Image
  • Dois arquivos de extensão .dtb (caso nenhuma mudança tenha sido feita no processo descrito estes se chamarão v3emmc.dtb e v3sdc.dtb)

Criando um sistema bootável

Você pode baixar qualquer rootfs compatível com a arquitetura arm64 ou usar o debootstrap para criar seu próprio. Abaixo damos um exemplo de como utilizar o debootstrap para baixar uma versão do Debian buster, por enquanto prosseguiremos assumindo que o rootfs.img já está baixado.

Para iniciar o processo deve-se montar o arquivo rootfs, neste caso o montaremos no destino /media/mountpoint

$ mount -o rootfs.img /media/mountpoint

Após a montagem do sistema uma pasta boot deve ser criada no mesmo, e os arquivos de compilação e logo.bmp devem ser colocados nesta pasta, os comandos abaixo realizam essa tarefa:

$ mkdir /media/mountpoint/rootfs/boot 
$ cp -r /media/caninos/kernel/Image /media/mountpoint/rootfs/boot 
$ cp -r /media/caninos/kernel/v3emmc.dtb /media/mountpoint/rootfs/boot 
$ cp -r /media/caninos/kernel/v3sdc.dtb /media/mountpoint/rootfs/boot 
$ cp -r /media/caninos/kernel/logo.bmp /media/mountpoint/rootfs/boot

Após finalizar a pasta de boot o próximo passo é editar a pasta /lib/modules. Para isso é necessário remover a pasta original do rootfs e colocar a pasta gerada na compilação do Kernel.

$ sudo rm -r /media/mountpoint/rootfs/lib/modules 
$ sudo cp -r /media/caninos/kernel/lib/modules /media/mountpoint/ rootfs/lib/

Após este processo o sistema estará pronto para ser usado na Labrador, no entanto, ainda temos que criar um arquivo de configuração com as instruções de boot para a Labrador. Essas configurações serão feitas num arquivo config.json na pasta boot. Conforme seção editing help

Exemplo do debootstrap

Para gerar um arquivo de sistema via debootsrap inicialmente ele deve ser instalado. Num sistema Debian isso pode ser feito com o comando

$sudo apt install debootstrap

Após isto, o comando criará um arquivo de sistema. Neste caso, um arquivo do Debian Buster, é possível substituir a versão para qualquer uma desejada.

$ sudo debootstrap --arch=arm64 --foreign buster <pasta_de_destino>