Kako prilagoditi Ubuntu Kernel
Prilagodba jezgre nije za svakoga. Imajte na umu da prije nego što isprobate bilo što od ovoga, možete razbiti vaš sustav.
Postoji mnogo razloga zbog kojih biste željeli prilagoditi svoj kernel. Možda ćete htjeti smanjiti kernel samo do potrebnih usluga, pogotovo ako koristite poslužitelj ili namjenski uređaj koji zahtijeva samo osnovne elemente. Također ćete možda morati zakrpiti svoj kernel kako biste podržali hardver koji trenutno nije podržan s kernelom na kojem se izvodi.
Ovaj članak neće objasniti kako se zakrpa vaš kernel, već kako prilagoditi vaš trenutni. Imat ću još jedan članak u nastavku koji objašnjava kako se zakrpa vaš kernel i neki praktični razlozi zbog kojih biste htjeli to učiniti.
Za početak, moramo shvatiti koju verziju kernela trenutno pokrećemo. Za to ćemo koristiti uname naredbu
$ uname -r
2.6.17-10-generic
Sada trebamo instalirati linux izvor za vaš kernel, imajte na umu da sam pokrenut 2.6.17-10 kernel, tako da instalacijska linija odražava to. Za potrebe ovog članka, možete zamijeniti broj kernela za sve što se izvodi. Također trebamo instalirati knjižnicu curses i neke druge alate koji će nam pomoći da sastavimo.
sudo apt-get install linux-source-2.6.17 kernel-paket libncurses5-dev fakeroot
Ako ste znatiželjni gdje se instalira izvorni kod linuxa, možete koristiti naredbu dpkg da bi vam ispričali datoteke unutar paketa. Evo rezultata na mom sustavu:
$ dpkg -L linux-source-2.6.17
/.
/ usr
/ Usr / src
/usr/src/linux-source-2.6.17.tar.bz2
/ Usr / share
/ Usr / share / doc
/usr/share/doc/linux-source-2.6.17
(Obrubljen)
Možemo vidjeti da je izvor instaliran u direktorij / usr / src u zip datoteci.
Da bismo olakšali stvari, stavit ćemo se u korijenski način pomoću sudo za otvaranje nove ljuske. Postoje drugi načini da se to učini, ali ja radije ovako.
sudo / bin / bash
Sada promijenite direktorij u izvornu lokaciju tako da možemo instalirati. Imajte na umu da ćete možda morati instalirati uslužni program bunzip ako nije instaliran. (bilo je na mom)
cd / usr / src
bunzip2 linux-source-2.6.17.tar.bz2
tar xvf linux-source-2.6.17.tar
ln -s linux-source-2.6.17 linux
Izradite kopiju postojeće konfiguracije jezgre koja će se koristiti za prilagođeni postupak kompajliranja. Imajte na umu da je 'znak ispod tilde ~
cp / boot / config-'uname -r '/usr/src/linux/.config
Sada ćemo pokrenuti uslužni program koji će nam omogućiti prilagodbu kernela:
cd / usr / src / linux
napraviti menuconfig
Prvo idite dolje na Učitaj alternativnu konfiguracijsku datoteku i učitajte .config datoteku. (samo pritisnite Enter)
Sada kada smo unutar uslužnog programa, možemo postaviti opcije za naš prilagođeni kernel. Navigacija je prilično jednostavna, postoji legenda na vrhu ako se izgubite. Odlučio sam odabrati Networking i pritisnuti tipku Enter da bi se spustio u tu kategoriju.
Amaterska radio podrška? Za što je, dovraga, to instalirano? Primijetit ćete * da je ugrađena u kernel.
Pritiskom na? ključ, možemo vidjeti pomoć za tu određenu stavku. Evo objašnjenja:
Pa, odmah ću to onesposobiti. Zašto je to uopće instalirano u moj kernel? Pritisnuo sam Esc da izađem iz zaslona pomoći, a zatim pritisnemo N da to isključim iz kernela.
Kada završite s izborom željenih izbora, pritisnite Exit i spremite konfiguraciju kada se to od vas zatraži.
Sada imamo konfiguraciju spremnu za kompajliranje. Prvo ćemo napraviti čisto čišćenje, samo da bismo bili sigurni da je sve spremno za kompajliranje.
make-kpkg čist
Zatim ćemo zapravo sastaviti kernel. Ovo će trajati dulje vrijeme, pa idite i pronađite nešto zanimljivo.
fakeroot make-kpkg -initrd -append-to-version = -custom kernel_image kernel_headers
Ovaj proces će stvoriti dvije .deb datoteke u / usr / src koje sadrže kernel. Datoteka linux-image **** je stvarna slika jezgre, a druga datoteka sadrži Možete instalirati oba s dpkg. Imena datoteka na vašem sustavu vjerojatno će se razlikovati.
Imajte na umu da kada pokrenete sljedeće naredbe, ovo će postaviti novi kernel kao novi zadani kernel. To bi moglo razbiti stvari! Ako se vaš uređaj ne pokrene, možete pritisnuti Esc na GRUB izborniku za učitavanje i odabrati svoj stari kernel. Zatim možete onemogućiti kernel u /boot/grub/menu.lst ili ponovno pokušati kompajlirati.
dpkg -i linux-image-2.6.17.14-ubuntu1-custom_2.6.17.14-ubuntu1-custom-10.00.Custom_i386.deb
dpkg -i linux-headers-2.6.17.14-ubuntu1-custom_2.6.17.14-ubuntu1-custom-10.00.Custom_i386.deb
Sada ponovno pokrenite stroj. Ako sve radi, trebali biste pokrenuti novi prilagođeni kernel. To možete provjeriti koristeći uname. Imajte na umu da će se točan broj na vašem računalu razlikovati.
uname -r
2.6.17.14-ubuntu1-običaj
Planiram napisati niz članaka o prilagodbi jezgre, tako da se pretplatite na RSS feed za ažuriranja.
Također, u interesu potpunog otkrivanja, naučio sam kako to učiniti iz članka na HowtoForge, koji je odlična web stranica za neke vrlo napredne tutoriale na linuxu. Primijetit ćete da su mnogi koraci u ovom članku slični, iako sam pokušao učiniti ovaj članak još "Ubuntu".