Kako prilagoditi jedro Ubuntu
Prilagajanje jedra ni za vsakogar. Prosimo, upoštevajte, preden poskusite kaj od tega, da lahko prekine vaš sistem.
Obstaja veliko razlogov, zaradi katerih bi želeli prilagoditi jedro. Morda boste želeli izrezati jedro samo do potrebnih storitev, še posebej, če uporabljate strežnik ali namensko napravo, ki zahteva samo bistvene. Morda boste morali tudi popraviti jedro, da boste podprli strojno opremo, ki trenutno ni podprta z jedrom, v katerem se izvajate.
Ta članek ne pojasnjuje, kako popraviti vaše jedro, temveč kako prilagoditi trenutno jedro. Imel bom še en članek, ki pojasnjuje, kako popraviti vaše jedro, in nekaj praktičnih razlogov, zakaj bi to želeli storiti.
Za začetek moramo ugotoviti, katera različica jedra, ki ga trenutno izvajamo. Za to bomo uporabili ukaz uname
$ uname -r
2.6.17-10-generično
Zdaj moramo namestiti vir linux za vaše jedro, upoštevajte, da izvajam jedro 2.6.17-10, tako da vrstica namestitve odraža to. Za namene tega člena lahko kernel številko nadomestite s katerim koli, ki se izvaja. Prav tako moramo namestiti knjižnico curses in nekaj drugih orodij, ki nam bodo pomagali pri prevajanju.
sudo apt-get install linux-source-2.6.17 kernel-paket libncurses5-dev fakeroot
Če vas zanima, kje se namesti vir linux, lahko z ukazom dpkg poveste datoteke v paketu. Tukaj je izhod v mojem sistemu:
$ 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
(obrezano)
Vidimo lahko, da je bil vir nameščen v imenik / usr / src v stisnjeni datoteki.
Da bi olajšali stvari, se bomo postavili v korenski način z uporabo sudo za odpiranje nove lupine. Obstajajo drugi načini za to, toda raje imam ta način.
sudo / bin / bash
Sedaj spremenite imenik v izvorno lokacijo, da bomo lahko namestili. Upoštevajte, da boste morda morali namestiti pripomoček bunzip, če ni nameščen. (bilo je na mojem)
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
Naredite kopijo obstoječe konfiguracije jedra, ki jo boste uporabili za postopek prevajanja po meri. Upoštevajte, da je znak pod tildo ~
cp / boot / config-'uname -r '/usr/src/linux/.config
Zdaj bomo zagnali pripomoček, ki nam bo omogočil prilagoditev jedra:
cd / usr / src / linux
naredite menuconfig
Najprej pojdite na možnost Naloži nadomestno konfiguracijsko datoteko in naložite datoteko .config. (samo pritisnite Enter)
Zdaj, ko smo znotraj pripomočka, lahko nastavimo možnosti za naše jedro po meri. Navigacija je precej preprosta, na vrhu je legenda, če se izgubite. Odločil sem se, da izberem Networking in pritisnem tipko Enter, da se spustim v to kategorijo.
Amateur Radio podpora? Kaj za vraga je to nameščeno? Z * boste opazili, da je vgrajeno v jedro.
S pritiskom na gumb? ključ, lahko vidimo pomoč za določen element. Tu je pojasnilo:
To bom takoj onemogočil. Zakaj je to vsekakor nameščeno v mojem jedru? Zadel sem Esc, da zaprem zaslon za pomoč, nato pa pritisnem N, da to izključim iz jedra.
Ko končate z izbiranjem želenih možnosti, pritisnite tipko Izhod in shranite konfiguracijo, ko jo boste pozvali.
Zdaj imamo pripravljeno konfiguracijo za prevajanje. Najprej bomo naredili čistko, samo da se prepričamo, da je vse pripravljeno za prevajanje.
make-kpkg čist
Nato bomo dejansko prevedli jedro. To bo trajalo LONG FREAKING TIME, zato pojdite poiskati nekaj zanimivega.
fakeroot make-kpkg -initrd -append-to-version = -custom kernel_image kernel_headers
Ta proces bo ustvaril dve .deb datoteki v / usr / src, ki vsebujejo jedro. Datoteka linux-image **** je dejanska slika jedra, druga datoteka pa vsebuje datoteko Lahko namestite oba z dpkg. Imena datotek bodo verjetno drugačna v vašem sistemu.
Upoštevajte, da bo pri zagonu naslednjih ukazov novo jedro nastavljeno kot novo privzeto jedro. To bi lahko zlomilo stvari! Če se vaš računalnik ne zažene, lahko pritisnete Esc na meniju GRUB loading in izberete staro jedro. Nato lahko onemogočite jedro v /boot/grub/menu.lst ali poskusite znova.
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
Zdaj ponovno zaženite računalnik. Če vse deluje, morate izvajati novo jedro po meri. To lahko preverite z uname. Upoštevajte, da bo točno število na vašem računalniku drugačno.
uname -r
2.6.17.14-ubuntu1-po meri
Načrtujem pisanje niza člankov o prilagoditvi jedra, zato se naročite na vir RSS za posodobitve.
Tudi, v interesu popolnega razkritja, sem se naučil, kako to narediti iz članka v HowtoForge, ki je odlična spletna stran za nekatere zelo napredne vaje o linuxu. Opazili boste, da so mnogi koraki v tem članku podobni, čeprav sem poskušal narediti ta članek bolj »Ubuntu«.