2010-08-17 5 views

Antwort

9

LFS. Dann installieren Sie jeden Debugger und Profiler, den Sie finden können.

+0

ich alle diejenigen nutzen können und sie sind cool, aber es braucht viel Zeit zum Patchen, Tests, usw. – user361697

+0

auch eine haben Schau dir Buildroot an, das alles automatisiert: https://stackoverflow.com/a/44625382/895245 –

7

Ich habe es genossen, Gentoo für das Herumspielen mit dem Kernel zu verwenden.

+0

Noch eine Abstimmung für Gentoo. –

8

Ich habe gehört Linus himself uses Fedora. Ich würde empfehlen, Gentoo, die Sie für die Hand ermöglicht, Ihren Kernel anzupassen, es ist die perfekte Einstellung dafür (und ich habe viele Stunden damit verbracht, jedes letzte bisschen Leistung für den Spaß davon auszuquetschen).

Natürlich Ubuntu ist meine bevorzugte Distribution, aber Sie können Probleme haben, wenn Sie mit dem Entführen und Entfernen der erwarteten Kernel-Funktionen beginnen. Gentoo wird sich nicht beschweren und erwartet nicht von Anfang an.

+0

Der Ubuntu-Kernel enthält eine ganze Reihe von Patches für Dinge wie die UUID-Behandlung und andere Magie. Ich laufe ständig Vanillekerne auf meiner Gentoobox ohne Probleme. – stsquad

+0

Fedora ist auch mein Favorit, verdammt stabil. –

2

Die Distribution macht wahrscheinlich keinen großen Unterschied, da Sie an Ihrem eigenen Kernel arbeiten und nicht an dem "kitchen sink" -Kernel, den die Distributionen in den meisten Fällen mit einer Reihe von Patches versehen.

Wenn Sie Kernel-Entwicklung arbeiten, dann nehme ich an, Sie wollen eine Distribution, die schnell startet, etwas wie Welpen könnte hier ideal sein und Ihre eigentliche Codierung von etwas wie Ubuntu tun.

3

Die Distribution ist nicht wirklich wichtig. Es ist das, was Sie mit dem Kernel machen wollen und dessen Entwicklung/Test durchführen.

Hier sind einige Dinge zu tun.

a. Schalten Sie das Kernel-Debugging und die Protokollierungsoptionen ein. Diese würden dir definitiv beim Debuggen helfen. siehe useful linux kernel debug options to turn on

b. Getdebuggers-Tool wie Valgrind, das nach Speicherlecks sucht. Siehe Dok. Wie https://www.kernel.org/doc/Documentation/kmemleak.txt

c. Ich habe einen guten Editor zum Bearbeiten gefunden. Ich möchte keinen Vim gegen Emacs Krieg beginnen. Es ist wirklich eine persönliche Vorliebe, stellen Sie sicher, dass Sie die Linux-Kernel-Code-Stil Richtlinien befolgen. https://www.kernel.org/doc/Documentation/CodingStyle

d. Machen Sie sich mit den Log-Systemen und dem proc-System vertraut, da sie wertvolle Informationen liefern.

e. Lesen Sie die Dokumentation im Verzeichnis/usr/src/linux/Dokumentation Sehr guter Ausgangspunkt für den Kernel

0

Buildroot

Buildroot ist eine Reihe von Skripten zu verstehen, die winzige distros mit rootfs Bilder kleiner als 10MiB erzeugt.

Es lädt alles von der Quelle herunter und kompiliert es, also ist es trivial, Pakete zu packen.

Die erzeugten Bilder sind so winzig, dass es möglich wird, das gesamte Userland-Setup zu verstehen, was es einfacher macht, sich auf den Kernel zu konzentrieren.

Vorteil gegenüber LFS: alles ist voll automatisiert. Aus diesem Grund wird Buildroot professionell in großen Organisationen eingesetzt.

Ich habe dieses Setup erstellt Dinge so weit wie möglich zu automatisieren: https://github.com/cirosantilli/linux-kernel-module-cheat

Verwandte Themen