Compiler un noyau Linux 1000Hz & Low-Latency



  • Voila, suite a de nombreux test et demandes, je suis passer sur un 3.4.9 1000hz fiable et fonctionne a merveille sur mes dedié FirstHeberg et voila comment faire.

    1. Reinstallation fraiche sous debian6
    2. Installer lzma je ne l avais pas d'origine voila comment :

    mkdir /home/tmplzma
    cd /home/tmplzma
    wget http://tukaani.org/lzma/lzma-4.32.7.tar.gz
    tar zxvf lzma-4.32.7.tar.gz
    rm -rf lzma-4.32.7.tar.gz
    cd lzma-4.32.7
    ./configure
    make && make install
    rm -rf /home/tmplzma

    1. Les MAJ

    aptitude update
    aptitude safe-upgrade
    aptitude full-upgrade

    1. Puis les outils Pour compiler le noyaux

    aptitude install build-essential kernel-package libncurses5-dev

    1. téléchargé le code source d'un noyau, par exemple la version 3.4.9, dans le répertoire « /tmp ».

    cd /tmp
    wget http://www.kernel.org/pub/linux/kernel/ … .9.tar.bz2

    " Choisisser la version a DL "

    1. Une fois le fichier téléchargé, nous allons l'extraire dans le répertoire « /usr/src », puis nous pouvons créer le lien symbolique « linux », pour nous placer dans ce lien.

    tar -jxvf linux-3.4.9.tar.bz2 -C /usr/src/
    ln -s /usr/src/linux-3.4.9 /usr/src/linux
    cd /usr/src/linux/

    1. Nous allons faire une copie de la configuration du noyau actuel dans le dossier des sources à compiler (/usr/src/linux).

    cp -vi /boot/config-uname -r .config

    Si vous n' avez pas le ".config" réccupérez le sur http://beta.firstheberg.net/

    1. nous devons configurer le noyau avec un menu graphic

    make menuconfig

    signifie activé et [m] signifie activé en tant que module

    "↓↑" pour monter/descendre
    "entrée" pour rentrer dans les sous-menus
    "echap" Deux fois pour sortir du sous-menus
    "h" pour demander l'aide sur une option
    "/" pour rechercher une option
    "espace" pour sélectionner une option

    1. Nous allons charger la configuration du noyau existant (.config) en sélectionnant l'option "Load an alternate Configuration File". Maintenant nous sélectionnons les composants qui feront partie de notre futur noyau.

    Voici les principaux réglages à effectuer :

    Processor type and features:

    o Preemption Model

    • Selectionnez Preemptible Kernel (Low-Latency Desktop)o Timer frequency
    • Selectionnez 1000 HZ
    1. Voici les réglages approfondi : (certaines de ces options sont susceptibles de ne pas se trouver dans votre menu)

    General setup:

    o RCU Subsystem (ignorer s'il n'est pas présent)

    • Activer RCU Implementation (Preemptible RCU)
    • Désactiver Enable tracing for RCU

    Processor type and features:

    • Activer Tickless System (Dynamic Ticks)
    • Activer High Resolution Timer Support
      o Processor family
    • sélectionnez la famille correspondant à votre CPUo Preemption Model
    • Selectionnez Preemptible Kernel (Low-Latency Desktop)+ Activer Enable priority boosting of RCU read-side critical sections (ignorer s'il n'est pas présent)
    • désactiver Enable tracing for RCU - currently stats in debugfs (ignorer s'il n'est pas présent)
    • Activer Machine Check Exception et sélectionnez Intel ou AMD (dépend de votre CPU)
      o Timer frequency
    • Selectionnez 1000 HZ

    Power management and ACPI options:

    • Activer Power Management support
    • Désactiver Power Management Debug Support
    • Désactiver Suspend to RAM and standby
    • Désactiver Hibernation (aka 'suspend to disk')
    • Activer ACPI (Advanced Configuration and Power Interface) Support
      o CPU Frequency scaling
    • Désactiver CPU Frequency scaling- Désactiver CPU idle PM support

    Networking support:

    o Networking options

    • Activer Packet socket
    • Desactiver Network packet filtering framework (Netfilter) (Warning: Cela peut désactiver votre parefeu !!)
    • Désactiver QoS and/or fair queueing (A moins que vous en ayez besoin …)

    Device Drivers:

    • Désactiver Watchdog Timer Support
      o Real Time Clock
    • Activer PC-style 'CMOS'- Désactiver staging

    Kernel hacking:

    • Désactiver Tout
    1. Quand vous avez fait votre choix, quittez l'interface de configuration en sélectionnant l'option "Save an Alternate Configuration File" avant de sortir "Exit"

    2. La compilation d'un noyau Linux suivant votre dedie peut prendre du temps (15 à 30 minutes)

    3. Nous allons maintenant compiler et construire 2 paquet Debian contenant le noyau, les modules et les entêtes du noyau.

    make-kpkg –append-to-version=-ligfy --initrd kernel_image kernel_headers

    1. Lorsque la compilation est terminé, nous pouvons vérifier la présence des 2 paquets dans « /usr/src »

    ls ../

    1. Nous pouvons maintenant installer le noyau que nous venons de compiler.

    dpkg -i /usr/src/linux*.deb

    1. Nous avons au final 4 nouveaux fichiers (config-3.4.9-ligfy, initrd.img-3.4.9-ligfy, System.map-3.4.9-ligfy, vmlinuz-3.4.9-ligfy) dans le répertoire « /boot ».

    ls /boot/3.4.9

    1. Pour permettre l'amorçage du système avec le nouveau noyau, il est nécessaire de configurer le chargeur de démarrage (GRUB) pour qu'il exécute l'image du noyau au démarrage.

    La commande précédente « dpkg -i » invoque le programme « update-grub » pour mettre à jour automatiquement les fichiers de configuration de grub et par conséquent la liste des noyaux affichés dans le menu grub. Il n'est donc pas nécessaire de lancer manuellement la commande « sudo update-grub ».

    update-grub

    1. pour vérifier la version du noyau et la préemption (Low-Latency) du noyau.

    uname -a

    1. Pour vérifier la fréquence sur laquelle est réglé le noyau.

    grep HZ /boot/config-uname -r

    Et voila!


  • Administrateur

    Merci beaucoup pour ce tuto qui va probablement servir à nombre d'entre nous.
    Je le planifie pour être intégré au wiki :)



  • Cool mais il est ou le wiki, désolé mais n' étand la que depuis peux ! :lol:



  • Super tuto ! Merci

    Niveau gain ca donne quoi? Des idees?



  • Bon alors, pour générer 1000fps et avoir un tickrate stable, seul un kernel 1000hz permet cela, Si tu sais un peu ce que signifie le tickrate, tu comprendra.

    Puis dans la config essaie avec le PREEMPT LOW LATENCY et tu verra une nette amélioration de la qualité de jeux, mais attention en ayant testé cela plante certaines
    machine mais je ne sais pas pourquoi, donc vous n' avez plus qu a reboot en rescue ou reinstaller la becane

    Voila j' ai mis a disposition de la communauté Un serveur CS-GO sur :

    **

    Core i3 2100 HDD
    Kernel 3.4.9 1000hz
    PREEMPT LOW LATENCY

    **

    steam://connect/91.229.20.34:30305

    Faite moi remonter tout beugs !



  • @caaptusss:

    Merci beaucoup pour ce tuto qui va probablement servir à nombre d'entre nous.
    Je le planifie pour être intégré au wiki :)

    Des nouvelles du wiki ? :)
    J'en attend beaucoup de ce dernier, je compte crée plusieurs tutoriels. Avec le wiki sa sera beaucoup plus jolie et visible au niveaux des tutoriels.



  • @Game-War:

    @caaptusss:

    Merci beaucoup pour ce tuto qui va probablement servir à nombre d'entre nous.
    Je le planifie pour être intégré au wiki :)

    Des nouvelles du wiki ? :)
    J'en attend beaucoup de ce dernier, je compte crée plusieurs tutoriels. Avec le wiki sa sera beaucoup plus jolie et visible au niveaux des tutoriels.

    Pareil :'p


Log in to reply