Wenn größere Änderungen am Linux-Kernel oder Device-Tree vorgenommen werden sollen oder einfach nur öfter neue Varianten probiert werden 
müssen, ist es hilfreich, die vollständig gepatchten Kernel-Sourcen (und damit Device-Tree-Sourcen, da wir einen intree-Devicetree 
verwenden) in einem lokalen Verzeichnis zu haben.
Dann kann man diese Sourcen eine Zeit lang bearbeiten und direkt aus den Sourcen dort die buildroot-Images bauen lassen.

Die allgemeine Buildrootkonfiguration ist mittels der Konfigurationsvariable
BR2_PACKAGE_OVERRIDE_FILE
so eingestellt, dass die Datei $(CONFIG_DIR)/lokal.mk gescannt wird um herauszufinden ob und welche Sourcen lokal genommen werden 
sollen.

Das Verzeichnis $(CONFIG_DIR) ist dabei das output-Verzeichnis wenn beim ersten Bauen O=... verwendet wurde.
Wenn unsere Standard-Skripten verwendet werden (board/cv/build_produktion.sh, build_standard.sh oder build_development.sh),
so war dies der Fall.

Also kann z.B. in ../output_development/local.mk folgendes eingetragen werden, um den Linux-Kernel und -Devicetree (vorübergehend!)
nicht aus der Version und den Patches zu bauen, die in der Buildroot-Konfiguration definiert sind, sondern aus einem beliebigen
Verzeichnis. Das Build-Verzeichnis für den Linux-Kernel ist dann nicht etwa z.B. ../output_development/build/linux-4.19.36,
sondern ../output_development/build/linux-custom:

#in local.mk z.B.:
LINUX_OVERRIDE_SRCDIR = /home/preitinger/ssdPartForLinux/tmp_buildroot/linux.b

Praktischerweise bietet es sich an vor den Änderungen im lokalen Kernel-Source-Verzeichnis, 2 Kopien zu erstellen, z.B. linux.a und
linux.b

Wenn linux.a unverändert bleibt und linux.b bearbeitet wird, kann man den patch danach dann sehr leicht mit diff erstellen damit die
Änderungen dauerhaft als Patch integriert und damit dokumentiert werden können.

Dieser Patch sollte im Falle des Linux-Kernels hinzugefügt werden in board/cv/common/kernel/kernel-patches/<nr>-<patch_name>.patch.

Anschließend sollte man in local.mk die betreffende Zeile, die angibt dass der Linux-Kernel aus lokalen Sourcen gebaut werden soll, wieder
auskommentieren oder entfernen und prüfen ob immer noch das gewünschte Ergebnis gebaut wird.

Analog kann man dies auch fuer den Bootloader machen.

#Das buildroot-package fuer unseren bootloader heißt "uboot", also in local.mk dann:
UBOOT_OVERRIDE_SRCDIR = /pfad/zu/lokalen/uboot/sourcen/uboot.b

In uboot.a sollte man dann wieder das Original aufheben für den Patch später.

