So erstellen Sie Ihre eigene Linux-Distribution mit Yocto auf Ubuntu

In diesem Artikel liegt unser Fokus auf der Erstellung einer minimalen Linux-Distribution mit dem Yocto-Projekt auf der Ubuntu-Plattform. Das Yocto-Projekt ist in der Embedded-Linux-Welt wegen seiner Flexibilität und Benutzerfreundlichkeit sehr bekannt und hat zum Ziel, eine Linux-Distribution für Hersteller von embedded Hard- und Software zu schaffen. Eine neue minimale Linux-Distribution wird für qemu als (qemu ist ein Basis-Software-Emulator) Zielmaschine erstellt und wir werden sie in qemu ausführen.

Voraussetzungen für die Entwicklungsmaschine

  • Mindestens 4 – 6 GB RAM.
  • Neuestes Ubuntu OS (16.04 LTS in diesem Fall).
  • Mindestens 60-80 GB freier Speicherplatz auf der Festplatte.
  • Installation der folgenden Pakete vor der Erstellung einer neuen Linux-Distribution.
  • Laden Sie die neueste Yocto (Poky, das ist eine minimale Entwicklungsumgebung) stabile Niederlassung herunter.
apt-get update
apt-get install wget git-core unzip make gcc g++ build-essential subversion sed autoconf automake texi2html texinfo coreutils diffstat python-pysqlite2 docbook-utils libsdl1.2-dev libxml-parser-perl libgl1-mesa-dev libglu1-mesa-dev xsltproc desktop-file-utils chrpath groff libtool xterm gawk fop

Installationsvoraussetzungen für Yocto

Wie unten gezeigt, wird für die Installation der erforderlichen Entwicklungspakete fast 1 GB Größe benötigt.

Installation der Entwicklungspakete

In diesem Tutorial wird die „morty“ stabile Version von poky auf dem System geklont.

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

install poky

Gehen Sie in das Verzeichnis „poky“ und führen Sie den folgenden Befehl aus, um einige Variablen für die Yocto-Entwicklung zu setzen/exportieren.

source oe-init-build-env

Wie unten gezeigt, wird nach dem Ausführen des offenen eingebetteten (oe) Build Environment Skripts der Pfadort im Terminal in ein „build“-Verzeichnis für die weitere Konfiguration und Kompilierung der neuen Distribution geändert.

Vorbereitung der OE-Buildumgebung

Der obige Screenshot zeigt, dass die Datei „local.conf“ im Verzeichnis „conf“ erstellt wird. Dies ist die Konfigurationsdatei für yocto, die Details des Zielcomputers und des SDK für die gewünschte Architektur etc. spezifiziert.

Wie unten gezeigt, Einstellung des Zielrechners „qemux86-64“.

Stellen Sie den Typ des Zielcomputers ein.

Entkommentieren Sie folgende Parameter in der Datei „local.conf“, wie in den Screenshots gezeigt.

DL_DIR ?= "${TOPDIR}/downloads"

Lokale.conf-Datei konfigurieren

SSTATE_DIR ?= "${TOPDIR}/sstate-cache"

SSTATE_DIR setzen

TMPDIR ?= "${TOPDIR}/tmp"

TMPDIR einstellen

PACKAGE_CLASSES ?= "package_rpm"
SDKMACHINE ?= "i686"

PACKAGE_CLASSES und SDKMACHINE einstellen

Wie unten gezeigt, setzen Sie ein leeres Passwort für das Yocto-basierte Linux und fügen Sie die folgenden Parameter in die local.conf-Datei ein. Andernfalls kann sich der Benutzer nicht in der neuen Distribution anmelden.

EXTRA_IMAGE_FEATURES ?= "debug-tweaks"

Debug-Tweaks-Option einstellen

Wir verwenden kein GUI-Tool wie Toaster (Kochfeld wird nicht mehr unterstützt), um Linux OS zu erstellen.

Yocto Zusammenstellung und Aufbau Prozess

Führen Sie nun den folgenden Befehl des Bitbake-Dienstprogramms aus, um den Download und die Kompilierung von Paketen für den ausgewählten Zielcomputer zu starten.

bitbake core-image-minimal

Start bitbake

Es ist wichtig, den obigen Befehl als normalen Linux-Benutzer und nicht als Root-Benutzer auszuführen. Wie im folgenden Screenshot gezeigt, wird ein Fehler erzeugt, wenn Sie den Bitbake-Befehl als root-Benutzer ausführen.

Führen Sie Bitbake nicht als root aus.

Führen Sie erneut den Export des Skripts für Umgebungsvariablen (oe-init-build-env) aus und führen Sie den gleichen Befehl erneut aus, um den Download- und Kompilierungsprozess zu starten.

Wiederholungsbefehle

Wie unten gezeigt, ist der erste Schritt des Build-Skript-Dienstprogramms, das Rezept zu analysieren.

Analysieren der Build-Rezepte

Der folgende Screenshot zeigt den Abschluss des Parsing-Schritts des Build-Skripts. Es zeigt auch die Details des Build-Systems, auf dem die neue Yocto-basierte Distribution erzeugt wird.

Erlöse aus dem Bau

Nach dem Herunterladen des SDK und der notwendigen Bibliotheken ist der nächste Schritt das Herunterladen und Kompilieren der Pakete. Der folgende Screenshot zeigt die Aufgabe für die neue Verteilung. Dieser Schritt dauert 2-3 Stunden, da er zuerst die benötigten Pakete herunterlädt und dann für die neue Linux-Distribution kompiliert.

Die Zusammenstellung dauert mehrere Stunden.

Der folgende Screenshot zeigt die Fertigstellung der Aufgabenliste.

Die kompilierten neuen Images für den Zielmaschinentyp „qemux86-64“ befinden sich im Pfad „build/tmp/deploy/images/images/qemux86-64“, wie unten gezeigt.

Komplettes Build

Wie unten gezeigt, führt der obige Befehl zu einem Fehler, wenn er im Putty ausgeführt wird.

Befehlsfehler im Putty

Der obige Befehl wird erneut innerhalb des Terminals über rdp auf der Ubuntu-Plattform ausgeführt.

Befehl funktioniert einwandfrei in rdp

Ein weiterer Bildschirm für den qemu-Emulator für die neue yocto-basierte Linux-Distribution wird geöffnet.

Open Quemu emulator

Der Anmeldebildschirm der neuen Distribution ist unten dargestellt, der auch die Referenzversion des Yocto-Projekts zeigt. Der Standardbenutzername ist root und ein leeres Passwort.

Linux-Distribution gestartet

Melden Sie sich schließlich in der neuen Distribution mit root-Benutzername und leerem Passwort an. Wie im folgenden Screenshot gezeigt, werden grundlegende Befehle (date, ifconfig und uname) in der Minimalversion von Linux ausgeführt.

Testen Sie die Linux-Distribution

Der Zweck dieses Artikels ist es, die Vorgehensweise bei der Erstellung einer neuen Linux-Distribution mit dem yocto-Projekt zu verstehen.

Das könnte Dich auch interessieren …