Ich kompiliere Kernelmodule von Drittanbietern. Ihr Build-System geht zu /usr/src/linux-headers-[version]
(einem benutzerdefinierten Kernel-Chroot) und wird make
von 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.build
erstellt *.d
, und das würde ich gerne verwenden... aber diese Dateien sindgelöschtnach kurzer Verarbeitung. (Das ist rule_cc_o_c
die 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 unlink
wird 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