Išleistas branduolys 3.16 – kompiliuoti ir įdiegti Debian GNU/Linux
Branduolis yra bet kurios operacinės sistemos pagrindas. Pagrindinė branduolio funkcija yra veikti kaip tarpininkas tarp programos – procesoriaus, programos – atminties ir programos – įrenginių (I/O). Jis veikia kaip atminties tvarkyklė, įrenginių tvarkyklė ir dalyvauja sistemos skambučiuose, ne tik atlieka kitas užduotis.
„Linux“ branduolys yra jo širdis. „Linux“ branduolys yra išleistas pagal GNU bendrąją viešąją licenciją. Linusas Torvaldsas sukūrė Linux branduolį 1991 m. ir atėjo su pradine branduolio leidimo versija 0.01. 2014 m. rugpjūčio 3 d. (šiemet) buvo išleista Branduolė 3.16. Per šiuos 22 metus „Linux“ branduolys buvo daug tobulinamas. Dabar prie Linux branduolio prisideda tūkstančiai įmonių, milijonai nepriklausomų kūrėjų.
Apytikslis didelių prekių ženklų įvertinimas ir jų indėlis į dabartinį „Linux“ branduolį, kuriame turėtų būti 17 milijonų kodo eilučių pagal Linux Foundation, Linux branduolio plėtros ataskaitą.
- „RedHat“ – 10,2 proc.
- „Intel“ – 8,8 proc.
- „Texas Instruments“ – 4,1 proc.
- „Linaro“ – 4,1 proc.
- SUSE – 3,5 proc.
- IBM – 3,1 proc.
- „Samsung“ – 2,6 proc.
- „Google“ – 2,4 proc.
- Vizijos graviravimo sistemos – 2,3 proc.
- „Wolfson Microelectronics“ – 1,6 proc.
- „Oracle“ – 1,3 proc.
- „Broadcom“ – 1,3 proc.
- „Nvidia“ – 1,3 proc.
- Nemokama skalė – 1,2 proc.
- „Ingics Technology“ – 1,2 proc.
- „Cisco“ – 0,9 %
- „Linux Foundation“ – 0,9 proc.
- AMD – 0,9 proc.
- Akademikai – 0,9 proc.
- NetAPP – 0,8 %
- „Fujitsu“ – 0,7 proc.
- paralelės – 0,7 proc.
- ARM – 0,7 proc.
Septyniasdešimt procentų branduolio kūrimo atlieka kūrėjai, dirbantys įmonėse ir už tai mokama, skamba įdomiai?
„Linux Kernel 3.16“ yra išleistas individualiems ir gamybinėje aplinkoje esančioms įmonėms, kurios atnaujins savo branduolį dėl daugelio priežasčių, tarp kurių yra keletas.
- Saugumo pataisos
- Stabilumo didinimas
- Atnaujintos tvarkyklės – geresnis įrenginio palaikymas
- Apdorojimo greičio gerinimas
- Naujausios funkcijos ir kt
Šiuo straipsniu siekiama atnaujinti Debian'o branduolį Debian'o būdu, o tai reiškia mažiau rankinio darbo, mažiau rizikos, tačiau tobulai. Vėlesnėje šio straipsnio dalyje taip pat atnaujinsime Ubuntu branduolį.
1 veiksmas: branduolio 3.16 atsisiuntimas
Prieš tęsdami, turime žinoti apie esamą branduolį, kuris yra įdiegtas.
avi@tecmint:~$ uname -mrns
Linux tecmint 3.14-1-amd64 x86_64
Apie parinktis:
- -s : spausdinimo operacinė sistema („Linux“, čia).
- -n : Spausdinimo sistemos pagrindinio kompiuterio pavadinimas ("tecmint", čia).
- -r : spausdinimo branduolio versija („tecmint 3.14-1-amd64“, čia).
- -m : spausdinimo aparatinės įrangos instrukcijų rinkinys („x86_64“, čia).
Atsisiųskite naujausią stabilų branduolį iš toliau pateiktos nuorodos. Nesijaudinkite dėl pataisų atsisiuntimo nuorodos. Atsisiųskite tą, kuriame aiškiai parašyta – „NAUJIAUSIAS STABILUS branduolys“.
- https://www.kernel.org/
Arba galite naudoti wget, kad atsisiųstumėte branduolį, kuris yra patogesnis.
avi@tecmint:~/Downloads$ wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.16.tar.xz
2 veiksmas: patikrinkite branduolio 3.16 parašą
Kai atsisiuntimas bus baigtas ir prieš judėdami į priekį, primygtinai rekomenduojama patikrinti branduolio parašą.
avi@tecmint:~/Downloads$ wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.16.tar.sign
Parašo patikrinimas turi būti atliktas naudojant nesuspaustą failą. Tam reikia vieno parašo prieš įvairius glaudinimo formatus, pvz., .gz, .bz2, .xz.
Tada išskleiskite Linux branduolio vaizdą.
avi@tecmint:~/Downloads$ unxz linux-3.16.tar.xz
Patvirtinkite tai prieš parašą.
avi@tecmint:~/Downloads$ gpg --verify linux-3.16.tar.sign
Pastaba: jei aukščiau pateikta komanda išveda gpg: Nepavyksta patikrinti parašo: viešasis raktas nerastas klaida. Tai reiškia, kad turime rankiniu būdu atsisiųsti viešąjį raktą iš PGP serverio.
avi@tecmint:~/Downloads$ gpg --recv-keys 00411886
Atsisiuntę raktą dar kartą patikrinkite raktą.
avi@tecmint:~/Downloads$ gpg --verify linux-3.16.tar.sign
Ar pastebėjote du dalykus, susijusius su gpg rakto patvirtinimu?
- gpg: geras parašas iš „Linus Torvalds <[email >“.
- Pagrindinio rakto piršto atspaudas: ABAF 11C6 5A29 70B1 30AB E3C4 79BE 3E43 0041 1886 .
Nėra ko jaudintis dėl rakto pirštų atspaudų, dabar esame tikri, kad archyvas yra gerai ir pasirašytas. Judame pirmyn!
3 veiksmas: reikalingų paketų įdiegimas
Prieš pradėdami kurti branduolį, turime įdiegti tam tikrus paketus, kad palengvintume branduolio kūrimo ir diegimo procesą ir tai atliktume nerizikingai Debian'u.
Įdiekite libcurse5-dev, fakeroot ir branduolio paketą.
avi@tecmint:~/Downloads$ sudo apt-get install libncurses5-dev
avi@tecmint:~/Downloads$ sudo apt-get install fakeroot
avi@tecmint:~/Downloads$ sudo apt-get install kernel-package
4 veiksmas: branduolio kūrimas 3.16
Sėkmingai įdiegę aukščiau nurodytus paketus, esame pasirengę kurti branduolį. Perkelkite į ištrauktą „Linux“ branduolio vaizdą (išskleidėme aukščiau, tikrindami parašą).
avi@tecmint:~/Downloads$ cd linux-3.16/
Dabar svarbu nukopijuoti esamą branduolio konfigūraciją, kad darbinis katalogas būtų rodomas kaip root naudotojas.
cp /boot/config-'uname -r' .config
Jis kopijuoja /boot/config-'uname -r', kad pateiktų darbo katalogą „/home/avi/Downloads/linux-3.16“ ir išsaugomas kaip „.config'.
Čia „uname -r“ bus automatiškai pakeistas ir apdorotas šiuo metu įdiegta branduolio versija.
Kadangi taškinio failo negalima matyti įprastu būdu, turite naudoti parinktį „-a“ su ls, kad peržiūrėtumėte jį dabartiniame darbo kataloge.
ls -al
Yra trys Linux branduolio kūrimo būdai.
- make oldconfig : tai interaktyvus būdas, kai branduolys po vieną užduoda klausimą, ką jis turėtų palaikyti, o ko ne. Tai labai daug laiko reikalaujantis procesas.
- make menuconfig : tai komandų eilutės meniu pagrįsta sistema, kurioje vartotojas gali įjungti ir išjungti parinktį. Tam reikalinga ncurses biblioteka, todėl mes tai nustatome aukščiau.
- padaryti qconfig/xconfig/gconfig: tai grafiniu meniu pagrįsta sistema, kurioje vartotojas gali įjungti ir išjungti parinktį. Tam reikia QT bibliotekos.
Akivaizdu, kad naudosime „make menuconfig“.
Bijote sukurti branduolį? Jūs neturėtumėte būti. Tai smagu, yra daug dalykų, kuriuos sužinosite. Turėtumėte nepamiršti šių dalykų.
- Jūsų techninės įrangos poreikiai ir atitinkamos tvarkyklės.
- Rinkitės naujas funkcijas, kol patys kuriate branduolį – didelės atminties palaikymas.
- Optimizuokite branduolį – pasirinkite tik tas tvarkykles, kurių jums reikia. Tai pagreitins jūsų įkrovos procesą. Jei nesate tikri dėl kurio nors vairuotojo, geriau įtraukite jį.
Dabar paleiskite komandą „make menuconfig“.
make menuconfig
Svarbu: turite pasirinkti „PASIRINKTI – ĮJUNGTI Įkeliamo modulio palaikymą“, jei pamiršite tai padaryti, ištiks sunkūs laikai .
Pastaba: atidarytuose konfigūracijos languose galite konfigūruoti įvairias tinklo plokštės, „Bluetooth“, jutiklinės dalies, grafikos plokštės, failų sistemos palaikymo, pvz., NTFS, ir daugelio kitų parinkčių.
Nėra mokymo programos, kuri padėtų jums pasirinkti, ką turėtumėte pasirinkti, o ko ne. Tai sužinosite tik tyrinėdami, studijuodami žiniatinklyje, mokydamiesi iš tecmint vadovėlių ir visais kitais įmanomais būdais.
Galite pamatyti, kad yra galimybė įsilaužti į branduolį. Įsilaužimas? Taip! Čia tai reiškia tyrinėjimą. Galite pridėti įvairių parinkčių pagal branduolio įsilaužimą ir naudoti daugybę funkcijų.
Tada pasirinkite Bendrosios tvarkyklės parinktys.
Tinklo įrenginių palaikymas.
Įvesties įrenginio palaikymas.
Įkelkite konfigūracijos failą (.config), kurį išsaugojome iš /boot/config-`uname –r`.config.
Spustelėkite Gerai, išsaugokite ir išeikite. Dabar išvalykite šaltinio medį ir iš naujo nustatykite branduolio paketo parametrus.
make-kpkg clean
5 veiksmas: branduolio 3.16 kompiliavimas
Prieš pradėdami kompiliuoti branduolį, turime eksportuoti CONCURRENCY_LEVEL. LYGIAUS LYGIS nykščio turi taisyklę pridėti skaičių 1 prie branduolio branduolių. Jei turite 2 branduolius, eksportuokite CONCURRENCY_LEVEL=3. Jei turite 4 branduolius, eksportuokite CONCURRENCY_LEVEL=5.
Norėdami patikrinti procesoriaus branduolius, galite naudoti cat komandą, kaip parodyta toliau.
cat /proc/cpuinfo
Pavyzdžio išvestis
Sample Output
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 69
model name : Intel(R) Core(TM) i3-4005U CPU @ 1.70GHz
stepping : 1
microcode : 0x17
cpu MHz : 799.996
cache size : 3072 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
Matote aukščiau pateiktą išvestį, aš turiu 2 branduolius, todėl eksportuosime 3 branduolius, kaip parodyta žemiau.
export CONCURRENCY_LEVEL=3
Nustačius teisingą CONCURRENCY_LEVEL, branduolio kompiliavimo laikas paspartės.
fakeroot make-kpkg --append-to-version "-tecmintkernel" --revision "1" --initrd kernel_image kernel_headers
Čia „tecminkernel“ yra branduolio versijos pavadinimas. Tai gali būti bet kas, pradedant nuo jūsų vardo, jūsų pagrindinio kompiuterio vardo, jūsų augintinio vardo ar bet ko kito.
Branduolio kompiliavimas užtrunka daug laiko, priklausomai nuo kompiliuojamų modulių ir mašinos apdorojimo galios. Iki kompiliavimo pažvelkite į kai kuriuos branduolio kompiliavimo DUK.
Dažnai užduodami klausimai
Q1. Mano branduolys yra kompiliuojamas ilgą laiką. Ar tai normalu.
Q2. Jei nutraukiu branduolį, kol jis buvo kompiliuojamas, ar man reikia viską pradėti iš naujo?
Q3. Sukompiliuotus failus galima naudoti skirtingose sistemose branduoliui atnaujinti?
4 klausimas. Ar priglobsite savo sudarytą failą?
Q5. Ar mano saugykloje yra tokių paketų kaip fakeroot ir ncurses5-dev?
6 klausimas. Ar galėsiu paleisti paskutinį branduolį, kai įdiegsiu naujausią branduolį.
7 klausimas. Susiduriu su branduolio atnaujinimo problema. Ar padėsite man? Ar tai apmokestinama?
Q8. Mano įmonė susiduria su problema atnaujindama branduolį. Ar jūsų komanda mums padės? Ar tai apmokestinama?
Tai DUK pabaiga, leiskite man pereiti prie kompiliavimo proceso. Po sėkmingo branduolio kompiliavimo jis sukuria du failus (Debian paketą), vieną katalogą „viršuje“ dabartinio darbo katalogo.
Mūsų dabartinis darbo katalogas yra.
/home/avi/Downloads/linux-3.16/
Debian paketai kuriami adresu.
/home/avi/Downloads
Norėdami tai patikrinti, paleiskite šias komandas.
cd ..
ls -l linux-*.deb
Tada paleiskite taip sukurtą „Linux“ vaizdo failą.
dpkg -i linux-image-3.16.0-tecmintkernel_1_amd64.deb
Paleiskite taip sukurtą Linux antraštės failą.
dpkg -i linux-headers-3.16.0-tecmintkernel_1_amd64.deb
Viskas padaryta! Mes sėkmingai sukūrėme, sukompiliavome ir įdiegėme naujausią Linux branduolį 3.16 Debian'e su visomis kitomis priklausomybėmis. Be to, „Debian“ paketui pavyko automatiškai atnaujinti įkrovos įkroviklį (GRUB/LILO). Atėjo laikas iš naujo paleisti ir išbandyti naujausią branduolį.
Būtinai atkreipkite dėmesį į bet kokį klaidos pranešimą, kurį galite gauti paleidžiant. Svarbu suprasti šią klaidą, kad jas išspręstumėte, jei tokių yra.
reboot
Kai tik Debianas vėl paleidžiamas, spustelėkite „Išplėstinė parinktis“, kad pamatytumėte galimų ir įdiegtų branduolių sąrašą.
Peržiūrėkite įdiegtų branduolių sąrašą.
Norėdami paleisti, pasirinkite naujausią sukompiliuotą branduolį (ty 3.16).
Patikrinkite branduolio versiją.
uname -mrns
Naujausias, įdiegtas dabar, yra nustatytas paleisti automatiškai ir jums nereikia jo kiekvieną kartą pasirinkti iš išplėstinių įkrovos parinkčių.
6 veiksmas: įdiekite iš anksto sukompiliuotą branduolį 3.16
Tiems, kurie nenori kompiliuoti savo branduolio Debian'e (x86_64) ir nori naudoti iš anksto sukompiliuotą branduolį, kurį sukūrėme šioje pamokoje, jie gali jį atsisiųsti iš toliau pateiktos nuorodos. Šis branduolys gali neveikti kai kuriai jūsų turimai aparatūrai.
- linux-image-3.16.0-linux-console.net_kernel_1_amd64.deb
- linux-headers-3.16.0-linux-console.net_kernel_1_amd64.deb
Tada įdiekite iš anksto sukompiliuotą branduolį naudodami šią komandą.
dpkg -i linux-image-3.16.0-linux-console.net_kernel_amd64.deb
dpkg -i linux-headers-3.16.0-linux-console.net_kernel_amd64.deb
Nenaudojamą branduolį galima pašalinti iš sistemos naudojant komandą.
apt-get remove linux-image-(unused_version_number)
Atsargiai: turėtumėte pašalinti seną branduolį, kruopščiai išbandę naujausią branduolį. Neskubėkite priimti sprendimo. Turėtumėte tęsti tik tada, kai žinote, ką darote.
Jei padarėte kažką ne taip pašalindami norimą branduolį arba pašalinote branduolį, kurio neturėjote, jūsų sistema atsidurs tokioje stadijoje, su kuria negalėsite dirbti.
Pašalinę nenaudojamą branduolį galite gauti tokį pranešimą kaip.
- Nuoroda /vmlinuz yra sugadinta nuoroda.
- Pašalinama simbolinė nuoroda vmlinuz.
- Gali tekti iš naujo paleisti įkrovos įkroviklį[grub].
- Nuoroda /initrd.img yra sugadinta nuoroda.
- Pašalinama simbolinė nuoroda initrd.img .
- Gali tekti iš naujo paleisti įkrovos įkroviklį[grub].
Tai normalu ir jums nereikia jaudintis. Tiesiog atnaujinkite savo GRUB naudodami šią komandą.
/usr/sbin/update-grub
Gali tekti atnaujinti failą /etc/kernel-img.conf ir išjungti „do_symlinks“, kad išjungtumėte šiuos pranešimus. Jei galite iš naujo paleisti ir vėl prisijungti, nėra jokių problemų.
Tai kol kas viskas. Būsiu čia dar su kitu įdomiu straipsniu. Iki tol sekite naujienas ir prisijunkite prie Tecmint. Nepamirškite pateikti mums vertingų atsiliepimų toliau pateiktame komentarų skyriuje. Taip pat papasakokite apie savo patirtį, kai susiduriate su branduolio kompiliavimu ir diegimu.
Taip pat skaitykite :
- Įdiekite branduolį 3.16 Ubuntu
- Sukompiliuokite ir įdiekite branduolį 3.12 sistemoje Debian Linux