Wie bleiben .d-Dateien nach der Kernel-Kompilierung erhalten?

Wie bleiben .d-Dateien nach der Kernel-Kompilierung erhalten?

Ich kompiliere Kernelmodule von Drittanbietern. Ihr Build-System geht zu /usr/src/linux-headers-[version](einem benutzerdefinierten Kernel-Chroot) und wird makevon dort ausgeführt.

Ich möchte herausfinden, welche Dateien - Quellen und Header - für die Kompilierung verwendet wurden und welche nicht. Standardmäßig werden für jede kompilierte Quelle Dateien scripts/Makefile.builderstellt *.d, und das würde ich gerne verwenden... aber diese Dateien sindgelöschtnach kurzer Verarbeitung. (Das ist rule_cc_o_cdie Definition in Makefile.build.)

Wie könnte es möglich sein, diese Dateien mit minimalen Änderungen am Standard-Build-System zu sammeln?

Antwort1

Versuchen Sie es mitlibtrashcan. Laden Sie die Bibliothek nach dem Kompilieren und Installieren vorab in Ihren Prozess.

Im Folgenden wird beispielsweise eine Testdatei erstellt und dann versucht, sie zu entfernen. Aufgrund von libtrashcan unlinkwird der Systemaufruf jedoch durch eine Verschiebung ersetzt, sodass die Datei hier landet ~/Trash:

export LD_PRELOAD=/usr/local/lib/libtrash.so.3.3
touch testfile
rm testfile

verwandte Informationen