
Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-23 15:03


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
Recomendado:
Distribuição de energia do Slot Car Digital: 9 etapas (com imagens)

Distribuição de energia do Slot Car Digital: Você já construiu para si mesmo um layout de slot car grande e descobriu que os carros simplesmente não parecem ter o mesmo desempenho? Ou você odeia quando suas corridas são interrompidas por carros que param por causa de juntas ruins? Este Instructable mostrará como ge
Como usar a distribuição T no Excel: 8 etapas

Como usar a distribuição T no Excel: Este guia fornece uma explicação simples e detalhamento de como usar a distribuição T no Excel. O guia explica como instalar o pacote de ferramentas de análise de dados e fornece a sintaxe do Excel para seis tipos de funções de distribuição T, a saber: T Dis
Monitoramento remoto de energia e sistema de distribuição de uma usina solar: 10 etapas

Sistema de monitoramento e distribuição remoto de energia de uma usina de energia solar: O objetivo deste projeto é monitorar e distribuir a energia nos sistemas de energia (sistemas de energia solar). O design deste sistema é explicado em resumo como segue. O sistema contém várias grades com aproximadamente 2 painéis solares em
Projeto de um PDB de alta potência (placa de distribuição de energia) para um Pixhawk: 5 etapas

Projeto de um PDB (placa de distribuição de energia) de alta potência para um Pixhawk: um PCB para alimentar todos eles! Atualmente, a maioria dos materiais necessários para construir um drone está disponível a baixo custo na Internet, por isso a ideia de fazer um PCB de desenvolvimento próprio não vale a pena, exceto em alguns casos em que você quer fazer algo estranho e
Lavatório de distribuição automática de água feito em casa usando Arduino: 4 etapas

Lavatório com dispensador automático de água feito em casa usando Arduino: O objetivo deste projeto é dispensar a água da torneira quando você estica a mão para lavar na pia sem sujar a torneira e desperdiçar água. A placa de código aberto Arduino - Nano é usada para fazer isso. Visite nosso site para obter o código-fonte C