Inhoudsopgave:
Video: GNU/Linux-distributie bouwen voor Raspberry Pi met behulp van het Yocto-project - Ajarnpa
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-13 06:57
Raspberry Pi is waarschijnlijk de meest populaire goedkope single board computer op de markt. Het wordt vaak gebruikt voor Internet of Things en andere embedded projecten. Verschillende GNU/Linux-distributies hebben uitstekende ondersteuning voor Raspberry Pi en er is zelfs Microsoft Windows voor Raspberry Pi 2.
Als je Internet of Things (IoT) wilt maken op basis van Raspberry Pi en als je het professioneel wilt doen, is het aan te raden om een embedded Linux-distributie te bouwen die precies past bij de behoeften van je apparaat. Om een Linux-distributie op Raspberry Pi op te starten, heb je een bootloader, Linux-kernel en verschillende applicaties in de gebruikersruimte nodig.
Een van de meest populaire manieren voor het bouwen van aangepaste embedded Linux-distributie is het gebruik van het Yocto Project. Yocto is een samenwerkingsproject van de Linux-stichting dat gebruikmaakt van het Openembedded-framework en de bitbake-build-engine. Poky is het referentiesysteem van het Yocto Project met een releasecyclus van zes maanden. Het biedt metagegevens verdeeld in lagen en recepten voor het bouwen van verschillende pakketten en afbeeldingen.
Deze tutorial biedt de exacte stappen voor het bouwen van een afbeelding met minimale GNU/Linux-distributie voor Raspberry Pi, inclusief systemd en connman.
Stap 1: Voorbereiden
Voor deze tutorial heb je nodig:
- Personal computer met GNU/Linux-distributie, bijvoorbeeld Ubuntu, waarop u de GNU/Linux-distributie voor Raspberry Pi gaat bouwen.
- Raspberry Pi
- microSD- of SD-kaart, afhankelijk van de versie van uw Raspberry Pi
- HDMI-kabel en een monitor
- USB-toetsenbord
- Stroomvoorziening
Installeer de vereiste pakketten op uw pc, afhankelijk van uw GNU/Linux-distributie: https://www.yoctoproject.org/docs/2.0/yocto-projec…Notes (door Yunus EmreI):
- U kunt geen afbeelding bakken als uw thuismap is gecodeerd, omdat er geen lange bestandsnamen zijn toegestaan
- De eerste build duurt erg lang als je een langzame verbinding hebt
- Terwijl u de afbeelding naar de SD-kaart flitst, moet u ervoor zorgen dat u de belangrijkste /dev/sdX selecteert, niet de /dev/sdXp1 of een andere variatie van het interne gedeelte
Stap 2: verkrijg de broncode
Voer de onderstaande acties uit op uw pc:
-
Clone Poky met Git (in dit geval download ik release Jethro (2.0) van het Yocto Project):
git clone -b jethro git://git.yoctoproject.org/poky
-
Ga naar map poky:
cd poky
-
Kloon meta-framboospi:
git clone -b jethro git://git.yoctoproject.org/meta-raspberrypi
Stap 3: Configureren
-
Initialiseer de build-omgeving
bron oe-init-build-env
-
Voeg meta-raspberrypi toe aan BBLAYERS in conf/bblayers.conf, daarna zou het vergelijkbaar moeten zijn (maar in jouw geval met verschillende paden) als:
BBLAYERS ?=
/home/leon/poky/meta / /home/leon/poky/meta-yocto / /home/leon/poky/meta-yocto-bsp / /home/leon/poky/meta-raspberrypi \"
-
Open conf/local.conf en verander MACHINE in raspberrypi, raspberrypi0, raspberrypi2 of raspberrypi3, afhankelijk van uw Raspberry Pi-model, bijvoorbeeld:
MACHINE?? = "raspberrypi2"
-
Voeg de volgende regel toe aan conf/local.conf om het GPU-geheugen in megabytes in te stellen:
GPU_MEM = "16"
-
Voeg eventueel de volgende regel toe aan conf/local.conf om System V te vervangen door systemd:
DISTRO_FEATURES_append = " systemd"
VIRTUAL-RUNTIME_init_manager = "systemd" DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit" VIRTUAL-RUNTIME_initscripts = ""
-
Voeg optioneel de volgende regel toe aan conf/local.conf om de opdrachtregel netwerkbeheerder connman in de afbeelding op te nemen:
IMAGE_INSTALL_append = " connman connman-client"
Stap 4: Bouw een afbeelding
-
Voer de volgende opdracht uit om een minimale afbeelding van een GNU/Linux-distributie voor je Raspberry Pi te bouwen:
bitbake rpi-basic-image
Houd er rekening mee dat de opbouw tot enkele uren kan duren, afhankelijk van de hardware van uw pc en de snelheid van de internetverbinding.
Stap 5: Flash SD-kaart
Wanneer de build is voltooid, bevindt de afbeelding zich op het volgende pad in uw buildmap: tmp/deploy/images/raspberrypi2/rpi-basic-image-raspberrypi2.rpi-sdimg.
Sluit een microSD-kaart aan op uw computer, vervang X door de bijbehorende ID (die u kunt vinden via opdrachten zoals lsblk of fdisk -l) en voer de volgende opdrachten uit om de afbeelding erop te flashen:
sudo umount /dev/sdX
sudo dd if=tmp/deploy/images/raspberrypi2/core-image-weston-raspberrypi2.rpi-sdimg of=/dev/sdX sync sudo umount /dev/sdX
Als alternatief kunt u desgewenst bmaptool gebruiken in plaats van dd.
Wees heel voorzichtig bij het flashen van de SD-kaart en zorg ervoor dat u de juiste letter gebruikt voor het pad naar het apparaat. Doe het op eigen risico en houd er rekening mee dat een fout een schijf op uw pc kan beschadigen!
Stap 6: opstarten en testen
Start Raspberry Pi op en voer de volgende stappen uit om te controleren of de afbeelding goed werkt:
- Log in als root zonder wachtwoord
-
Als connman is geïnstalleerd, controleer dan of de systemd-services zijn geladen:
systemctl status -l connman