|
Thorsten_Reinbold
Anmeldungsdatum: 10. Juli 2006
Beiträge: 4784
|
Ich schreibs mal hier rein...da es kein konkretes Projekt ist und so wohl auch nie umgesetzt wird. Ich beschäftige mich seit einer Weile mit dem optimalem Kernel für mein System. Ist leider nicht so einfach wie es scheint, einen perfekt optimierten Kernel für das eigene System zu bauen. Da entfernt man ein kleines, unscheinbares und fürs eigene System scheinbar unwichtige Modul...und schon funktioniert die halbe Hardware nicht mehr. Wie genial wäre es, ein Programm zu haben das einem die Arbeit abnimmt? Ich stelle mir das so vor: ich lade mir die gewünschten Kernelquellen + Patches runter, packe alles in ein Verzeichnis und starte das Programm, welches nun meine Hardware analysiert. Im Anschluß fragt das Tool dann noch nach evtl. benötigter Unterstützung für gerade nicht angeschlossene Geräte und baut nach diesen Vorgaben einen exakt auf die Hardware zugeschnittenen Kernel. Wäre doch spitze, oder?
|
|
adun
Anmeldungsdatum: 29. März 2005
Beiträge: 8606
|
Warum sollte das nicht umzusetzen sein? Im Prinzip musst du nur hwdetect (Arch) mit genkernel (gentoo) verheiraten. Das sind die ersten Programme, die mir dazu einfallen, gibt sicher noch andere.
|
|
Cleanblue
Anmeldungsdatum: 8. September 2006
Beiträge: 479
|
Wäre das eigentlich effektiv oder überhaupt sinnvoll? Schließlich würden dann nicht meh alle .deb pakte funktionieren, oder?
|
|
eisbaer006
Anmeldungsdatum: 7. November 2006
Beiträge: 534
|
nunja das ist die frage... man kann sich ja die software dann als quellcode holen und selber compilieren.
|
|
adun
Anmeldungsdatum: 29. März 2005
Beiträge: 8606
|
Cleanblue hat geschrieben: Wäre das eigentlich effektiv oder überhaupt sinnvoll? Schließlich würden dann nicht meh alle .deb pakte funktionieren, oder?
Unter Umständen nicht, aber dafür will nordlicht.ol ja eine Abfrage einbauen für Kernelfunktionen, die sich nicht aus der Hardware ergeben. Sicherlich der aufwändigste Teil.
|
|
Thorsten_Reinbold
(Themenstarter)
Anmeldungsdatum: 10. Juli 2006
Beiträge: 4784
|
Eben das dürfte das Problem sein. Da müsste derart viel an Infos rein...das wäre eine echte Mammutaufgabe. Genial wäre das allerdings schon... wäre doch toll wenn eine Distri schon während der Installation einen derart optimierten Kernel quasi automatisch mitinstallieren würde. Vielleicht kommt sowas ja eines Tages noch...
|
|
adun
Anmeldungsdatum: 29. März 2005
Beiträge: 8606
|
Die Frage ist doch, was bringt dir diese Optimierung. Sicher du sparst grob geschätzt 10 MB Festplattenspeicher, bezahlst diese 10 MB aber mit totaler Unflexibilität. Was wenn du doch mal eine Soundkarte kaufst? Dann muss immer gleich ein neuer Kernel her. Die Startzeit für einen modulierten Kernel ggü. einem voll monolitischen ist ein paar Millisekunden höher. Hast du auch nur einmal eine Wartezeit, weil du einen neuen Kernel kompilieren musst, bekommst du das nie wieder rein. Sooft kannst du den dein ganzes Leben lang nicht starten. Wenn das Modul mal geladen ist, ist es dem Kernel herzlich egal ob es fest einkompiliert ist oder nicht. Für Veränderungen musst du ihn dann auch jedes Mal wieder neu starten. Also aus ästhetischen Gründen kann man sowas durchaus machen, rationale gibt es nicht.
|
|
Lunar
Anmeldungsdatum: 17. März 2006
Beiträge: 5792
|
Wie adun bereits schrieb, macht das Anpassen des Kernels für die eigene Hardware wenig bis gar keinen Sinn. Moderne Kernel sind modularisiert, es liegen also sowieso nur die benötigten Treiber im RAM. Der Rest liegt zwar auf der Platte, aber mal ehrlich, was machen denn 50 - 100 MB bei 200 GB Platten aus? Sinnvoll ist das Kompilieren eines eigenen Kernels nur dann, wenn man spezielle Kernelfeatures einbauen möchte, die normalerweise nicht in normale Distributionsbuilds einkompiliert werden. Die Entscheidung, ob man solche Features braucht, kann ein Programm allerdings eh nicht übernehmen, da das eine individuelle Entscheidung ist. Woher z.B. soll den ein Programm wissen, ob du z.B. DM_SNAPSHOT oder NO_HZ einbauen möchtest? Diese Features haben ja nichts mit der Hardware zu tun, sondern ergeben sich aus individuelle Anforderungen, die ein Programm ja niemals erahnen kann. Wer weiß, vielleicht gibt es auch Leute, die einen Kernel ohne FUTEX bauen möchten, woher soll ein Programm das den wissen? Außerdem ist die Kernelkonfiguration im Bezug auf Hardware nicht wirklich schwierig. Mit lshw, lspci und lsusb ist die eingebaute Hardware schnell identifiziert. Die Zuordnung zu den richtigen Treiber ist auch nicht wirklich fordernd, besitzen doch die meisten wichtigen Treiber entsprechend aufschlussreiche Namen und ausführliche Beschreibungen. Ich zumindest hatte noch nie Hardware-Probleme mit einen selbst gebauten Kernel. Problematisch war vielmehr Software wie Virtual Box, die sich mit bestimmten Kernelfeatures (in diesem Fall NO_HZ) nicht vertrug. Aber das kann man aufgrund der Vielfalt der Abhängigkeiten und Kernelfeatures eh schwer programmatisch verhindern. just my 2 cents lunar
|
|
Thorsten_Reinbold
(Themenstarter)
Anmeldungsdatum: 10. Juli 2006
Beiträge: 4784
|
Da ich einen Laptop verwende und somit der Austausch von GraKa/Soundkarte extrem unwahrscheinlich ist, macht das Ganze für mich durchaus sinn. Ausserdem ist der von mir selbst angepasste Kern durchaus flotter, was ich z.B. an schnellerem Reaktionsverhalten merke. Gute Gründe für einen selbstgebackenen Kernel gibt es durchaus...auch wenn das ganze auf einem (erweiterbarem) Desktoprechner natürlich mit dem Risiko der geringeren Flexibilität einhergeht. Andererseits: wäre so ein Tool verfügbar, könnte man bei anstehenden Umbauten die unterstützung auch flott wieder aktivieren. Wäre halt nur ein geringfügig höherer Zeitaufwand.
|
|
adun
Anmeldungsdatum: 29. März 2005
Beiträge: 8606
|
Lunar hat geschrieben: Die Zuordnung zu den richtigen Treiber ist auch nicht wirklich fordernd, besitzen doch die meisten wichtigen Treiber entsprechend aufschlussreiche Namen und ausführliche Beschreibungen.
Also bei Mainboards kann das schon mal lustig werden, gerade weil es sehr viele Optionen gibt, da hab ich dann auch so manches mal lieber ein M mehr gesetzt als unbedingt notwendig. Liegt aber auch an der Struktur der ncurses Oberfläche. 😉 google.de/linux hilft. Edit: Das ein selbst kompilierter nicht besser sein kann, habe ich nie behauptet, nur liegt das bei mir (und vielen anderen) nicht generell an der Modularisierung. Mein selbstgebastelter modularisierter Kernel war immer genauso wie der nichtmodularisierte.
|
|
Lunar
Anmeldungsdatum: 17. März 2006
Beiträge: 5792
|
adun hat geschrieben: Lunar hat geschrieben: Die Zuordnung zu den richtigen Treiber ist auch nicht wirklich fordernd, besitzen doch die meisten wichtigen Treiber entsprechend aufschlussreiche Namen und ausführliche Beschreibungen.
Also bei Mainboards kann das schon mal lustig werden, gerade weil es sehr viele Optionen gibt, da hab ich dann auch so manches mal lieber ein M mehr gesetzt als unbedingt notwendig. Liegt aber auch an der Struktur der ncurses Oberfläche. 😉
Genau deswegen verwendet man ja auch xconfig/gconfig... die sind einfach übersichtlicher. adun hat geschrieben: Edit: Das ein selbst kompilierter nicht besser sein kann, habe ich nie behauptet, nur liegt das bei mir (und vielen anderen) nicht generell an der Modularisierung.
Es liegt wohl eher daran, dass man bei selbstkompilierten Kerneln Dinge ausschalten kann, die man normalerweise nicht braucht (Debugging-Features), und andere einschalten kann, die zwar nicht zu einer wirklichen Beschleunigung führen, aber das System interaktiver (also gefühlt schneller) machen. Dazu gehören z.B. die Tickless Timer oder andere Scheduler (wie CFQ und CFS). adun hat geschrieben: Mein selbstgebastelter modularisierter Kernel war immer genauso wie der nichtmodularisierte.
Bis auf die Tatsache, dass man in manchen Setups (z.B. / auf LVM) sowieso eine initrd braucht, und ein statischer Kernel deswegen mehr oder weniger sinnlos ist.
|
|
Sigma7
Anmeldungsdatum: 25. Oktober 2007
Beiträge: 438
|
Ich hatte schon oft Probleme, dass ich Programm z nicht kompilieren/starten konnte, weil Kernelfeature x gefehlt hat... wie soll ein automatisches Kernelkonfigurier-Programm so etwas rausfinden. So weit sind wir mit der KI leider noch nicht ☹ oder das programm bräcute einen gigantischen Wartungsaufwand.
|
|
Thorsten_Reinbold
(Themenstarter)
Anmeldungsdatum: 10. Juli 2006
Beiträge: 4784
|
Nichtsdesto trotz...einen selbstgemachten Kernel finde ich dennoch prima. Nicht nur das man beim durchforsten der möglichen Optionen viel über die Hardware und das System herrausfindet, es lässt sich auch eine Menge am Reaktionsverhalten machen und sogar Fehler beheben. Erst seit ein paar Anpassungen am Standardkernel läuft bei mir der Suspendmodus einwandfrei. Schade nur daß ich bislang auf keine gute Seite gestossen bin die Großteile der möglichen Optionen genauer erklären und evtl. sogar Tips geben.
|
|
Sigma7
Anmeldungsdatum: 25. Oktober 2007
Beiträge: 438
|
Eine gute Seite um viel über Kernel (Linux) zu lernen: www.gentoo.org 😀 Ich fands am Anfang auch ziemlich verwirrend... aber bei vielen Optionen stehen ja auch Hilfetexte etc. dabei
|
|
cornix
Anmeldungsdatum: 9. März 2007
Beiträge: 4763
|
Lunar Linux ist eine Source-Distribution, die (soweit ich es verstanden habe) schon bei der Installation Hilfsmittel bereitstellt, einen optimierten Kernel zu bauen und zu installieren. Weitere Software wird auf diesen Kernel optimiert kompiliert und installiert. Ist auf jeden Fall etwas, was ich mir bei Zeiten näher ansehen werde. Gruß, cornix
|