Erstellen Sie ein Root-Dateisystem (rootfs) basierend auf Linux

1. Erforderliche Bedingungen

Entwicklungsumgebung: Ubuntu16.04
Entwicklungsplattform: f1c100s

2. Installieren Sie die Cross-Compilation-Kette

1. Erstellen Sie einen neuen Ordner: mkdir toolchain und geben Sie ein: cd toolchain

2. Laden Sie die Kompilierungskette herunter: wget https://releases.linaro.org/components/toolchain/binaries/7.2-2017.11/arm-linux-gnueabi/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi. tar .xz

Hinweis: Wenn ein entsprechendes Cross-Compiler-komprimiertes Paket vorhanden ist, kopieren Sie es einfach in das entsprechende Verzeichnis und dekomprimieren Sie es selbst.

3. Dekomprimieren: xz -d file.tar.xz Erneut dekomprimieren: tar -xvf file.tar

4. Kopieren Sie es in das entsprechende Verzeichnis (ich habe es in /usr/local/arm-gcc/ abgelegt, Sie können den Pfad entsprechend Ihren eigenen Bedürfnissen auswählen, Sie werden ihn später benötigen)

5. Öffnen Sie .bashrc: vim .bashrc und fügen Sie den bin-Dateipfad der Kompilierungskette hinzu (ähnlich wie beim Hinzufügen von Umgebungsvariablen unter Windows):
Fügen Sie am Ende der Datei den folgenden Inhalt hinzu

PATH="$PATH:/usr/local/arm-gcc/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi/bin/"

Dann speichern und beenden und schließlich die Umgebungsvariablen aktualisieren: Quelle .bashrc

3. Laden Sie das Buildroot-Codepaket herunter

1. Sie können das neueste Codepaket über den Link https://buildroot.org/download.html herunterladen (das Öffnen der Webseite ist sehr langsam, es sei denn, Sie können ... na ja, „Over the wall“).

4. Starten Sie buildroot, um das Root-Dateisystem zu erstellen

1) Kopieren Sie das heruntergeladene komprimierte Paket buildroot-2021.02.6.tar.gz nach Ubuntu, dekomprimieren Sie es und geben Sie das Verzeichnis buildroot-2021.02.6 ein (es wird empfohlen, ein neues Verzeichnis zu erstellen).

mkdir make_rootfs
tar -xzvf buildroot-2021.02.6.tar.gz 
cd buildroot-2021.02.6

5. Konfiguration des Dateisystems menuconfig

1) Rufen Sie die grafische Konfigurationsoberfläche auf

make menuconfig

Fügen Sie hier eine Bildbeschreibung ein

5.1.Zieloptionen —> Konfigurationsanweisungen

1) Da wir f1c100s verwenden und die CPU-Architektur ARM9 ist, müssen wir den Konfigurationsinhalt wie folgt ändern:

Fügen Sie hier eine Bildbeschreibung ein

5.2.Build-Optionen —> Konfigurationsanweisungen

Generierungsoptionen: Wählen Sie entsprechend Ihrer tatsächlichen Situation. Hier verwende ich direkt die Standardkonfiguration.
Fügen Sie hier eine Bildbeschreibung ein

5.3.Toolchain —> Konfigurationsanweisungen

Auswahl der Kompilierungs-Toolkette: Dies muss entsprechend Ihrer tatsächlichen Situation geändert werden. Insgesamt wurden hier 9 Orte geändert.

Fügen Sie hier eine Bildbeschreibung ein

1)Toolchain-Typ () —>
Der Standardwert ist Buildroot-Toolchain (interne Toolchain).
Fügen Sie hier eine Bildbeschreibung ein
Hier wählen wir Externe Toolchain (externe Toolchain)

Fügen Sie hier eine Bildbeschreibung ein

2)Toolchain () —>

Wählen Sie eine benutzerdefinierte Toolchain aus
Fügen Sie hier eine Bildbeschreibung ein

3)Toolchain-Ursprung () –>
Wählen Sie die Toolchain-Quelle aus. Standardmäßig wird Vorinstallierte Toolchain (vorinstallierte Toolchain) ausgewählt.
Fügen Sie hier eine Bildbeschreibung ein
4)Toolchain-Pfad ()

Pfad der Cross-Compilation-Toolchain
Suchen Sie den Pfad Ihrer eigenen Cross-Compilation-Toolchain und geben Sie ihn ein. Wenn Sie die Cross-Compilation-Kette oben installiert haben, kennen Sie den Pfad bereits: /usr/local/arm-gcc/gcc-linaro-7.2 .1-2017.11-x86_64_arm -linux-gnueabi
Fügen Sie hier eine Bildbeschreibung ein
5) ($(ARCH)-linux) Toolchain-Präfix ()

Konfigurieren Sie das Präfix der Cross-Compilation-Toolkette

Fügen Sie hier eine Bildbeschreibung ein

Meine Cross-Compilation-Toolkette ist: arm-linux-gnueabi, also füllen wir sie aus als: $(ARCH)-linux-gnueabi

6)Externe Toolchain-gcc-Version () –>
Wählen Sie die externe Cross-Compilation-Toolchain-Version aus

arm-linux-gnueabi-gcc -v

Fügen Sie hier eine Bildbeschreibung ein
Da wir uns auf Version 7.2.1 befinden, wählen Sie Version 7.x der externen Cross-Compilation-ToolketteFügen Sie hier eine Bildbeschreibung ein

7)Externe Toolchain-Kernel-Header-Serie () —>

Externe Tool-Chain-Kernel-Header-Serie. Hier geben wir das Cross-Compilation-Tool-Chain-Verzeichnis ein und suchen nach der Versionsinformationsdatei.

Der Pfad ist der, in dem wir gerade die Cross-Compilation-Toolkette installiert haben:

vim /usr/local/arm-gcc/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi/arm-linux-gnueabi/libc/usr/include/linux/version.h

Fügen Sie hier eine Bildbeschreibung ein
Die Konvertierung von 264707 in hexadezimal ist 40A03 und für dezimal ist es 4.10.3

Fügen Sie hier eine Bildbeschreibung ein

Hier wählen wir 4.10.X

Fügen Sie hier eine Bildbeschreibung ein
8)Externe Toolchain-C-Bibliothek () —>

Externe Toolchain-C-Bibliothek

Fügen Sie hier eine Bildbeschreibung ein

9) Die Toolkette unterstützt C++-Optionen

Fügen Sie hier eine Bildbeschreibung ein

5.4.Systemkonfiguration —> Konfigurationsanweisungen

Systemkonfiguration: Diese muss entsprechend Ihrer tatsächlichen Situation geändert werden. Ich habe hier 5 Stellen geändert.

Fügen Sie hier eine Bildbeschreibung ein
1) Ändern Sie den Systemhostnamen

Fügen Sie hier eine Bildbeschreibung ein
2) Ändern Sie die Anmeldeaufforderung

Fügen Sie hier eine Bildbeschreibung ein

3) Ändern Sie die Gerätemontagemethode

Fügen Sie hier eine Bildbeschreibung ein
4) Anmeldepasswort ändern

Hinweis: Der Standard-Anmeldekontoname ist root
Fügen Sie hier eine Bildbeschreibung ein

5) Ändern Sie die System-Login-Seriennummer

Fügen Sie hier eine Bildbeschreibung ein

Der TTY-Port wird hier so geändert, dass er die System-Login-Seriennummer Ihres eigenen Entwicklungsboards ist.
Fügen Sie hier eine Bildbeschreibung ein

Baudrate Ändern Sie die Baudrate der seriellen Schnittstelle
Fügen Sie hier eine Bildbeschreibung ein

5.5.Kernel —> Konfigurationsanweisungen

Kernel-Konfiguration: Wir müssen den Kernel hier nicht kompilieren, hier deaktivieren wir ihn

Fügen Sie hier eine Bildbeschreibung ein
Fügen Sie hier eine Bildbeschreibung ein

5.6.Zielpakete —> Konfigurationsanweisungen

Zielpaket: Dateisystempaket und Bibliotheksdatei-Installationspaket. Dies muss entsprechend Ihrer tatsächlichen Situation geändert werden. Hier verwende ich einfach die Standardkonfiguration.

Fügen Sie hier eine Bildbeschreibung ein
Fügen Sie hier eine Bildbeschreibung ein

5.7.Dateisystem-Images —> Konfigurationsanweisungen

Dateisystemspiegelung: Hier verwende ich direkt die Standardkonfiguration

Fügen Sie hier eine Bildbeschreibung ein
Fügen Sie hier eine Bildbeschreibung ein

5.8.Bootloader —> Konfigurationsanweisungen

System-Bootloader:

Fügen Sie hier eine Bildbeschreibung ein

Wir müssen U-Boot hier nicht kompilieren, wir deaktivieren U-Boot.
Fügen Sie hier eine Bildbeschreibung ein

Kümmere dich um nichts anderes.

6. Bestätigen und speichern Sie die Konfiguration

Fügen Sie hier eine Bildbeschreibung ein

7. Kompilieren

1) Führen Sie den Kompilierungsbefehl aus:

make

2) Beginnen Sie mit dem Kompilieren. Bei der ersten Kompilierung wird automatisch die exakte DL-Datei heruntergeladen. Der gesamte Vorgang wird einige Zeit dauern.

3) Nach der Kompilierung wird die Datei rootfs.tar in buildroot-2019.02.2/output/images generiert. Zu diesem Zeitpunkt ist die Buildroot-Kompilierung abgeschlossen.

Supongo que te gusta

Origin blog.csdn.net/qq_39721016/article/details/123876398
Recomendado
Clasificación