Inhoudsopgave:

GNU/Linux-distributie bouwen voor Raspberry Pi met behulp van het Yocto-project - Ajarnpa
GNU/Linux-distributie bouwen voor Raspberry Pi met behulp van het Yocto-project - Ajarnpa

Video: GNU/Linux-distributie bouwen voor Raspberry Pi met behulp van het Yocto-project - Ajarnpa

Video: GNU/Linux-distributie bouwen voor Raspberry Pi met behulp van het Yocto-project - Ajarnpa
Video: Linux: Working with Processes (applies also to Raspberry Pi and Unix) 2024, November
Anonim
Image
Image

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

De broncode ophalen
De broncode ophalen

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

Configureren
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

Bouw een afbeelding
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

Aanbevolen: