Inhaltsverzeichnis:

GNU/Linux-Distribution für Raspberry Pi mit dem Yocto-Projekt erstellen - Gunook
GNU/Linux-Distribution für Raspberry Pi mit dem Yocto-Projekt erstellen - Gunook

Video: GNU/Linux-Distribution für Raspberry Pi mit dem Yocto-Projekt erstellen - Gunook

Video: GNU/Linux-Distribution für Raspberry Pi mit dem Yocto-Projekt erstellen - Gunook
Video: Building embedded GNU/Linux distribution for Raspberry Pi using the Yocto Project 2024, November
Anonim
Image
Image

Raspberry Pi ist wahrscheinlich der beliebteste Low-Cost-Single-Board-Computer auf dem Markt. Es wird häufig für das Internet der Dinge und andere eingebettete Projekte verwendet. Mehrere GNU/Linux-Distributionen bieten hervorragende Unterstützung für Raspberry Pi und es gibt sogar Microsoft Windows für Raspberry Pi 2.

Wenn Sie Internet of Things (IoT) auf Basis von Raspberry Pi erstellen möchten und dies professionell tun möchten, empfiehlt es sich, eine Embedded-Linux-Distribution zu bauen, die genau auf die Bedürfnisse Ihres Geräts zugeschnitten ist. Um eine Linux-Distribution auf Raspberry Pi zu booten, benötigt man einen Bootloader, Linux-Kernel und diverse Anwendungen im Userspace.

Eine der beliebtesten Methoden zum Erstellen einer benutzerdefinierten Embedded-Linux-Distribution ist die Verwendung des Yocto-Projekts. Yocto ist ein Gemeinschaftsprojekt der Linux Foundation, das das Openembedded-Framework und die Bitbake-Build-Engine verwendet. Poky ist das Referenzsystem des Yocto-Projekts mit einem sechsmonatigen Release-Zyklus. Es bietet Metadaten, die in Schichten und Rezepte unterteilt sind, um verschiedene Pakete und Bilder zu erstellen.

Dieses Tutorial enthält die genauen Schritte zum Erstellen eines Images mit minimaler GNU/Linux-Distribution für Raspberry Pi, einschließlich systemd und connman.

Schritt 1: Vorbereitungen

Holen Sie sich den Quellcode
Holen Sie sich den Quellcode

Für dieses Tutorial benötigen Sie:

  • Personal Computer mit GNU/Linux-Distribution, zum Beispiel Ubuntu, auf dem Sie die GNU/Linux-Distribution für Raspberry Pi aufbauen.
  • Himbeer-Pi
  • microSD- oder SD-Karte je nach Version Ihres Raspberry Pi
  • HDMI-Kabel und ein Monitor
  • USB-Tastatur
  • Energieversorgung

Installieren Sie die erforderlichen Pakete je nach Ihrer GNU/Linux-Distribution auf Ihrem PC: https://www.yoctoproject.org/docs/2.0/yocto-projec…Notes (von Yunus EmreI):

  • Sie können kein Image backen, wenn Ihr Home-Verzeichnis verschlüsselt ist, da es keine langen Dateinamen zulässt
  • Der anfängliche Build dauert sehr lange, wenn Sie eine langsame Verbindung haben
  • Stellen Sie beim Flashen des Images auf die SD-Karte sicher, dass Sie das Hauptverzeichnis /dev/sdX auswählen, nicht das /dev/sdXp1 oder eine andere Variation des internen Teils

Schritt 2: Holen Sie sich den Quellcode

Führen Sie die folgenden Aktionen auf Ihrem PC aus:

  • Klonen Sie Poky mit Git (in diesem Fall lade ich die Version Jethro (2.0) des Yocto-Projekts herunter):

    git clone -b jethro git://git.yoctoproject.org/poky

  • Gehen Sie zum Verzeichnis poky:

    CD-Spieler

  • Meta-Himbeerpi klonen:

    git clone -b jethro git://git.yoctoproject.org/meta-raspberrypi

Schritt 3: Konfigurieren

Konfigurieren
Konfigurieren
  • Initialisieren Sie die Build-Umgebung

    Quelle oe-init-build-env

  • Fügen Sie meta-raspberrypi zu BBLAYERS in conf/bblayers.conf hinzu, danach sollte es ähnlich sein (aber in Ihrem Fall mit anderen Pfaden):

    BBLAYER ?=

    /home/leon/poky/meta / /home/leon/poky/meta-yocto / /home/leon/poky/meta-yocto-bsp / /home/leon/poky/meta-raspberrypi \"

  • Öffnen Sie conf/local.conf und ändern Sie MACHINE in raspberrypi, raspberrypi0, raspberrypi2 oder raspberrypi3, abhängig von Ihrem Raspberry Pi-Modell, zum Beispiel:

    MASCHINE ??= "raspberrypi2"

  • Hängen Sie die folgende Zeile an conf/local.conf an, um den GPU-Speicher in Megabyte festzulegen:

    GPU_MEM = "16"

  • Fügen Sie optional die folgende Zeile an conf/local.conf an, um System V durch systemd zu ersetzen:

    DISTRO_FEATURES_append = "systemd"

    VIRTUAL-RUNTIME_init_manager = "systemd" DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit" VIRTUAL-RUNTIME_initscripts = ""

  • Fügen Sie optional die folgende Zeile an conf/local.conf an, um den Befehlszeilen-Netzwerkmanager connman in das Image einzuschließen:

    IMAGE_INSTALL_append = " connman connman-client"

Schritt 4: Erstellen Sie ein Image

Erstellen Sie ein Image
Erstellen Sie ein Image
  • Führen Sie den folgenden Befehl aus, um ein minimales Image einer GNU/Linux-Distribution für Ihren Raspberry Pi zu erstellen:

    bitbake rpi-basic-image

Bitte beachten Sie, dass der Build je nach Hardware Ihres PCs und der Geschwindigkeit der Internetverbindung bis zu mehreren Stunden dauern kann.

Schritt 5: Flash-SD-Karte

Wenn der Build abgeschlossen ist, befindet sich das Image unter folgendem Pfad in Ihrem Build-Verzeichnis: tmp/deploy/images/raspberrypi2/rpi-basic-image-raspberrypi2.rpi-sdimg.

Stecken Sie eine microSD-Karte in Ihren Computer, ersetzen Sie X durch die entsprechende ID (die über Befehle wie lsblk oder fdisk -l gefunden werden kann) und führen Sie die folgenden Befehle aus, um das Image darauf zu 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

Alternativ können Sie auch bmaptool anstelle von dd verwenden.

Seien Sie beim Flashen der SD-Karte sehr vorsichtig und stellen Sie sicher, dass Sie den richtigen Buchstaben für den Pfad zum Gerät verwenden. Tun Sie dies auf eigene Gefahr und denken Sie daran, dass ein Fehler ein Laufwerk auf Ihrem PC beschädigen kann!

Schritt 6: Booten und testen

Starten Sie Raspberry Pi und führen Sie die folgenden Schritte aus, um zu überprüfen, ob das Image erfolgreich funktioniert:

  • Melden Sie sich als root ohne Passwort an
  • Wenn connman installiert ist, überprüfen Sie, ob die systemd-Dienste geladen wurden:

    systemctl status -l connman

Empfohlen: