Branduolio pritaikymas nėra skirtas visiems. Prašome atkreipti dėmesį, prieš bandydami bet kokį tai, kad jis gali sugadinti jūsų sistemą.
Yra keletas priežasčių, kodėl norėtumėte pritaikyti savo branduolį. Galbūt norėsite sumažinti savo branduolį tik reikiamomis paslaugomis, ypač jei naudojate serverį arba specialųjį įrenginį, kuris reikalauja tik esminių dalykų. Jums taip pat gali tekti pataisyti savo branduolį, kad būtų palaikoma aparatinė įranga, kuri šiuo metu nėra palaikoma naudojant branduolį.
Šiame straipsnyje nebus paaiškinta, kaip pataisyti jūsų branduolį, tik kaip pritaikyti dabartinį. Aš turėsiu kitą tolesnį straipsnį, kuriame paaiškinama, kaip pataisyti branduolį ir kai kurias praktines priežastis, kodėl norėtumėte tai padaryti.
Norėdami pradėti, turime išsiaiškinti, kokia šiuo metu veikiančios branduolio versija. Mes tai naudosime komandą uname
$ uname -r
2.6.17-10-generic
Dabar turime įdiegti savo branduolio Linux šaltinį, atkreipkite dėmesį į tai, kad naudoju branduolį 2.6.17-10, todėl tai parodo montuotojo eilutė. Šiame straipsnyje galite pakeisti branduolio numerį, kad veiktų. Taip pat turime įdiegti "curses" biblioteką ir keletą kitų priemonių, kad padėtume mums surinkti.
sudo apt-get install linux-source-2.6.17 kernel-package libncurses5-dev fakeroot
Jei jums įdomu, kur įdiegtas "linux" šaltinis, galite naudoti komandą dpkg, kad praneštumėte, kokie failai yra paketo viduje. Štai mano sistemos išvestis:
$ 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 (trimmed)
Mes galime pamatyti, kad šaltinis įdiegtas kataloge / usr / src į archyvuotą failą.
Kad viskas būtų lengviau, mes sukursime šakninį režimą, naudodami sudo, kad atidarytumėte naują apvalkalą. Yra ir kitų būdų tai padaryti, bet aš norėčiau tokiu būdu.
sudo /bin/bash
Dabar pakeiskite katalogą į šaltinio vietą, kad galėtume įdiegti. Atkreipkite dėmesį, kad gali tekti įdiegti "bunzip" programinę įrangą, jei ji nėra įdiegta. (tai buvo mano)
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
Sukurkite esamos esamos branduolio konfigūracijos kopiją, kad galėtumėte naudoti pasirinktinį kompiliavimo procesą. Atkreipkite dėmesį, kad simbolis yra tas, kuris yra žemiau tildės ~
cp /boot/config-`uname -r` /usr/src/linux/.config
Dabar paleisime įrankį, kuris leis mums pritaikyti branduolį:
cd /usr/src/linux
make menuconfig
Pirma, eikite žemyn į alternatyvių konfigūracijos failą ir įkelkite failą.config. (tiesiog paspauskite "Enter")
Dabar, kai esame įrankio viduje, galime nustatyti mūsų pasirinktinį branduolį. Navigacija yra gana paprasta, jei pasiklydote, viršuje yra legenda. Aš nusprendžiau pasirinkti Networking ir paspauskite klavišą Enter, kad pereitumėte į tą kategoriją.
Kai baigsite kokius nors pasirinkimus, spustelėkite Išeiti ir išsaugokite konfigūraciją, kai pasirodys paraginimas.
Dabar mes turime konfigūraciją pasiruošti kompiliuoti. Pirmiausia mes padarysime švarų, tik įsitikinkite, kad viskas paruošta kompiliacijai.
make-kpkg clean
Toliau mes iš tikrųjų sukursime branduolį. Tai užtruks ilgai trunkantį laiką, todėl raskite kažką įdomaus.
fakeroot make-kpkg –initrd –append-to-version=-custom kernel_image kernel_headers
Šis procesas sukurs du.deb failus / usr / src, kuriuose yra branduolys. Failas linux-image **** yra tikrasis branduolio vaizdas, o kitame faile yra Jūs galite įdiegti abu kartu su dpkg. Failų pavadinimai turbūt bus skirtingi jūsų sistemoje.
Atminkite, kad paleidus šias kitas komandas, tai nustatys naują branduolį kaip naują numatytąjį branduolį. Tai gali sugadinti dalykus! Jei jūsų kompiuteris nekraunamas, galite paspausti Esc GRUB įkėlimo meniu ir pasirinkti seną branduolį. Tuomet tuomet galite išjungti / / boot / grub / menu.lst arba iš naujo pabandyti ir kompiliuoti.
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
Dabar paleiskite kompiuterį iš naujo. Jei viskas veikia, turėtumėte naudoti naują pritaikytą branduolį. Tai galite patikrinti naudodami uname. Atminkite, kad jūsų kompiuteryje bus nurodytas tikslus skaičius.
uname -r
2.6.17.14-ubuntu1-custom
Aš ketinu parašyti straipsnių seriją apie branduolio pritaikymą, todėl užsiprenumeruokite naujienų RSS.
Be to, siekiant visiško atskleidimo, aš sužinojau, kaip tai padaryti iš straipsnio "HowtoForge", kuris yra puiki svetainė kai kuriuose labai pažengtuose "Linux" žinynuose. Jūs pastebėsite, kad daugelis šio straipsnio žingsnių yra panašūs, nors bandiau padaryti šį straipsnį dar "Ubuntu".