Yocto DevTool

Startseite » Yocto DevTool

Yocto DevTool

devtool

Ein Kommandozeilenprogramm namens DevTool dient als Grundlage für das erweiterbare SDK. Mithilfe dieses Tools können Sie Software mit dem erweiterbaren SDK erstellen, testen und verpacken und, wenn Sie wollen, in ein Image integrieren, das vom OpenEmbedded-Build-System erstellt wurde.

Die DevTool-Befehlszeile hat eine Reihe von Unterbefehlen für jede Funktion, ähnlich wie Git strukturiert ist. Devtool Hilfe: kann verwendet werden, um alle verfügbaren Befehle anzuzeigen.

  • devtool add: Hilft beim Hinzufügen neuer zu erstellender Software.
  • devtool modify: Richtet eine Umgebung ein, die es Ihnen ermöglicht, den Quellcode einer vorhandenen Komponente zu ändern.
  • devtool upgrade: Aktualisiert ein bestehendes Rezept, sodass Sie es für einen aktualisierten Satz von Quelldateien erstellen können.

Das Yocto Framework erzeugt ein Verzeichnis namens tmp/work/architecture>/recipe>/version>, wenn Sie den Befehl „Bitbake " verwenden, um ein bestimmtes Rezept zu erstellen. Auch bekannt als das „Arbeits"-Verzeichnis. Yocto führt alle seine Vorgänge in diesem Verzeichnis aus, einschließlich der Beschaffung, Konfiguration, Erstellung und Verpackung des Quellcodes.

Yocto bietet das „DevTool"-Werkzeug an, das es uns ermöglicht, den Quellcode eines bestimmten Rezepts zu bearbeiten und einen Patch und eine bbappend-Datei für uns zu erzeugen.

Ohne sie ist das Hinzufügen von Anpassungen komplizierter und fehleranfälliger, da wir im Grunde eine Quelldatei öffnen und unsere Anpassungen hinzufügen und sie dann mit Bitbake neu kompilieren - dies ist nicht der beste Ansatz in Yocto, um Anpassungen vorzunehmen, da die Änderungen leicht verloren gehen können.

Wie man DevTools für die Anpassung verwendet:

1. Führen Sie den Befehl „devtool modify recipename " aus, in unserem Fall ist es „devtool modify wifi-test-suite". Dieser Befehl holt die Quellen und entpackt sie in dem Verzeichnis „build/workspace/sources/recipename".

				
					Initialising tasks: 100% |##############################################################################################################################################################################################################################| Time: 0:00:00
Sstate summary: Wanted 0 Found 0 Missed 0 Current 10 (0% match, 100% complete)
NOTE: Executing Tasks
NOTE: Setscene tasks completed
NOTE: Tasks Summary: Attempted 83 tasks of which 80 didn't need to be rerun and all succeeded.
INFO: Source tree extracted to /home/emr/Work/builddir/workspace/sources/wifi-test-suite
INFO: Using source tree as build directory since that would be the default for this recipe
INFO: Recipe wifi-test-suite now set up to build from /home/emr/Work/builddir/workspace/sources/wifi-test-suite
				
			

2. Nehmen Sie die Änderungen an Ihrem Quellcode vor

				
					diff --git a/dut/wfa_dut.c b/dut/wfa_dut.c
index ae5b9b1..bdb7ffe 100644
--- a/dut/wfa_dut.c
+++ b/dut/wfa_dut.c
@@ -25,7 +25,7 @@
  *       reference the architecture documents.
  *
  */
-
+//This is a test comment
 #include <pthread.h>
 #include <signal.h>
 #include <time.h>
				
			

3. Erstellen Sie das Rezept mit dem Befehl „Bitbake recipename", um Ihre Änderungen zu überprüfen/zu testen.

				
					Initialising tasks: 100% |##############################################################################################################################################################################################################################| Time: 0:00:01
Checking sstate mirror object availability: 100% |######################################################################################################################################################################################################| Time: 0:00:00
Sstate summary: Wanted 13 Found 0 Missed 13 Current 454 (0% match, 97% complete)
NOTE: Executing Tasks
NOTE: Setscene tasks completed
NOTE: wifi-test-suite: compiling from external source tree /home/emr/Work/builddir/workspace/sources/wifi-test-suite
NOTE: Tasks Summary: Attempted 1920 tasks of which 1877 didn't need to be rerun and all succeeded.

Summary: There were 4 WARNING messages shown.
				
			

4. Testen Sie Ihre Änderungen auf dem Ziel, wenn Sie möchten. Es gibt einen „devtool deploy-target"-Befehl, der die bei der Installation installierten Dateien auf den Zielrechner kopiert, vorausgesetzt, der Zielrechner hat Netzwerkzugang und alle erforderlichen Abhängigkeiten sind bereits im Image enthalten

5. Wechseln Sie nach Ihren Änderungen in den Quellordner und bestätigen Sie Ihre Änderungen.

				
					git add -u
git commit -m "Making a test comment"
[devtool 90db77a] Making a test comment
 1 file changed, 1 insertion(+), 1 deletion(-)
				
			

6. Führen Sie nun den Befehl „devtool update-recipe recipename -a 'Pfad zu Ihrer Schicht'" aus, der ein bbappend und einen Patch der von Ihnen vorgenommenen Änderungen erstellt.

				
					devtool update-recipe wifi-test-suite -a /home/emr/Work/sources/meta-openembedded/meta-oe/
NOTE: Starting bitbake server...
NOTE: Reconnecting to bitbake server...
NOTE: Retrying server connection (#1)...
NOTE: Reconnecting to bitbake server...
NOTE: Previous bitbake instance shutting down?, waiting to retry...
NOTE: Retrying server connection (#2)...
Loading cache: 100% |###################################################################################################################################################################################################################################| Time: 0:00:00
Loaded 4545 entries from dependency cache.
Parsing recipes: 100% |#################################################################################################################################################################################################################################| Time: 0:00:01
Parsing of 3139 .bb files complete (3128 cached, 11 parsed). 4555 targets, 245 skipped, 172 masked, 0 errors.

Summary: There were 3 WARNING messages shown.
NOTE: Writing append file /home/emr/Work/sources/meta-openembedded/meta-oe/recipes-connectivity/wifi-test-suite/wifi-test-suite_git.bbappend
NOTE: Copying 0001-Making-a-test-comment.patch to /home/emr/Work/sources/meta-openembedded/meta-oe/recipes-connectivity/wifi-test-suite/wifi-test-suite/0001-Making-a-test-comment.patch
				
			

7. Wenn Sie mit der Arbeit am Rezept fertig sind, führen Sie ein reset recipename durch

				
					devtool reset wifi-test-suite
NOTE: Starting bitbake server...
INFO: Cleaning sysroot for recipe wifi-test-suite...
				
			

Weitere Artikel anschauen:

QEMU development during Global Chip Shortage

QEMU-Entwicklung

In Anbetracht der aktuellen Entwicklungen auf dem Weltmarkt, insbesondere der weltweiten Chip-Knappheit, gibt es einige Probleme, die bei

Read More »
outsourcing

Vorteile des Outsourcings

Heutzutage verfügen die meisten eingebetteten Systeme über in Software implementierte Funktionalitäten.Die Verwendung von eingebetteter Software durch Elektronikhersteller zur Erweiterung der Funktionalität, Verbesserung der Qualität und Wiederverwendbarkeit

Read More »

Proc-Dateisystem in Linux

Das Proc-Dateisystem ist eines der am häufigsten verwendeten simulierten Dateisysteme des Linux-Betriebssystems. Wenn das System neu gestartet wird, wird dieses Dateisystem

Read More »

OpenRC

OpenRC ist ein abhängigkeitsbasiertes Init-System, das für die Arbeit mit Unix-ähnlichen Betriebssystemen entwickelt wurde. Es hält die Kompatibilität mit dem vom System bereitgestellten Init-System aufrecht, das

Read More »

Yocto-Projekt

Das Yocto-Projekt ist ein Open-Source-Community-Projekt, das Entwicklern hilft, angepasste Systeme auf der Basis von Linux zu erstellen. Es verfügt über ein zugängliches Toolset, das

Read More »

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website ist durch reCAPTCHA geschützt und es gelten die Datenschutzbestimmungen und Nutzungsbedingungen von Google