Linux lernen

So erstellen Sie Ihre eigene Linux-Distribution mit Yocto

So erstellen Sie Ihre eigene Linux-Distribution mit Yocto

Linux hat sich zu einem zuverlässigen Dienstprogramm zum Erstellen von Betriebssystemen für eingebettete Systeme entwickelt. Die Lernkurve für eingebettete Entwicklungsprogramme kann jedoch ziemlich herausfordernd sein. Viele Menschen, die diese komplexen Tools verwenden, haben viel Zeit damit verbracht, sie zu verstehen und zu beherrschen, und Yocto ist nicht anders. Damit können Sie eine benutzerdefinierte minimale Linux-Distribution für Ihr Embedded-System-Projekt entwickeln.

In diesem Beitrag erfahren Sie Schritt für Schritt, wie Sie mit Yocto beginnen, um eine minimale Linux-Distribution zu erstellen.

Das Yocto-Projekt

Yocto ist ein Open-Source-Kooperationsprojekt, das darauf abzielt, Tools, Vorlagen und Prozesse zu erstellen, die für die Entwicklung benutzerdefinierter Linux-basierter Systeme für eingebettete Systeme trotz der zugrunde liegenden Hardwarearchitektur erforderlich sind. Yocto wurde im März 2011 als Zusammenarbeit von 22 Organisationen ins Leben gerufen, darunter OpenEmbedded, das als Build-System fungiert.

Die Ausgabe des Yocto Project-Builds besteht aus drei Hauptkomponenten:

Warum verwenden wir nicht eine bestehende Distribution??

Anfangs verwendeten eingebettete Systeme handelsübliche Distributionen und versuchten, sie an ihre Bedürfnisse anzupassen. Dazu gehörte das Entfernen unnötiger Pakete zur Speicheroptimierung und zur Erhöhung der Sicherheit. Tote Software kann ein System anfällig für verschiedene Angriffsvektoren machen. Trotz dieser Vorteile stellte die Nutzung bestehender Distributionen mehrere Herausforderungen.

Einer davon ist, dass der gesamte Prozess des Zerlegens von Paketen nicht einfach war. Das Entfernen einiger Pakete kann Abhängigkeiten von verschiedenen anderen Paketen aufheben, die für Sie nützlich sein könnten. Darüber hinaus wurden einige Pakete in den Boot- und Laufzeitprozess integriert, was deren Entfernung mühsam machte.

Daher führte die bestehende Distribution oft zu unnötigen Verzögerungen oder einem System, das nicht alle erforderlichen Standards erfüllte.

Lass uns loslegen.

Erstellen Sie Ihre eigene Linux-Distribution mit Yocto

Schritt 1: Hardware- und Betriebssystemanforderungen

Wenn Sie ein macOS- oder Windows-Benutzer sind, verwenden Sie Virtualisierungssoftware wie VMware oder Virtualbox, um eine Linux-Distribution auszuführen. Alternativ können Sie sich für ein Multiboot entscheiden.

Schritt 2: Richten Sie den Host ein

Lassen Sie zuerst die erforderlichen Abhängigkeiten in unserem Hostsystem installieren. Für diesen Beitrag verwende ich die Ubuntu-Distribution. Wenn Sie eine andere Distribution betreiben, lesen Sie bitte die Yocto Project Quick Start-Anleitung und sehen Sie sich an, welche Abhängigkeiten installiert werden müssen.

Starten Sie das Terminal und führen Sie die folgenden Befehle aus:

sudo apt update sudo apt-get install wget git-core entpacken machen 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

Schritt 3: Klonen Sie den Yocto Poky

Wenn die Abhängigkeiten installiert sind, können wir mit dem Herunterladen von Yocto . fortfahren. Wir werden das Yocto-Repository von der Yocto Project-Website klonen. Führen Sie den folgenden Befehl aus, um die neueste Version herunterzuladen (der „sumo“ -Zweig). Wir werden ein Verzeichnis im Home-Ordner erstellen, um unser Yocto-Projekt für einfachen Zugriff und Konsistenz zu erstellen.

mkdir ~/yocto mkdir ~/yocto/Project-One/ cd ~/Yocto/Project-One/ git clone -b sumo git://git.yoctoproject.org/poky.git

Klon Yocto

Wenn Sie einen Fehler wie „git-Befehl nicht gefunden.“ Das bedeutet, dass Sie kein Git in Ihrem System installiert haben. Führen Sie den folgenden Befehl aus, um es zu installieren.

sudo apt installieren git

Schritt 4: Initialisieren Sie die gebaute Umgebung.

Um mit Yocto zu beginnen, müssen wir die "Build-Umgebung" initialisieren.' Führe die Befehle unten aus. Der erste ändert das Verzeichnis in den Ordner, den wir gerade geklont haben. Der zweite Befehl initialisiert die 'Build-Umgebung.'

cd ~/Yocto/Project-One/poky source oe-init-build-env build

Sobald die Initialisierung abgeschlossen ist, haben wir ein Build-Verzeichnis und eine Konfigurationsdatei. Das Build-Verzeichnis ist der Ort, an dem der gesamte Systemaufbau stattfindet und die Bilddateien nach Abschluss des Prozesses hostet. Tatsächlich zeigt das Terminal nach der Initialisierung automatisch auf den Build-Ordner. Das sieht man oben im Bild.

Schritt 5: Konfigurieren

Wenn Sie einen ls-Befehl im /build-Verzeichnis ausführen, sehen Sie einen /conf-Ordner, der alle unsere Konfigurationsdateien enthält. Navigieren Sie mit dem folgenden Befehl in diesen Ordner:

$ cd ~/Yocto/Project-One/poky/build/conf/ $ ls

Konfigurationsdateien

Wenn Sie den Befehl ls im Ordner conf ausführen, sollten Sie das lokale.conf-Datei. Diese Datei gibt die Details des Zielcomputers und des SDK für die gewünschte Zielarchitektur an.

Öffnen Sie diese Datei zum Bearbeiten mit dem folgenden Befehl:

$ sudo nano local.conf

In der Abbildung unten ist die Ziel-Build-Maschine „qemux86-64“.”

Zielmaschine

Fahren Sie nun mit dem Entkommentieren der folgenden Zeilen fort, wie in der Abbildung unten gezeigt. (Mit Entkommentieren meinen wir -entferne das '#'-Zeichen)

DL_DIR ?= "$TOPDIR/Downloads" SSTATE_DIR ?= "$TOPDIR/sstate-cache" TMPDIR ?= "$TOPDIR/tmp" PACKAGE_CLASSES ?= "package_rpm" SDKMACHINE ?= "i686" EXTRA_IMAGE_FEATURES ?= "debug-tweaks"

entkommentieren Parameter

Bevor wir mit dem Kompilieren fortfahren, fügen Sie die folgenden Zeilen am Ende des 'local'.conf'-Datei.

BB_NUMBER_THREADS = "X" PARALLEL_MAKE = "-j X"

Ersetzen 'X' mit der doppelten Anzahl von Prozessoren/CPU in Ihrem Computer. Wenn Sie also über vier Prozessoren verfügen, erhalten Sie Aussagen wie diese: BB_NUMBER_THREADS = „8“ PARALLEL_MAKE = „-j 8“

Konfigurationen hinzufügen

Um die Anzahl der CPUs in Ihrem Computer anzuzeigen, führen Sie den folgenden Befehl aus:

lscpu

Schritt 5: Kompilierungs- und Erstellungsprozess

Um mit dem Erstellen des Images zu beginnen, führen Sie den folgenden Befehl in Ihrem /build-Verzeichnis aus.

bitbake core-image-sato

Erstellen Sie eine benutzerdefinierte Linux-Distribution

Das beginnt mit dem Herunterladen und Kompilieren von Paketen für das Zielsystem. Bitte führen Sie den obigen bitbake-Befehl nicht mit Root-Rechten aus, da dies einen Fehler auslöst. Bei einem erstmaligen Build kann der Vorgang bis zu mehreren Stunden dauern (sogar mehr als 2). Manchmal kann bei Bitbake ein Fehler auftreten. Keine Panik; führe den obigen Befehl erneut aus. Der Fehler kann darauf zurückzuführen sein, dass eine bestimmte Website ausfällt oder eine Ressource fehlt.

Die resultierenden Binärimages werden im Verzeichnis /build unter poky/build/tmp/deploy/images/qemux86 gespeichert.

Fazit

Obwohl Yocto in einer einzigen Sitzung ziemlich schwer zu meistern sein kann, ist es ein großartiges Dienstprogramm, um mit der Erstellung einer benutzerdefinierten Linux-Distribution für Ihr Projekt zu beginnen. Ich hoffe, dieser Beitrag hat Ihnen eine detaillierte Anleitung gegeben, wie Sie mit dem gesamten Prozess der Erstellung einer benutzerdefinierten Linux-Distribution beginnen können.

So installieren Sie League of Legends auf Ubuntu 14.04
Wenn Sie ein Fan von League of Legends sind, dann ist dies eine Gelegenheit für Sie, League of Legends zu testen. Beachten Sie, dass LOL von PlayOnLin...
Installieren Sie das neueste OpenRA-Strategiespiel auf Ubuntu Linux
OpenRA ist eine Libre/Free Real Time Strategy Game Engine, die die frühen Westwood-Spiele wie den Klassiker Command & Conquer: Red Alert Red nachbilde...
Installieren Sie den neuesten Dolphin Emulator für Gamecube & Wii unter Linux
Mit dem Dolphin Emulator können Sie Ihre ausgewählten Gamecube- und Wii-Spiele auf Linux-Personalcomputern (PC) spielen. Als frei verfügbarer Open-So...