petak, 16. prosinca 2011.

Kompaljiranje kernela za EPS servere


Pozdrav,


dosta ljudi koji uzimaju privatne VPSove za svoje communitye, tj sami sebi hostaju servere žele da njihovi serveri imaju konstantni fps 1000 na serveru te omoguće igračima najbolju igru kao na vodećim hosting providerima!


Tutorijal se odnosi na redhat/Fedora/CentOS Operativne Sisteme


Logujte se kao root na Vaš SSH i krećemo;




- Uđite u /usr/src folder
cd /usr/src


i downloadujte kernel instalaciju;


wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.33.tar.gz


Extraktujte paket koji ste skinuli
tar -xzvf linux-2.6.33.tar.gz


Kada se fajlovi raspakuju, uđite u njihov folder
cd linux-linux-2.6.33


Sada ćemo kopirati trenutne kernel fajlove;


Prvo ćemo pogledati koja je trenutna verzija koju koristimo
uname -r


Sada ćemo kopirati našu trenutnu konfiguraciju na novi kernel
cp -R /boot/con
cp -R /boot/config-2.6.9-42.0.8.ELsmp .config


Prela'ko, a? (:


Sada ćemo konfigurati novi kernel;


Ukoliko je rekompajliran
make clean
ukoliko nije, preskočite


make menuconfig
Ukoliko ne možete da pokrenete "make", potrebno je da instalirate ncruses i ncurses-devel


Sada smo u menuconfigu, i promijenit' ćemo postavke;






Processor type and features --->
NO Tickless System (Dynamic Ticks)
YES High Resolution Timer Support
Processor family (Pritisnite enter i odaberite marku vašeg dedicated servera) --->
Preemption Model (Pritisnite enter i izaberite: Preemptible Kernel (Low-Latency Desktop))
Timer frequency (Pritisnite enter i izaberite: 1000 HZ) --->


Power management options (ACPI, APM) --->
Isključite sve što se veže sa ACPI
ACPI (Advanced Configuration and Power Interface) Support
YES ACPI Support
CPU Frequency scaling ---> OFF


Provjerite da li su sve postavke po defaultu, te sačuvajte dosadašnje postavke.


Sada ćemo se konektovati na SFTP i editovati dva fajla;


Prvi fajl; include/linux/jiffies.h


Skrolajte dole i nađite ovo;
#elif HZ >= 384 && HZ < 768
# define SHIFT_HZ 9
#elif HZ >= 768 && HZ < 1536
# define SHIFT_HZ 10
#else
# error You lose.
#endif


I zamijenite ga sa ovim;
#elif HZ >= 384 && HZ < 768
# define SHIFT_HZ 9
#elif HZ >= 768 && HZ < 1536
# define SHIFT_HZ 10
#elif HZ >= 1536 && HZ < 3072
# define SHIFT_HZ 11
#else
# error You lose.
#endif


Sačuvajte fajlove, i krećemo da editujemo include/asm-<distro>/param.h
Zavisi koliko je bita Vaš OS, pathovi su; asm-x86_64 za 64bita ili asm-i386 za 32bita


Na početku ovog fajla, nađite ovu sekciju;


#ifdef __KERNEL__
# define HZ CONFIG_HZ /* Internal kernel timer frequency */
# define USER_HZ 100 /* .. some user interfaces are in "ticks" */
# define CLOCKS_PER_SEC (USER_HZ) /* like times() */
#endif


I zamijenite je sa ovom;


#ifdef __KERNEL__
# define HZ CONFIG_HZ /* Internal kernel timer frequency */
# define USER_HZ 1500 /* .. some user interfaces are in "ticks" */
# define CLOCKS_PER_SEC (USER_HZ) /* like times() */
#endif


Sačuvajte, i to bi odprilike bilo to.


Sada ćemo pokrenitu sljedeće komande kako bi kompajlirali i sačuvali novi kernel;


make bzImage
make modules
make modules_install
make install


Komande kucajte jednu po jednu i sačekajte da svaka se završi do kraja, jer pokrećete kompajliranje kernela


Nemojte editovati fajl grub.conf u /etc, ostavite da je default 0.


Prvo ćemo testirati kernel koji smo kompajlirali i kucamo sljedeće komande;


grub
savedefault --default=0 --once
quit


Ukoliko ste pogriješili bilo gdje u kompajlaciji Vašeg kernela, tako možete restartovati Vaš dedicated server i podići će se na starom kernelu.


Ukoliko kernel radi kako ste očekivali i ukoliko želite da ga postavite kao defaultni za Vaš dedicated server, editujte /etc/grub.conf i stavite defualt=0

Nema komentara:

Objavi komentar