Insbesondere möchte ich ein fd-Flag und einen Zweig in ein paar fd-Handling-Systemaufrufen hinzufügen, die verwendet werden sollten, wenn das Flag anstelle des aktuellen Codes gesetzt ist. Ich denke, das einzige, was hier für die Zwecke dieser Frage wichtig ist, ist, dass dies eher eine generische als eine hardwarespezifische Modifikation sein sollte.
Wie richte ich die Dinge so ein, dass ich den geänderten Kernel neu erstellen und die neue Funktion schnell testen kann? Ich glaube, ich brauche ein grundlegendes Setup, das in einer virtuellen Maschine startet und meinen Testcode ausführt. Ich denke, es könnte einfach in einem Initram sein und der Start muss möglicherweise nicht weiter gehen (?)
Gibt es hierzu gute Anleitungen oder können Sie diese hier in einer einzigen Antwort erläutern?
LD_PRELOAD
.Antworten:
eudyptula-boot
ist dafür ziemlich praktisch; Der einführende Blog-Beitrag enthält weitere Details. Grundsätzlich können Sie jedoch eine VM mit dem zu testenden Kernel und Ihren vorhandenen Dateisystemen (mitoverlayfs
) starten . Auf diese Weise können Sie einen Kernel schnell überprüfen, ohne ihn neu zu starten, und Sie haben weiterhin Zugriff auf alle Ihre Dateien.Die einzige Anforderung an den zu testenden Kernel ist, dass er
overlayfs
und unterstützt9p
; Diese können einfach in der Kernelkonfiguration aktiviert werden, bevor sie erstellt werden.quelle