Kernel

De Caninos Loucos
Ir para navegação Ir para pesquisar
A versão imprimível não é mais suportada e pode ter erros de renderização. Atualize os favoritos do seu navegador e use a função de impressão padrão do navegador.

Um sistema operacional é um programa que permite a interação de um usuário com um computador além de gerenciar os seus recursos para realizar tarefas. Uma componente de um sistema operacional é o seu Kernel, componente de um sistema operacional que reúne funções como gerenciamento de memória e gerenciamento de processos. O primeiro esforço de implantar um sistema operacional para uso na labrador foi feito com o Kernel do Linux uma vez que apresenta o seu código fonte aberto e com diversas implementações de compatibilidade específica para diferentes arquiteturas de processadores e conjuntos de instruções. Dessa forma, é possível adapta-lo para apresentar compatibilidade com o sistema da Labrador.

É possível verificar o código fonte do Kernel do Linux no github.

Com isso, é possível utilizar sistemas operacionais baseados em Kernel de Linux, popularmente referido como distribuições. O termo distribuição remete a tempos incipientes da comunidade Linux em que as pessoas compartilhavam modificações feitas com adições de interfaces gráficas ou ferramentas auxiliares que complementavam as funções básicas do Kernel do Linux, assim constituindo a completude de um Sistema Operacional. Por essa natureza de compartilhamento, para a comunidade de usuários Linux, o termo distribuição acabou se tornando intercambiável com o termo Sistema Operacional.

Dessa forma, é possível utilizar distribuições baseadas no Kernel do Linux como Ubuntu, Debian, Mint, etc na labrador com o Kernel compilado oferecido em seu github, assim como é possível que você mesmo o compile.

Versão Do Kernel

Para verificar qual é a versão atual do Kernel, abra o Terminal (ctrl + alt + T) e digite:

   $ cat /proc/version
Pode-se verificar que neste caso a versão do Kernel é a 4.14.13.

Atualização Do Kernel

Por diversas razões pode ser necessário trocar ou atualizar o Kernel, seja para suportar novos hardwares ou mesmo melhorar o desempenho com hardwares já suportados ou ainda prover novas funcionalidades a esses hardwares já suportados. É valido observar que este processo pode causar problemas ao seu sistema.

É possível realizar a troca do Kernel de algumas maneiras, a mais simples é utilizando a versão já compilada para a Labrador, que pode ser encontrada no GitHub da Caninos Loucos. Procure os arquivos na pasta output ou output32.

Troca De Kernel Compilado

Para realizar a troca do Kernel em um sistema Debian siga os passos a seguir:

  1. Baixar os arquivos da pasta output ou output32;
  2. Baixar o script install.sh ou install32.sh do repositório caso esteja usando um sistema baseado em Debian;
  3. Executar o script correspondente ao modelo da sua Labrador;

Caso você utilize uma distribuição diferente, execute os passos:

   $ lsblk

para descobrir o diretório do cartão SD

Resultado do comando lsblk. O cartão SD está mapeado em /dev/mmcblk0, mas em alguns casos pode estar em /dev/sdaX, onde X pode ser 1, 2, 3...


Labrador 64 bits (core 3.0+)

   $ cd output
   $ sudo cp Image [ponto de montagem do cartão]/linux64/boot
   $ sudo cp v3psci.dtb [ponto de montagem do cartão]/linux64/boot
   $ sudo cp -r lib/modules [ponto de montagem do cartão]/linux64/lib

Labrador 32 bits (core 2.X)

   $ cd output32
   $ sudo cp uImage [ponto de montagem do cartão]/BOOT
   $ sudo cp kernel.dtb [ponto de montagem do cartão]/BOOT
   $ sudo cp -r lib/modules [ponto de montagem do cartão]/SYSTEM/lib

Após esse processo a Labrador já será inicializada com o Kernel desejado.

Compilando o Kernel

Para realizar a compilação em um sistema baseado em Debian, é necessário seguir os seguintes passos:

Instalar os pré-requisitos para a compilação

   $ sudo apt-get update
   $ sudo apt-get install build-essential binutils gcc-aarch64-linux-gnu make git
   $ sudo apt-get install bison flex libncurses-dev libssl-dev

Clonar o repositório da Caninos Loucos

   $ git clone https://www.github.com/caninos-loucos/labrador-aarch64-linux-4

Compilar

Para os modelos de 64 bits, utilizar

   $ make

ou, para o modelo de 32 bits,

   $ make all32

Compilação incremental

Para não ser necessário recompilar todos os arquivos de uma vez, e em vez disso compilar apenas os arquivos modificados, utilizar

   $ make kernel

para sistemas de 64 bits ou

   $ make kernel32

para sistemas 32 bits.