Hallo Com,
ich habe mich dieses Wochenende intensiv mit Linux Kerneln beschäftigt, da mein eigener Root bisher auf 250Hz lief und das nur mässig gute Ergebnisse für 1.6 Gameserver brachte. Ich beschloss also selber einen 1000Hz Kernel zu "backen" und danach zu installieren, was mir auch auf Anhieb gelang. Dieser Kernel ist für Debian 6 da dieses häufig auf Servern genutzt wird. Allerdings wäre ein Debian 5 Kernel mit CKS Patch effektiver.
Ich weise aber ausdrücklich darauf hin, dass eine Änderung des Kernels dazu führen kann, dass euer Root nicht mehr bootet!
Nun zum Tutorial,
nachdem ich mich als Root eingeloggt habe bewege ich mich in das Verzeichnis /usr/src
Ich nutze als Basis den Code vom 3.7.2er Linux:
Nun lade ich die benötigten Programme herunter:
Jetzt entpacke ich den Linuxcode und bewege mich in das neue Verzeichnis:
Ich kopiere jetzt die Config von meinem alten Kernel (Merke: Alte Config auf neuen Kernel geht klar, neue Config auf alten kernel ist eher nicht so gut)
Nun muss ich die Einstellungen am Kernel vornehmen:
Es öffnet sich ein "Fenster" im Terminal, über das ihr Einstellungen machen könnt. Ihr bewegt die Selektion mit den Pfeiltasten, wählt mit "y" aus, bzw. mit "n" ab. Alle Punkte mit Pfeilen (----->) enthalten Untermenüs auf die ihr mit "Enter" kommt. Mit "Exit" kommt ihr wieder in das Parentmenü bzw. verlasst die Konfiguration wenn ihr im Topmenü seid. Sollte euch das aus Versehen passieren betätigt "Yes" und startet die menuconfig erneut. Die Änderungen bleiben dann erhalten.
Nun wird kompiliert:
wobei man die lange Wartezeit verkürzen kann, in dem man mehrere Prozessorkerne freigibt. Hat man z.B. 4 Stück so könnte man diesen Befehl eingeben:
Jetzt bewege ich mich ein Verzeichnis nach oben und liste:
Die Ausgabe sollte so aussehen:
Wobei "morethangaming" durch euren Kernelnamen ersetzt sein sollte.
Jetzt gebe ich folgendes ein, um meinen Kernel zu installieren:
Wobei der Kernelname natürlich auf euch angepasst werden muss.
Nochmal schnell den Grub2 Bootloader updaten und dann restarten:
Wenn mein Server wieder da ist, tippe ich "uname -r" ein, und sollte folgendes zurückbekommen: "3.7.2morethangaming", der Kernelname natürlich wieder auf euch angepasst.
Für die weitere Anpassung der HLDS Prozesse an den neuen Kernel verlinke ich ein immernoch aktuelles Tutorial: [Only registered and activated users can see links. Click Here To Register...]
Ich hoffe euch gefällt das Tutorial, wenn ihr mir etwas Kritik hinterlasst, oder Fragen stellt werde ich antworten :)
ich habe mich dieses Wochenende intensiv mit Linux Kerneln beschäftigt, da mein eigener Root bisher auf 250Hz lief und das nur mässig gute Ergebnisse für 1.6 Gameserver brachte. Ich beschloss also selber einen 1000Hz Kernel zu "backen" und danach zu installieren, was mir auch auf Anhieb gelang. Dieser Kernel ist für Debian 6 da dieses häufig auf Servern genutzt wird. Allerdings wäre ein Debian 5 Kernel mit CKS Patch effektiver.
Ich weise aber ausdrücklich darauf hin, dass eine Änderung des Kernels dazu führen kann, dass euer Root nicht mehr bootet!
Nun zum Tutorial,
nachdem ich mich als Root eingeloggt habe bewege ich mich in das Verzeichnis /usr/src
Code:
cd /usr/src
Code:
wget http://www.kernel.org/pub/linux/kernel/v3.x/linux-3.7.2.tar.bz2
Code:
apt-get update apt-get install kernel-package build-essential libncurses5-dev fakeroot
Code:
tar xfvj linux-3.7.2.tar.bz2 cd linux-3.7.2
Code:
cp -vi /boot/config-`uname -r` .config
Code:
make menuconfig
- General setup:
- Local version - append to kernel release (Euren eigenen Kernelnamen in kleinen Buchstaben eintagen)
- Einschalten: Automatically append version information to the version string
- Processor type and features:
- Processor family (Wähle deine CPU-Familie)
- Preemtion Model (Voluntary Kernel Preemtion (Desktop))
- Timer frequency (1000Hz)
- Power management options
- Ausschalten: Power Management Debug Support
- Ausschalten: Suspend to RAM and standby
- Ausschalten: Hibernation (aka 'suspend to disk')
- Einschalten: ACPI (Advanced Configuration and Power Interface) Support
- CPU Frequency scaling
- Ausschalten: CPU Frequency scaling
- Networking Support
- Networking options
- Ausschalten: QoS and/or fair queueing
- Networking options
- Device Drivers
- Ausschalten: Watchdog Timer Support
- Einschalten: Real Time Clock
- Einschalten: PC-style 'CMOS'
- Kernel hacking
- Alles ausschalten
Nun wird kompiliert:
Code:
fakeroot make-kpkg clean && fakeroot make-kpkg kernel_image --initrd && cd ..
Code:
fakeroot make-kpkg clean && fakeroot make-kpkg -j 4 kernel_image --initrd && cd ..
Code:
cd .. ls
Code:
3.7-sched-bfs-427.patch linux-3.7.2 linux-3.7.2.tar.bz2 linux-image-3.7.2morethangaming_3.7.2morethangaming-10.00.Custom_amd64.deb
Jetzt gebe ich folgendes ein, um meinen Kernel zu installieren:
Code:
dpkg -i linux-image-3.7.2morethangaming_3.7.2morethangaming-10.00.Custom_amd64.deb
Nochmal schnell den Grub2 Bootloader updaten und dann restarten:
Code:
update-grub shutdown -r now
Für die weitere Anpassung der HLDS Prozesse an den neuen Kernel verlinke ich ein immernoch aktuelles Tutorial: [Only registered and activated users can see links. Click Here To Register...]
Ich hoffe euch gefällt das Tutorial, wenn ihr mir etwas Kritik hinterlasst, oder Fragen stellt werde ich antworten :)