GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

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

In diesem Artikel konzentrieren wir uns auf die Erstellung einer minimalen Linux-Distribution mithilfe des Yocto-Projekts auf der Ubuntu-Plattform. Das Yocto-Projekt ist in der Embedded-Linux-Welt wegen seiner Flexibilität und Benutzerfreundlichkeit sehr bekannt. Der Zweck des Yocto-Projekts ist es, eine Linux-Distribution für Hersteller von eingebetteter Hardware und Software zu erstellen. Eine neue minimale Linux-Distribution wird für qemu als Zielcomputer (qemu ist ein einfacher Softwareemulator) erstellt und wir werden sie in qemu ausführen.

Voraussetzungen für die Entwicklungsmaschine 

  • Mindestens 4–6 GB RAM.
  • Aktuelles Ubuntu-Betriebssystem (in diesem Fall 16.04 LTS).
  • Mindestens 60-80 GB freier Speicherplatz auf der Festplatte.
  • Installation der folgenden Pakete vor der Erstellung einer neuen Linux-Distribution.
  • Laden Sie den neuesten stabilen Zweig von Yocto (Poky, das eine minimale Entwicklungsumgebung ist) 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

Wie unten gezeigt, ist fast 1 GB Größe erforderlich, um die erforderlichen Entwicklungspakete zu installieren.

In diesem Tutorial wird die "sterbliche" stabile Version von poky auf das System geklont.

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

Gehen Sie in das "poky"-Verzeichnis 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 Open Embedded (oe)-Build-Umgebungsskripts der Pfad im Terminal in ein „Build“-Verzeichnis für die weitere Konfiguration und Kompilierung einer neuen Distribution geändert.

Der obige Screenshot zeigt, dass die Datei „local.conf“ im Verzeichnis „conf“ erstellt wird. Dies ist die Konfigurationsdatei für yocto, die Details zum Zielcomputer und SDK für die gewünschte Architektur usw. angibt.

Wie unten gezeigt, Zielmaschine „qemux86-64“ einstellen.

Entkommentieren Sie die folgenden Parameter in der Datei "local.conf", wie in den Screenshots gezeigt.

DL_DIR ?= "${TOPDIR}/downloads"

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

TMPDIR ?= "${TOPDIR}/tmp"

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

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

EXTRA_IMAGE_FEATURES ?= "debug-tweaks"

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

Yocto-Kompilierungs- und Erstellungsprozess

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

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

Führen Sie erneut das Skript zum Exportieren von Umgebungsvariablen (oe-init-build-env) aus und führen Sie denselben Befehl erneut aus, um den Download- und Kompilierungsprozess zu starten.

Wie unten gezeigt, besteht der erste Schritt des Build-Skript-Dienstprogramms darin, das Rezept zu parsen.

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 generiert wird.

Nach dem Herunterladen des SDK und der erforderlichen Bibliotheken besteht der nächste Schritt darin, die Pakete herunterzuladen und zu kompilieren. Der folgende Screenshot zeigt die Aufgabe für die neue Verteilung. Dieser Schritt dauert 2-3 Stunden, da zuerst die erforderlichen Pakete heruntergeladen und dann für die neue Linux-Distribution kompiliert werden.

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/qemux86-64“, wie unten gezeigt.

Wie unten gezeigt, erzeugt der obige Befehl einen Fehler, wenn er in Putty ausgeführt wird.

Der obige Befehl wird erneut im Terminal über rdp auf der Ubuntu-Plattform ausgeführt.

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

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

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


Der Zweck dieses Artikels besteht darin, das Verfahren zum Erstellen einer neuen Linux-Distribution mit yocto project zu verstehen.


Ubuntu
  1. Erstellen Sie Ihren eigenen Video-Streaming-Server mit Linux

  2. Schützen Sie Ihren Chat mit qTox unter Ubuntu Linux

  3. So erstellen Sie einen bootfähigen Ubuntu-USB-Stick unter Linux

  4. So überprüfen Sie Ihre Linux-Betriebssystemversion

  5. So schützen Sie Ihr Ubuntu-Linux-System mit SurfShark VPN

So erstellen Sie Linux-Betriebssystemvorlagen mit KVM unter Ubuntu 20.04

So erstellen Sie einen Sudo-Benutzer in Ubuntu Linux

So zeichnen Sie Ihren Bildschirm in Ubuntu mit SimpleScreenRecorder auf

So erstellen Sie Ihren eigenen IPsec-VPN-Server unter Linux

So betreiben Sie Ihren eigenen Git-Server mit GitlabHQ unter Ubuntu 14.04

So konfigurieren Sie die Firewall mit UFW unter Ubuntu Linux