Ich habe in Embedded-Betriebssystemen wie uCOS, ThreadX gearbeitet. Während ich Apps in Linux codiert habe, plane ich jetzt, Linux Kernel zu erlernen. Ich habe einige Fragen zur Umwelt.
Welches ist die beste Distribution, die benutzerfreundliche Tools für die Kernel-Entwicklung bietet? (Bisher hatte ich RHEL und Fedora verwendet. Obwohl ich mit diesen vertraut bin, sieht es auch so aus, als ob Ubuntu eingebaute Skripte für die einfache Kernel-Kompilierung wie
make_kpkg
usw. hat.)Können Sie das beste Setup für das Kernel-Debugging beschreiben? Beim Debuggen anderer eingebetteter Betriebssysteme habe ich den seriellen Port verwendet, um Fortschritt, JTAG usw. zu sichern. Welche Art von Setup verwendet der Linux-Kernel-Entwickler? (Wird mein Test-PC mit serieller Schnittstelle für meine Anforderungen ausreichen? Wenn ja, wie konfiguriere ich den Kernel, um auf die serielle Schnittstelle zu sichern?) Ich plane, Kernelnachrichten an die serielle Konsole umzuleiten, die in meinem Laptop gelesen werden.
Welches Tool eignet sich am besten zum Debuggen und Verfolgen von Kernel-Code? Wie bereits erwähnt, ist die serielle Konsole der einzige Weg? Oder gibt es eine IDE / JTAG-Schnittstelle für den PC?