Početak › Forumi › Linuks distribucije › OpenSuSE › SuSE 9.3 – kompajliranje kernela
- This topic has 21 odgovor, 8 glasova, and was last updated 21 years, 2 months ranije by
popeye.
-
AutorČlanci
-
3. jun 2005. u 9:41 pm #28869
jboban
UčesnikŠalim se, ali me i zanima u čemu je svrha isključivanje podrške za module iz (ionako problematičnog monolitnog) jezgra?
Samo isključivanje modula koji se i tako učitavaju samo po potrebi (opcija M) i nema smisla. Zašto je problematično monolitno jezgro?
Mene lično bi veoma nerviralo da moram prevoditi jezgro svaki put kad (voljno ili silom prilika) menjam hardver. Recimo, otkaže mi ploča i pošto postavim novu, dižem sistem sa instalacionog diska, jer u trenutnom jezgru nemam drajvere za novi čipset?
Onda uradiš repair instalacije i dobiješ šta nedostaje. Medjutim, ne menja se valjda ploča tako često, a Linux se koristi mnogo češće 😆
Mada, svejedno, mislim da ima smisla uraditi konfigurisanje i rebuild kernela da bi se naučilo i videlo šta je sve tu sadržano i kako se to radi…3. jun 2005. u 10:03 pm #28870jboban
Učesnikja sam se nesto pobrkao … a da nisi umesto clean kucao check ?
Ne. Čitaj kako je napisano. To je rekao i Vuk 😉
clean sam radio da bih obrisao ostatke prethodnog kompajliranja i imao čist start. Za opciju check ne znam ni da postoji.btw i ja sam zabrljao , verovatno imam problem za initrd pa cu videti za vikend.
Samo mkinitrd na kraju. To rešava problem.
ubili bi me ovi sto su izmislili modularne kernele
Nije to loša ideja. Radi se o kompromisu podrške za sve i svašta, a da pri tom sve to ne bude fiksno ugradjeno u sam kernel i nepotrebno ga povećavalo i opterećivalo. Ovako, na raspolaganju je, pa se po potrebi učita ili ne.
3. jun 2005. u 10:46 pm #28871popeye
Glavni majstor@ popeye: Ako tako posmatras stvari onda bi trebalo sve ukljuciti u kernel (bar kao module), zar ne?
Podrazumevano, to je stanje u svim distribucijama.
Ja ukljucim ono sto mi treba ili ce mi mozda zatrebati u skorijoj buducnosti.
Kada bih ručno obrađivao jezgro, tako bih radio. Neke stvari vezane za hardver koji sigurno u životu neću videti mi nisu potrebne. Mada sami moduli i ne zauzimaju puno prostora na disku, već samo troše procesorsko vreme na prevođenje. Al’ ako je vreme nedostajući resurs, ne bih ga gubio na prevođenje jezgra, zar ne? 🙂
Zašto je problematično monolitno jezgro?
Osvrt na monolitnu prirodu Linux jezgra sam napravio zbog nkostine primedbe o “pravljenju” monolitnog jezgra. Ne treba brkati monolitno jezgro sa jezgrom bez podrške za module. Ne možete ga “napraviti” takvim jer Linux jezgro je _po_prirodi_ monolitno, sa ili bez modula. Osnovni problem kod njega je da se sve obavlja u istom adresnom prostoru – u prostoru jezgra, što znači da greška u jednom modulu može dovesti do pada celog sistema – kod nas poznato kao kernel panic.
Onda uradiš repair instalacije i dobiješ šta nedostaje. Medjutim, ne menja se valjda ploča tako često, a Linux se koristi mnogo češće
Ako pod popravkom instalacije podrazumevaš instalaciju novog (tj. starog) jezgra i modula ili pozivanje istog iz LILO ili Grub prompta, to je odustajanje od principa nemodularnog jezgra. Koji je onda razlog za njegovo držanje na prvom mestu?
Mada, svejedno, mislim da ima smisla uraditi konfigurisanje i rebuild kernela da bi se naučilo i videlo šta je sve tu sadržano i kako se to radi…
Potpuno legitiman razlog koji podržavam i nemam šta da dodam. Osim retkih slučajeva kada se to radi iz drugih razloga, modularno jezgro je preduslov za normalno svakodnevno korišćenje sistema.
3. jun 2005. u 11:18 pm #28872jboban
UčesnikAko pod popravkom instalacije podrazumevaš instalaciju novog (tj. starog) jezgra i modula ili pozivanje istog iz LILO ili Grub prompta, to je odustajanje od principa nemodularnog jezgra. Koji je onda razlog za njegovo držanje na prvom mestu?
Nisam za potpuno nemodularno jezgro. Samo bih izbacio module koji mi zaista nikad neće trebati, npr. podrška za Xenix fajl sistem i sl. Nije to ni neka ušteda u prostoru i brzini, ali tip procesora sam promenio, pa kad se već radi, valja uraditi i sve što u datom momentu ima smisla.
Inače, ja čuvam kopiju .config fajla, tako da i u takvim slučajevima kada sa Repair vratim originalno jezgro, imam polaznu tačku za novo konfigurisanje.
Ne treba se previše zadržavati na ovoj temi. Dodjoh, videh, kompajlirah 😀
Radije bih zatvorio temu kernel 2.6.11 i Intel 536EP, ali ne mogu…3. jun 2005. u 11:23 pm #28873popeye
Glavni majstorKao što rekoh sanelu, sa tim se slažem. Oko modema ti ne mogu pomoći – nemam Intel modem. Tja, valjda će se neko (negde) javiti i rešiti i to…
4. jun 2005. u 6:27 am #28874sanel_nbg22
UčesnikKada bih ručno obrađivao jezgro, tako bih radio…
A kako ga obrađuješ inače?
4. jun 2005. u 7:19 am #28875popac
UčesnikPa kad već kompajliraš kernel isključi stvari koje ti ne trebaju…
Podršku za paralel port, za serisjki, za neke fajl sisteme, za eth kartice (makar one sa ogromnim protokom) i ostale, za bttv ako nemas tv karticu, za višak zvucnih kartica, za …. ima tu sta da se iskljuci jer je nepotrebno…
4. jun 2005. u 7:31 am #28876nkosta
UčesnikAko imas veliki /boot(bar300MB ) onda mozes sve tamo da ostavis.
Ja jos nisam nikad uspeo da iskompajliram opciju “allmodconfig” (svi postojeci moduli) pa bih i to drzao u /boot-u ako mi nekada dodje prijatelj sa….bilo cime. Glavni problem je sto je bar jedan od oko 1500 modula bagovit i/ili se ne slaze sa nekim drugim ( a to nisi uspeo da procitas u onim helpovima) Inace .config se sam ostavlja posle kompajliranja u /boot-u(checkiraj tu opciju u config. )
Jel neko zna kako da kompajliramo kernel sa IBM kompajlerom . Svi kazu da su njegovi kodovi 2-3 puta brzi (??!?). A sm kompaljer je “free for noncomercial …”? GCC je previse u razvoju ( premanentno , za sve moguce platforme) pa nije bas ok.4. jun 2005. u 10:21 am #28877jboban
UčesnikJa jos nisam nikad uspeo da iskompajliram opciju “allmodconfig” (svi postojeci moduli) pa bih i to drzao u /boot-u ako mi nekada dodje prijatelj sa….bilo cime.
To je kao kad bi na putnički auto zakačio prikolicu, koju inače izuzetno retko koristiš, i stalno vukao za slučaj da ti nekad zatreba nešto da prevezeš 🙄
Po meni, treba se fokusirati na ono što će ti trebati 99% vremena korišćenja. Slično je sa stavljanjem Phone Code-a na mobilni telefon. Neki ljudi ga postave i svaki dan kad uključe telefon, maltretiraju sebe da ga kucaju, a sve zbog toga da “spreče” korišćenje istog ako ga neko ukrade ili izgube. BTW, posle flash-ovanja sve je na default-u 8)Jel neko zna kako da kompajliramo kernel sa IBM kompajlerom . Svi kazu da su njegovi kodovi 2-3 puta brzi (??!?).
Nisam ga probao, ali to je praktično nemoguće. Današnje kompajlere dele nijanse jer su principi poznati, a napraviti kompajler koji će napraviti kod koji je 2-3 puta brži pod istim uslovima je blago rečeno nemoguće…
GCC je previse u razvoju ( premanentno , za sve moguce platforme) pa nije bas ok.
Previše razvoja nikad nije, a da nije baš ok ne bih se složio. Sam kernel i KDE su sa njim kompajlirani i to sasvim ok 😆
P.S. Zašto svima nedostaje naslov? Zar nije bolje koristiti opciju Citiraj na konkretnoj poruci i tako zadržati naslov teme?4. jun 2005. u 11:09 am #28878nkosta
UčesnikPa ovako za allmode config.
To treba imati kao opciju u /boot-u jer nikad ne znas sta treba da zakacis. Inace uglavnom nije ni za sta ( sporo i samo se gusi i kad uopste radi)
Sto se tice IBM kompajlera ima puno clanaka sa takvim preformansama ( zadnji na anandtech-u o komparaciji G5 i ostalih procesora). Ja initmno verujem da postoji bitna razlika ( ja pravim procesor-ja pravim kompajler , samo za njega) U tom smislu GCC nije o.k. jer se i ne ocekuje da podjednako podrzava sve procesore koje sretne u zivotu. Ja sam , inace , kompletan laik i ljubitelj ( amateur) pa tako sve sto kazem 3x proveri.
Skinuo sam IBM kompajler , dobio onu licencu mail-om pa bih da probam , ako moze (” a i tata bi , sine “) . Posto sam amater ja samo znam da na “make ” uvek krece sa shell-a gcc. Taj .icc verovatno zhteva neki rucno pisani skript koji ide posle nekog config-a.
Ono o “monolitic ” kernelima.
Pa ja sam mislio da monolitic ne oznacava samo jedan memorijski prostor ( kao kod unix-a ) vec kernel bez spoljnih modula. Nesto sam nacuo da Mach micro kernel nije monolitic jer mu je samo manji deo “monolitican” a ostaak ( ne samo moduli ) “cuce”negde sa strane i cekaju poziv. Nema veze sto nisam shvatio ali nije lose imati kernel za samo jednu upotrebu sa mnogo malo module i bez pozivanja ostali ( ima samo 600-800 kila i radi odmah ) Ionako mozes u /boot-u da imas 100 keRnela ako volis.
Mnogo bih voleo da mi jednom uspe “allmodeconfig” pa da mogu da ukljucim peglu na USB ( naravno “firmiranu” peglu) -
AutorČlanci
Moraš biti prijavljen da bi postavio komentar u ovoj temi.