[LINUX] So passen Sie U-Boot mit einer benutzerdefinierten Karte für OSD335X an (Hinweis)

Geschichte bis zum letzten Mal

Bis OSD335X U-Boot auf einer benutzerdefinierten Karte ausführt (Hinweis) https://qiita.com/nonNoise/items/ef6702fd666421bd5688

Diese Geschichte

Jetzt, da ich sehen kann, wie U-Boot funktioniert, lassen Sie uns darüber sprechen.

Wichtige Befehle, die im vorherigen Vortrag erwähnt wurden

Wenden Sie einen Patch auf U-Boot an

wget -c https://rcn-ee.com/repos/git/u-boot-patches/v2018.01/0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch wget -c https://rcn-ee.com/repos/git/u-boot-patches/v2018.01/0002-U-Boot-BeagleBone-Cape-Manager.patch wget -c https://raw.githubusercontent.com/RobertCNelson/Bootloader-Builder/master/patches/v2018.03-rc1/0002-NFM-Production-eeprom-assume-device-is-BeagleBone-Bl.patch

patch -p1 < 0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch patch -p1 < 0002-U-Boot-BeagleBone-Cape-Manager.patch patch -p1 < 0002-NFM-Production-eeprom-assume-device-is-BeagleBone-Bl.patch

U-Boot-Patch

Ich habe nach U-Boot-Patches gesucht. Ich möchte U-Boot für das Original-Board anpassen. Zuerst habe ich mir angesehen, was Pach überhaupt gemacht hat. Ich habe nach der Quelle gesucht und gedacht, dass es sich um kompilierten Inhalt handelt, aber ich kann ihn nicht finden. Ich habe es vor dem Kompilieren gepatcht ... vielleicht ... image.png

Die Patch-Datei war normalerweise eine Datei, die Git-Diff-Informationen enthielt. Ich sehe, es gab einen Patch-Befehl. Wenn Sie also glauben, dass es einen Mechanismus gibt, ist es ein solcher Mechanismus? In diesem Fall frage ich mich, ob ich meinen eigenen Patch erstellen kann, indem ich den Unterschied zwischen den Patches erfasse, die Quelle des U-Boot-Hauptgeräts neu schreibe und den Unterschied als Patch verwende. Ich verstehe, ich wusste es nicht.

Über jeden Patch

Wenn Sie sich die Diff-Informationen von git ansehen, ist es praktisch, auf einen Blick zu wissen, mit welcher Datei Sie gespielt haben

◎ 0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch

image.png

◎ 0002-U-Boot-BeagleBone-Cape-Manager.patch

image.png

◎ 0002-NFM-Production-eeprom-assume-device-is-BeagleBone-Bl.patch

image.png

Patch Erwartungen

Beim Betrachten von Diff stellte ich fest, dass dieselbe Datei von verschiedenen Patches verarbeitet wurde. Daher dachte ich, dass ein Konflikt in der Reihenfolge zu Konflikten führen würde.

Vorerst eins nach dem anderen

◎ 0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch

Es ist der erste Patch, der angewendet wird. am335x_pocketbeagle_defconfig wurde am meisten geändert. Dies ist ein Block von U-Boot / configs, und es scheint, dass welche Funktion auf y / n gesetzt ist.

◎ 0002-U-Boot-BeagleBone-Cape-Manager.patch

Der nächste Patch, der angewendet werden soll. board / ti / am335x / board.c hat sich am meisten verändert. Ich habe das Gefühl, dass ich hier einen Patch auf das Board bringe. Insbesondere BeagleBone-Cape, ein etwas neueres Board in BeagleBone https://github.com/u-boot/u-boot/tree/master/board/ti/am335x

◎ 0002-NFM-Production-eeprom-assume-device-is-BeagleBone-Bl.patch

Der letzte Patch, den ich angewendet habe. board / ti / common / board_detect.c hat sich am meisten verändert. Da es üblich ist, habe ich das Gefühl, dass es die kartenspezifische Schnittstelle (externe Erweiterungsfunktion) modifiziert. https://github.com/u-boot/u-boot/tree/master/board/ti/common

Wo soll ich denn spielen?

weiß nicht. Schließlich denke ich, es geht darum, die grundlegende U-Boot-Quelle zu betrachten, dann die Unterschiede zwischen den drei Arten von Patches zu erfassen und den Korrektur-Patch anzuwenden, den ich ausführen möchte. Da es sich um einen Diff handelt, wird der korrigierte (gelöschte) Teil als Minus angezeigt. Wenn Sie also vorerst 3 Arten von Patches anwenden und dann mit der Quelle spielen und den Diff verlassen, wird meiner Meinung nach ein hoch reproduzierbarer U-Boot-Patch abgeschlossen. ..

Ich möchte den Patch mit der neuesten U-Boot-Version neu erstellen, aber das ist wahrscheinlich eine Technik mit unterschiedlichem Verständnis und Quellenverständnis.

Recommended Posts

So passen Sie U-Boot mit einer benutzerdefinierten Karte für OSD335X an (Hinweis)
Bis OSD335X U-Boot auf einer benutzerdefinierten Karte ausführt (Hinweis)
Hinweise zum Betrieb von Firefox mit Selen unter Windows
Ein Memo darüber, wie man das schwierige Problem der Erfassung von FX mit AI überwinden kann
Ein Hinweis zur einfachen Vorbereitung einer Linux-Übungsumgebung
So fügen Sie ein Paket mit PyCharm hinzu
Ein Memo mit Python2.7 und Python3 in CentOS
So erstellen Sie einen benutzerdefinierten Backtrader-Indikator
So testen Sie auf einer von Django authentifizierten Seite
Hinweise zum Ausführen von Cython unter OSX
Wie zeichnet man eine vertikale Linie auf einer Heatmap, die mit Python Seaborn gezeichnet wurde?
Lesen einer CSV-Datei mit Python 2/3
So senden Sie eine Nachricht mit Curl an LINE
So zeichnen Sie ein 2-Achsen-Diagramm mit Pyplot
Strategie zur Monetarisierung mit Python Java
So entwickeln Sie eine Cart-App mit Django
So erstellen Sie ein Wörterbuch mit einer hierarchischen Struktur.
So installieren Sie OpenGM unter OSX mit Macports
Wie man mit 2017 Windows ein anständiges Leben führt
Verfahren zur Erstellung plattformübergreifender Apps mit kivy
So veröffentlichen Sie ein Blog auf Amazon S3 mit der statischen Blog-Engine "Pelican" für Pythonista
[Vorläufig] So konvertieren Sie eine Zeichenfolge mit kivy-ios Memo kivy v1.8.0 in Shift_jis
So legen Sie einen freigegebenen Ordner mit dem Host-Betriebssystem in CentOS7 auf Virtual BOX fest
Memo mit Python mit HiveServer2 von EMR verbunden
Hinweise zur Verwendung von AIST Spacon ABCI
[Python] Wie zeichnet man mit Matplotlib ein Liniendiagramm?
So erstellen Sie ein Untermenü mit dem Plug-In [Blender]
So stellen Sie eine Django-Anwendung in der Alibaba-Cloud bereit
So konvertieren Sie ein Klassenobjekt mit SQLAlchemy in ein Wörterbuch
So installieren Sie Linux auf einem 32-Bit-UEFI-PC
Wie man ein Schießspiel mit toio macht (Teil 1)
[Go] So erstellen Sie einen benutzerdefinierten Fehler für Sentry
So installieren Sie caffe unter OS X mit Macports
Ein Memorandum zur Verwendung von Keras 'keras.preprocessing.image
So erstellen Sie eine Django (Python) -Umgebung auf Docker
[Python] Ein Memo zum vertikalen Schreiben von CSV mit Pandas
Autoencoder im Chainer (Hinweise zur Verwendung von + Trainer)
[Python] So erstellen Sie mit Matplotlib ein zweidimensionales Histogramm
So führen Sie Django unter IIS auf einem Windows-Server aus
So erstellen Sie eine Python-Umgebung unter Amazon Linux 2
[Python] Wie zeichnet man mit Matplotlib ein Streudiagramm?
Herstellen einer Verbindung zu Cloud SQL PostgreSQL auf der Google Cloud Platform aus einer lokalen Umgebung mit Java
[Shell-Start] Ich habe versucht, die Shell mit einem billigen Linux-Board-G-Cluster auf dem Fernseher anzuzeigen
Verwendung von GitHub auf einem Server für mehrere Personen ohne Kennwort
So stellen Sie eine mit Flask erstellte Web-App für Heroku bereit
So erstellen Sie mit Flask einen BOT für Cisco Webex-Teams
Verwendung von Fujifilm X-T3 als Webcam unter Ubuntu 20.04
So setzen Sie einen Hyperlink zu "file: // hogehoge" mit sphinx-> pdf
So installieren Sie NPI + Senden Sie eine Nachricht an Python
So installieren Sie Python2.7 python3.5 mit pyenv (unter RHEL5 CentOS5) (2016 Nov)
Memo, um den Wert auf der HTML-Javascript-Seite mit Jupiter zu erhalten
So führen Sie ein geschultes Transformatormodell lokal auf CloudTPU aus
So erstellen Sie eine neue virtuelle Python-Umgebung unter Ubuntu
So geben Sie ein Dokument im PDF-Format mit Sphinx aus
Wie erstelle ich ein Multiplayer-Online-Actionspiel mit Slack?
[Ev3dev] So zeigen Sie ein BMP-Bild mit Python auf dem LCD an
So erstellen Sie mit snappyHexMesh ein Flussnetz um einen Zylinder
So drucken Sie Zeichen als Tabelle mit der Druckfunktion von Python
So mounten Sie ein Windows 10-Verzeichnis unter Ubuntu-Server 20.04 auf VMware Workstation 15.