Índice:
Vídeo: Construindo distribuição GNU / Linux para Raspberry Pi usando o projeto Yocto: 6 etapas
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
O Raspberry Pi é provavelmente o computador de placa única de baixo custo mais popular do mercado. É frequentemente usado para Internet das Coisas e outros projetos embarcados. Várias distribuições GNU / Linux têm excelente suporte para Raspberry Pi e existe até o Microsoft Windows para Raspberry Pi 2.
Se você deseja criar Internet das Coisas (IoT) baseada no Raspberry Pi e se deseja fazê-lo profissionalmente, é recomendável construir uma distribuição Linux embarcada que se adapte às necessidades exatas do seu dispositivo. Para inicializar uma distribuição Linux no Raspberry Pi, você precisa de um bootloader, kernel Linux e vários aplicativos no espaço do usuário.
Uma das maneiras mais populares de construir uma distribuição Linux embarcada customizada é usando o Projeto Yocto. Yocto é um projeto colaborativo da fundação Linux que usa a estrutura Openembedded e o mecanismo de compilação bitbake. Poky é o sistema de referência do Projeto Yocto com um ciclo de lançamento de seis meses. Ele fornece metadados divididos em camadas e receitas para a construção de vários pacotes e imagens.
Este tutorial fornece as etapas exatas para construir uma imagem com distribuição GNU / Linux mínima para Raspberry Pi, que inclui systemd e connman.
Etapa 1: se preparando
Para este tutorial, você precisará de:
- Computador pessoal com distribuição GNU / Linux, por exemplo Ubuntu, no qual você construirá a distribuição GNU / Linux para Raspberry Pi.
- Raspberry Pi
- cartão microSD ou SD dependendo da versão do seu Raspberry Pi
- Cabo HDMI e um monitor
- Teclado USB
- Fonte de energia
Instale os pacotes necessários em seu computador pessoal dependendo de sua distribuição GNU / Linux: https://www.yoctoproject.org/docs/2.0/yocto-projec…Notes (por Yunus EmreI):
- Você não pode preparar uma imagem se o seu diretório pessoal estiver criptografado porque não permite nomes de arquivos longos
- A construção inicial demora muito se você tiver uma conexão lenta
- Ao enviar a imagem para o cartão SD, certifique-se de selecionar o / dev / sdX principal, não o / dev / sdXp1 ou outra variação da parte interna
Etapa 2: Obtenha o código-fonte
Execute as ações abaixo em seu computador pessoal:
-
Clone Poky usando Git (neste caso, estou baixando a versão Jethro (2.0) do Projeto Yocto):
git clone -b jethro git: //git.yoctoproject.org/poky
-
Vá para o diretório poky:
cd poky
-
Clone meta-raspberrypi:
git clone -b jethro git: //git.yoctoproject.org/meta-raspberrypi
Etapa 3: configurar
-
Inicialize o ambiente de construção
fonte oe-init-build-env
-
Adicione meta-raspberrypi ao BBLAYERS em conf / bblayers.conf, depois disso deve ser semelhante (mas no seu caso com caminhos diferentes) a:
BBLAYERS? =
/ home / leon / poky / meta / / home / leon / poky / meta-yocto / / home / leon / poky / meta-yocto-bsp / / home / leon / poky / meta-raspberrypi \"
-
Abra conf / local.conf e altere MACHINE para raspberrypi, raspberrypi0, raspberrypi2 ou raspberrypi3 dependendo do seu modelo Raspberry Pi, por exemplo:
MACHINE ?? = "raspberrypi2"
-
Anexe a seguinte linha a conf / local.conf para definir a memória GPU em megabytes:
GPU_MEM = "16"
-
Opcionalmente, acrescente a seguinte linha a conf / local.conf para substituir System V por systemd:
DISTRO_FEATURES_append = "systemd"
VIRTUAL-RUNTIME_init_manager = "systemd" DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit" VIRTUAL-RUNTIME_initscripts = ""
-
Opcionalmente, anexe a seguinte linha a conf / local.conf para incluir o gerenciador de rede da linha de comando connman na imagem:
IMAGE_INSTALL_append = "connman connman-client"
Etapa 4: construir uma imagem
-
Execute o seguinte comando para construir uma imagem mínima de uma distribuição GNU / Linux para o seu Raspberry Pi:
bitbake rpi-basic-image
Observe que a construção pode levar várias horas, dependendo do hardware do seu computador pessoal e da velocidade da conexão com a Internet.
Etapa 5: Cartão Flash SD
Quando a compilação for concluída, a imagem estará localizada no seguinte caminho em seu diretório de compilação: tmp / deploy / images / raspberrypi2 / rpi-basic-image-raspberrypi2.rpi-sdimg.
Conecte um cartão microSD ao seu computador, substitua X pelo seu ID correspondente (que pode ser encontrado por meio de comandos como lsblk ou fdisk -l) e execute os seguintes comandos para fazer o flash da imagem nele:
sudo umount / dev / sdX
sudo dd if = tmp / deploy / images / raspberrypi2 / core-image-weston-raspberrypi2.rpi-sdimg de = / dev / sdX sync sudo umount / dev / sdX
Alternativamente, se você preferir, pode usar bmaptool em vez de dd.
Tenha muito cuidado ao atualizar o cartão SD e certifique-se de usar a letra correta para o caminho para o dispositivo. Faça isso por sua própria conta e risco e lembre-se de que um erro pode danificar uma unidade de seu computador pessoal!
Etapa 6: inicialização e teste
Inicialize o Raspberry Pi e execute as seguintes etapas para verificar se a imagem está funcionando corretamente:
- Faça login como root sem nenhuma senha
-
Se o connman estiver instalado, verifique se os serviços do systemd foram carregados:
systemctl status -l connman