Für welche CPU-Architektur ist der Kernel optimiert, wenn ich ihn selbst backe?

GambaJo

GambaJo

Maxi King alraaaight!!!
Ich hab da mal eine Verständnisfrage.

Es gibt ja für die meisten Distributionen vorkompilierte Kernel-Pakete, die man dann über einen Paket-Manager installieren kann. Zur Auswahl stehen dann Kernels vorkompiliert für verschiedene CPU-Architekturen. So weit so gut.

Wenn ich nun aber meinen Kernel selbst backe, was für einer ist das dann?
Bisher habe ich immer den K7 oder i386 oder i686 genutzt (vorkompiliert) also für 32-Bit-Architekturen. Habe aber eine AMD64 X2 CPU. Vor kurzem habe ich meinen ersten Kernel gebacken. Ist das dadurch automatisch ein AMD64-Kernel? Oder muss/kann man beim Kompilieren per z.B. Parameter festlegen, welchen Kernel er backen soll?

Mir geht es nicht um die schon oft gestellte frage, ob 32Bit oder 64Bit „besser“ ist, sondern einfach nur, mit was ich da jetzt arbeite.

Wie verhält es sich mit „normaler“ Software, wenn ich diese selbst kompiliere? Ist die dann auch AMD64 angepasst, oder Standard?
 
das liegt an deinem system,
du hast 64 bit also sollst du ein amd64 system haben und deren pakete. Also: ist das system amd64 baut sich der kernel auch mit amd64.
 
Hallo
Das bestimmst du selbst beim Erstellen der Config.

Wolfgang
 
Welche Option ist das da?

Richtet sich dann die „normale“ Software nach dem Kernel oder nach der CPU?
 
Ich schätz mal nicht, das "Standardsoftware" sich an den Kernel / CPU-Hersteller anpasst. IMHO muesstest du dann schon auch die Software selbst kompilieren, und kannst dabei dann evtl. nen Schalter mit angeben, ob du auf Intel oder AMD optimiert kompilieren willst.

Ob des aber "wirklich" "spürbar" was bringt, sei dahingestellt...

Hab ich mal irgendwo aufgeschnappt, kann ich allerdings nimmer wirklich sagen, woher, ist auch schon ne Weile her (Kann also auch Müll sein ;) )
 
Hallo
Das bestimmst du selbst beim Erstellen der Config.
So, wie Wolfgang das sagt. Ich hab gerade meine Kernel-Quellen nicht im System, aber ich erinnere mich, daß zumindest der 2.6er für einige Möglichkeiten sogar in "menuconfig" leicht anpaßbare Einstellungen hat. Davor weiß ich gerade nicht mehr, bei mir ist der letzte komplett selbst gebaute Kernel schon ne weile her (ne *gaaanze* Weile, da ging einige Hardware nicht mit der Distri-Config wie ISDN-Karte z.B., aber es gab eine nicht aktivierte Option dafür..)

Du kannst sogar einen eigenen Kernel-String-Anhang rein schreiben (die Architektur-Auswahl ist irgend wo weit oben, das mit dem String war meine ich weit unten...). Das bewirkt nicht nur eine angepaßte Ausgabe bei uname, sondern bei make modules && make modules_install wird ein separater Modul-Baum in /lib/modules erzeugt.
 
make menuconfig => Processor type and features => Processor family => Freie Fahrt für freie Bürger ;)
 
Ahh, sehr interessant, danke. Ich dachte immer, dass es automatisch passiert, wenn man auf entsprechender Architektur kompiliert. Gut zu wissen.

Brauchen tue ich den 64Bit-Kernel nicht, da ich "nur" 2GB RAM habe, und die 64Bit-Adressräume wollen ja auch irgendwo untergebracht werden.
Aber ich denke, ich werde dann statt i386 lieber i686 nehmen, hat wohl mehr Befehlssätze, wie ich mal gehört habe.
 
Nee, das passiert nicht automatisch und ist auch gut so. Dadurch kannst du nämlich auch Kernel für andere Rechner kompilieren. Sonst hätten wir wieder das "Huhn - Ei" Problem.
 
Aber ich denke, ich werde dann statt i386 lieber i686 nehmen, hat wohl mehr Befehlssätze, wie ich mal gehört habe.

Quark. i386 ist lediglich der kleinste gemeinsame Nenner. Den größen Performancegewinn erzielst du mit der exakten Anpassung des Kernels auf deine CPU.
 
Ok, ich schaue mir das heute Abend mal an.
Ich werde mal spaßeshalber mehrere Kernels erstellen: K7, i386, i686, AMD64. Mal schauen, wie sich das auf das System auswirkt.
 
So, ich hab mir jetzt den Kernel mit der K7-Erweiterung gebacken und in Benutzung. Dabei habe ich gemerkt, dass die Standard-Installation von Debian auf Server ausgerichtet ist (so einige Optionen wie z.B. Time Frequency).
Hab einiges aus dem Kernel geschmissen, was ich nicht brauche, dabei die nötigen Optionen von Server auf Desktop gestellt, und ich habe das Gefühl, dass das System jetzt schneller arbeitet.
 
Debian *ist* ja auch für Server, nur kann man natürlich auch nen Desktop drauf tun :D
 

Ähnliche Themen

KingPin - Life of Crime (64bit)

welchen kernel für einen amd64 unter einem 32 Bit Linux

Zurück
Oben