Obrisao sam post vezan za instalaciju datoteka zaglavlja kernela (kernel-headers). Ovo je vezano za glibc, a ne za kernel. Nije preporučeno ažurirati kernel-headers kada ažurirate verziju kernela. Kernel-headers verzija bi trebalo da se poklapa sa verzijom krenela koji je korišćen kada je kompajliran glibc (tj. onim koji dolazi uz Slack). Ova verzija je neophodna kako bi bilo moguće rekompajliranje određenih sistemskih komponenti.
Više podataka ćete naći ovde: Building a Linux Kernel from Source @ http://docs.slackware.com/" onclick="window.open(this.href);return false;.
Kompajliranje i instalacija novog kernela
Moderator: Urednik
- Posts: 4591
- Joined: 04 Feb 2011, 20:32
- Location: Beograd
- Contact:
Pošto je ovo uklonjeno iz currenta, a nekome bi još moglo da posluži:
Config datoteke za huge i generic kernele za 3.18 seriju Pretpostavljam da znate, ali hajde:
x86_64 - 64-bitna verzija
smp - 32-bitna verzija sa podrškom za SMP - ovo bi trebalo da vam je podrazumevani izbor za sisteme sa više procesora, procesorom sa dva jezgra ili procesorom sa podrškom za hyperthreading.
Verzija bez posebne oznake je 32-bitna verzija bez podrške za SMP. Ovo je verzija za sisteme sa jednojezgarnim procesorom bez podrške za hyperthreading.
Config datoteke za huge i generic kernele za 3.18 seriju Pretpostavljam da znate, ali hajde:
x86_64 - 64-bitna verzija
smp - 32-bitna verzija sa podrškom za SMP - ovo bi trebalo da vam je podrazumevani izbor za sisteme sa više procesora, procesorom sa dva jezgra ili procesorom sa podrškom za hyperthreading.
Verzija bez posebne oznake je 32-bitna verzija bez podrške za SMP. Ovo je verzija za sisteme sa jednojezgarnim procesorom bez podrške za hyperthreading.
- Posts: 181
- Joined: 17 Jul 2015, 17:09
- Location: Levo od Albukerkija
Aloha!
Zanima me u čemu je razlika između kompajliranja novog kernela (kao što je opisano) i nadogradnje pomoću 'installpkg'?
Znam da je drugi način lakši/brži, ali me interesuje ima li nekih prednosti kada se to odradi po uputstvu s početka teme.
Hvala!
Zanima me u čemu je razlika između kompajliranja novog kernela (kao što je opisano) i nadogradnje pomoću 'installpkg'?
Znam da je drugi način lakši/brži, ali me interesuje ima li nekih prednosti kada se to odradi po uputstvu s početka teme.
Hvala!
- Posts: 3468
- Joined: 01 Apr 2012, 13:50
- Location: Mlečni put
Aloha,
razlika je ponajviše u tome što u kompajliranju kernela možeš da biraš šta će biti sadržano u kernelu, možeš da izbaciš drajvere za uređaje koje nemaš u kompu, da uradiš razne optimizacije za tvoj računar specifično (za cpu, ram, file system, izbaciš sve debuging opcije... baš svašta nešto) i naravno smanjiš veličinu samog kernela
Kod nadogradnje koja stiže putem redovnog update-a sistema, sve je već kompajlirano za veliki broj računara i razne konfiguracije, dakle ne samo za tvoj računar.
Lično, ja sam prestao da pravim podešavanja za moj komp, radim nadogradnju kad stigne redovno. Nemam ni vremena da čitam sve opcije a ima ih podosta Tada treba i pratiti razvoj kernela, šta se dobija novijim izdanjem, ima li smisla i potrebe raditi nadogradnju kernela.
Ako imaš vremena, možeš da skockaš sebi kernel i taj .config fajl koji dobiješ, možeš da koristiš praktično u bilo kojoj distribuciji koju poželiš da imaš na kompu
razlika je ponajviše u tome što u kompajliranju kernela možeš da biraš šta će biti sadržano u kernelu, možeš da izbaciš drajvere za uređaje koje nemaš u kompu, da uradiš razne optimizacije za tvoj računar specifično (za cpu, ram, file system, izbaciš sve debuging opcije... baš svašta nešto) i naravno smanjiš veličinu samog kernela
Kod nadogradnje koja stiže putem redovnog update-a sistema, sve je već kompajlirano za veliki broj računara i razne konfiguracije, dakle ne samo za tvoj računar.
Lično, ja sam prestao da pravim podešavanja za moj komp, radim nadogradnju kad stigne redovno. Nemam ni vremena da čitam sve opcije a ima ih podosta Tada treba i pratiti razvoj kernela, šta se dobija novijim izdanjem, ima li smisla i potrebe raditi nadogradnju kernela.
Ako imaš vremena, možeš da skockaš sebi kernel i taj .config fajl koji dobiješ, možeš da koristiš praktično u bilo kojoj distribuciji koju poželiš da imaš na kompu
- Posts: 4591
- Joined: 04 Feb 2011, 20:32
- Location: Beograd
- Contact:
Znaš li šta je kompajliranje? Znaš li razliku između izvornog koda i binarnih datoteka? Ako ne, onda je to jako teško objasniti.
Ali... Kompajliranje je prevođenje iz jednog oblika (izvorni kod) u drugi (binarni). Slackware paket je arhiva posebno pripremljenih već "prevedenih" (kompajliranih) datoteka. Dakle, taj kernel je neko (Patrick Volkerding) već morao da prevede.
Izvorni kod je dostupan i svako može da ga prevede, ali to je dugotrajan proces. Zato već gotov paket skraćuje vreme. Ali ko želi i dalje može da prevede kernel ukoliko želi da promeni neke od opcija kernela. Te opcije možeš da pogledaš i bez kompajliranja:
Postoji mali milion opcija, od kojih je distributor (u ovom slučaju Slackware tim) izbrao neki opšti izbor opcija koje bi trebale da rade na većini danas dostupnih računarskih konfiguracija.
Kernel se takođe može prilagoditi i specifičnom računaru, ali to je naporan proces u kome moraš da odlično poznaješ i svoj hardver i opcije kernela. U većini slučajeva je izbor koji je distributor napravio za tebe vrlo solidan.
Neke distribucije ne prave izbor za tebe. Na primer jedan od koraka pri instalaciji Gentoo Linuksa je prevođenje Linuks kernela. U tom slučaju ljudi često koriste unapred pripremljene šablone sa nekim opštim opcijama. A oni koji su kroz proces prošli dosta puta možda čak imaju i šablon koji je prilagođen njihovom računaru/potreama.
Još jedna situacija kada bi mogao da poželiš da kompajliraš sopstveni kernel je kada nije dostupan paket za noviju (ili čak stariju) verziju kernela. Tada ćeš morati sam da je napraviš.
Prevođenje i kompajliranje mu dođe isto. Prevođenje se ponegde koristi u domaćoj stručnoj literaturi, a i bolje objašnjava šta se tu dešava.
Dakle: Slackware "txz" paket je već "preveden" i spreman za upotrebu. Ali paket ima već neki svoj izbor opcija. Ako ti to ne odgovara (a da bi to bio slučaj, moraš jako dobro da znaš zašto ti ne odgovara ), onda ćeš morati da promeniš podešavanja i ponovo prevedeš kernel. Ali najčešće se prevođenje odnosi na novije verzije kernela koje nisu još uvek dostupne kao paket. To može biti bilo koje LTS izdanje kernela, ili čak neko od starijih izdanja kernela u slučaju neke posebne potrebe.
Ukratko.
Iako tu ima još ponešto da se priča. Kernel nije jedna datoteka. Kernel takođe sadrži "module". Uslovno rečeno se može reći da su moduli "drajveri", ali to nije u potpunosti tako. Takođe, promenu opcija je često moguće napraviti i bez ikakvog ponovnog prevođenja. Postoje načini kako podesiti dostupne opcije kernela direktno (menanje opcija u /sys sistemu datoteka i menjanje sysctl ocpija). A ako fali neka opcija koja je dostupna kao modul, moguće je samo prevesti taj modul (i njegove zavisnosti).
Ali za one koji ne znaju šta rade je to samo nepotrebna komplikacija. Podrazumevana podešavanja su i više nego dobra za većinu upotreba. Ko ima poseban razlog za ponovno prevođenje već zna zašto ga ima. Ko ne zna, znači da ni nema potrebu za time.
Itd, itd. To bi to bilo ukratko. Ali ne znam koliko i da li ćeš me shvatiti. Elem, bar sam pokušao da razjasnim.
Ali... Kompajliranje je prevođenje iz jednog oblika (izvorni kod) u drugi (binarni). Slackware paket je arhiva posebno pripremljenih već "prevedenih" (kompajliranih) datoteka. Dakle, taj kernel je neko (Patrick Volkerding) već morao da prevede.
Izvorni kod je dostupan i svako može da ga prevede, ali to je dugotrajan proces. Zato već gotov paket skraćuje vreme. Ali ko želi i dalje može da prevede kernel ukoliko želi da promeni neke od opcija kernela. Te opcije možeš da pogledaš i bez kompajliranja:
Code: Select all
cd /usr/src/linux
su
make menuconfig
Kernel se takođe može prilagoditi i specifičnom računaru, ali to je naporan proces u kome moraš da odlično poznaješ i svoj hardver i opcije kernela. U većini slučajeva je izbor koji je distributor napravio za tebe vrlo solidan.
Neke distribucije ne prave izbor za tebe. Na primer jedan od koraka pri instalaciji Gentoo Linuksa je prevođenje Linuks kernela. U tom slučaju ljudi često koriste unapred pripremljene šablone sa nekim opštim opcijama. A oni koji su kroz proces prošli dosta puta možda čak imaju i šablon koji je prilagođen njihovom računaru/potreama.
Još jedna situacija kada bi mogao da poželiš da kompajliraš sopstveni kernel je kada nije dostupan paket za noviju (ili čak stariju) verziju kernela. Tada ćeš morati sam da je napraviš.
Prevođenje i kompajliranje mu dođe isto. Prevođenje se ponegde koristi u domaćoj stručnoj literaturi, a i bolje objašnjava šta se tu dešava.
Dakle: Slackware "txz" paket je već "preveden" i spreman za upotrebu. Ali paket ima već neki svoj izbor opcija. Ako ti to ne odgovara (a da bi to bio slučaj, moraš jako dobro da znaš zašto ti ne odgovara ), onda ćeš morati da promeniš podešavanja i ponovo prevedeš kernel. Ali najčešće se prevođenje odnosi na novije verzije kernela koje nisu još uvek dostupne kao paket. To može biti bilo koje LTS izdanje kernela, ili čak neko od starijih izdanja kernela u slučaju neke posebne potrebe.
Ukratko.
Iako tu ima još ponešto da se priča. Kernel nije jedna datoteka. Kernel takođe sadrži "module". Uslovno rečeno se može reći da su moduli "drajveri", ali to nije u potpunosti tako. Takođe, promenu opcija je često moguće napraviti i bez ikakvog ponovnog prevođenja. Postoje načini kako podesiti dostupne opcije kernela direktno (menanje opcija u /sys sistemu datoteka i menjanje sysctl ocpija). A ako fali neka opcija koja je dostupna kao modul, moguće je samo prevesti taj modul (i njegove zavisnosti).
Ali za one koji ne znaju šta rade je to samo nepotrebna komplikacija. Podrazumevana podešavanja su i više nego dobra za većinu upotreba. Ko ima poseban razlog za ponovno prevođenje već zna zašto ga ima. Ko ne zna, znači da ni nema potrebu za time.
Itd, itd. To bi to bilo ukratko. Ali ne znam koliko i da li ćeš me shvatiti. Elem, bar sam pokušao da razjasnim.
- Posts: 181
- Joined: 17 Jul 2015, 17:09
- Location: Levo od Albukerkija
Hvala obojici.
Možda sam mogao postaviti preciznije pitanje, ali ste odgovorima obuhvatili sve što me zanima.
U dva navrata sam probao kompajliranje, uz Bocketovu pomoć , i za mene je to nepotrebna avantura,
jer nisam ni previše zahtevan, ni vešt korisnik da bih tu nešto čačkao svaki čas.
Tada se učinilo nužnim zbog problema sa zvukom i grafikom, ali su noviji kernel i mesa rešili problem.
Za mene očigledno važi KISS filozofija - Keep It Simple Stupid!
Živeli!
Možda sam mogao postaviti preciznije pitanje, ali ste odgovorima obuhvatili sve što me zanima.
U dva navrata sam probao kompajliranje, uz Bocketovu pomoć , i za mene je to nepotrebna avantura,
jer nisam ni previše zahtevan, ni vešt korisnik da bih tu nešto čačkao svaki čas.
Tada se učinilo nužnim zbog problema sa zvukom i grafikom, ali su noviji kernel i mesa rešili problem.
Za mene očigledno važi KISS filozofija - Keep It Simple Stupid!
Živeli!
- Posts: 4591
- Joined: 04 Feb 2011, 20:32
- Location: Beograd
- Contact:
Nije mi bila namera da potcenjujem. Samo kažem da je u većini slučajeva, kada još uvek ne poznaješ nešto dovoljno, ono što već postoji dovoljno dobro. Osim ako te jako zanima i imaš vremena za eskperimentisanje. Onda samo napred. Linuks se najbolje uči kad nešto zezneš i primoran si da središ. Ali u te avanture ne treba ići na "glavnom" računaru. Ili bar ne bez backup-a važnih podataka.
Who is online
Users browsing this forum: No registered users and 22 guests