Jūs esate

Linux branduolio perkompiliavimas

Senas mano straipsnis. Gal pravers :) Linux branduolio perkompiliavimas Sistemos branduolys – tai pagrindinė operacinės sistemos (OS) dalis, atsakinga už teisingą sąveiką tarp kompiuterio programinės įrangos ir techninės. Operacinės sistemos branduolys valdo kompiuterio techninę įrangą ir suteikia galimybę programoms naudotis techninės įrangos funkcijomis. Branduolys turi branduolio funkcijas, kreipiantis į kurias galima valdyti techninę įrangą. Linux operacinės sistemos branduolys yra /boot kataloge ir pavadintas vmlinuz-branduolio_versija. Pavyzdžiui pas mane branduolys yra vmlinuz-2.6.13-15.10-default Tai rodo, kad aš naudoju 2.6.13-15.10-default versijos branduolį. Branduolys paprastai nedidelis, apie 1,5MB dydžio, bet dydį galima pasikeisti – priklauso nuo to, ką mes tame branduolyje turime. Linux sistemoje branduolį galima perkompiliuoti. Kitaip tariant – Jūs galite pasikeisti branduolį pagal save. Jeigu Jūs branduolyje aptiksite funkcijas, kurių Jums tikrai nereikia, galite jas drąsiai išjungti – problemų nekils. Pavyzdžui, pas mane nėra RAID diskų masyvo. Tad aš paprasčiausiai išjungiau šią funkciją branduolyje (neįtraukiau jos į branduolį), tad branduolys sumažėjo. Taip pat pas mane nėra ISA plokščių kompiuteryje, tad šią galimybę taip pat išjungiau. Taip pat pas mane yra AMD Duron procesorius, o standartiškai branduolyje 586 branduolys. Privalumas – veikia ant visų kompų. Minusas – neišnaudoja procesorių specifinių funkcijų. Mes pabandysime saugiai pakeisti sistemą, kad kompiuteris veiktų, bet neatsitiktų nieko blogo. Kitaip tariant, mes perkompiluosime branduolį. Pradedam! 1.Paleidžiame konsolę ir su su komandos pagalba prisijungiame kaip administratorius (root). 2.Kopijuojame branduolio išeities tekstus į /usr/src/linux/ 3.Pereiname į /usr/src/linux/ ir rašome make menuconfig arba make xconfig (xconfig – grafinis branduolio konfiguratorius). 4.Išsirenkame branduolio parametrus ir išsaugome. 5.Kosolėje rašome make dep 6.Tada make bzImage – taip bus sukompiliuotas branduolys. Tai užtruks apie 20 minučių, priklausomai nuo kompiuterio pajėgumo. 7.Kompiliuojame modulius: make modules Jeigu yra galimybė, būtų gerai pasidaryti katalogo /lib/modules/ atsarginę kopiją – dėl visa ko, jei sistema nesikrautų. Nors tai nėra būtina, bet atsarga gėdos nedaro. 8.Instaliuojame modulius: make modules_install Modulių kompiliavimas ir instaliavimas užtruks 1-2 valandas, priklausomai nuo kompiuterio pajėgumo. 9.Ir instaliuojame branduolį: make install 10.Naujas branduolys jau instaliuotas, tad jį reikia užkrauti. Suse Linux OS GRUB įkroviklis automatiškai prideda kraunamą branduolį . Lilo įkrovos valdiklį reikės dar sukonfiguruoti, kad krautų naują branduolį. Viskas! Turime naują branduolį. Aš perkompiliavęs branduolį jį sumažinau (senasis užėmė (1542697kB, naujasis 1533968kB) 8729 kB. Nedaug, bet šis bei tas. Tai pasiekiau atjungdamas RAID, ISA palaikymą (kurių man nereikia), taip pat pašalindamas garso sistemos modulius garso plokščių, kurių aš neturiu (pas mane yra C-Media 8738 ir VIA garso plokštės). Man paspartėjo sistemos krovimasis: senasis branduolys užsikraudavo per 1 min. 14,6 sekundės, o naujasis per 1 min. 10,7 sekundės (laimėjau 3,9 sekundės). Nedaug, bet tai visiškai nemokamai. Tiesa, jei kompiuteris silpnas, didelio spartos padidėjimo nesitikėkite, bet pabandyti visada galima. Turbūt Jums iškilo klausimas, ką galima atjungti/įjungti branduolyje, kad nesugadintume sistemos. Tad paprasčiausia pakeisti šiuos parametrus: „Processor type and features“ meniu pasirinkite: Processor family – savo procesoriaus tipą (aš pasirinkau Athlon/Duron/K7). „HPET Timer support“ - įjunkite. „Preemption Module“ - jei ne serveris, pasirinkite „Voluntary Kernel Preemption (Desktop)“ arba „Preemptible Kernel (Low-Latency Desktop)“. Aš pasirinkau pirmąjį. „High Memory Support“. Jei neturite 1-4 GB RAM, o iki 1 GB RAM – tada pasirinkite „off“. „Timer frequency“ - 1000Hz, jei pas jus namų kompiuteris, o ne serveris. Tai būtų pats paprasčiausias branduolio tobulinimas. Dar galima derinti įvairius RAID, Bluetooth etc. parametrus – pagal poreikius. Tad žiūrėkite, kaip Jums patogiau. Prie beveik kiekvieno masirinkimo punkto yra aprašymai, ką rekomenduojama daryti. Paskaitykite. Ir pabaigai – neprisižaiskite. Sistemos branduolys – jautrus daiktas. Jeigu Jums pasiseks jį pagerinti – gerai. Bet jei ne – bus darbo, kol vėl įkrausite sistemą. Jeigu nesate tikras, ar sugebėsite perkompiliuoti branduolį – geriau nekompiliuokite. Linux ir taip greitai veikia, tad kam be reikalo rizikuoti?

Komentarai

vmlinuz-2.6.13-15.10-default - ghah... Kada straipsnis rašytas? :D
"Minusas – neišnaudoja procesorių specifinių funkcijų."
Arba priešingai - sukompiliuoja modulį, kuris garantuotai veiks. Funkcijų ir spartos labai daug neprisideda (ypač jeigu nekompiliuoji nieko, nes visas šitas punktas iš esmės skirtas kompiliatoriams), todėl neapsimoka gaišti laiką ir jį rinktis. Tas pats ir su CPU type and features. :)

Seniai rašytas, seniai.

Komentuoti