Kousek za textem 'make xconfig' by asi chtelo odstranit tu '<' z HTML kodu, protoze pak to z kusu textu dela velky <a> tag ( nevim jak Netscape, ale Konqueror ten kus zkratka pak nezobrazi ). Zacatecnici pocitam asi neoplyvaji znalosti cteni primo HTML, aby si zjistili, co tam chybi. Ne ze by tedy to chybejici bylo nejak moc dulezite.
Dejme tomu, ze mam zdrojaky jadra verze 2.2.X a stahnu si kompletni novejsi verzi 2.2.Y. Chtel bych svoje nastaveni (soubor .config) prenest do toho noveho jadra. Pokud jenom prekopiruju tento soubor, muzu tise predpokladat, ze si s tim prikaz "make menuconfig" poradi ? Tzn. ze nastavi odpovidajici volby a ty ktere mezitim zanikly budou potlaceny bez nasledku ?
Dal bych se chtel zeptat, jak se da zjistit konfigurace jadra. Pokud si nainstaluju binarni jadro z rpm balicku, mam dojem ze nijak neziskam nastaveni, podle kterych bylo zkompilovano. To je docela skoda, ne ? Ten jeden soubor by se jim tan snad jeste vesel.
Jo a pokud me dobre vzpominam, jeste v rade 2.0.x se mluvilo o tom, ze se do jadra zahrne volba, kterou (asi pres /proc) pujde precist konfigurace jadra. Bylo to dostupne jako patch, ale do oficialniho kernelu se to nedostalo. Nevite nekdo proc ?
Posledni dotaz uz probehl konferenci, ale nebyla tam jednoducha a vycerpavajici odpoved.
Pokud si napr. ozivim zvukovku (sndconfig) pomoci predkompilovaneneho jadra, ktere ma prelozene _vsechny_ zvukove moduly, budu pak bez problemu zvucet. Kde ale zjistim, jake volby pro pripadnou rucni kompilaci mam nastavit ? Nazvy polozek v menu neodpovidaji jmenum modulu v pameti. Nejjednodussi reseni je prelozit veskerou podporu zvukovek jako moduly a nechat system, at si zavede jen potrebne. Ale neni to idealni.
Co se tyce prenaseni souboru .config, tak me to vzdy fungovalo, a nevidim duvod proc by dal nemelo (stejne jsem ale vzdy celou konfiguraci prochazel menuconfigem).
Konfigurace pouzivana RedHatem se v RedHat sedmicce nachazi v podadresari config (aspon pokud se pamatuji) - oni tech konfiguraci maji vic, takze asi neslo nechat tam lezet .config (hadam)
Otazka na autora clanku z jineho soudku: mohl by se zkusit rychle rozplynout nad vyhodami modulu? Specialne, jake jsou vyhody pro cloveka, ktery:
vi, co chce a co nechce v jadre mit
novy hardware nehodla kupovat
vi, ze bude stejne jadro predelavat hned jak vyjde pristi verze
vlastni moduly nepise a neladi
umi si odstranit pravidelne volani rmmod ;)
Diky.
P.S.: Jeste k tomu kgcc v RH 7, pokud se nekomu nechce upravovat Makefile, lze take psat "make CC=kgcc bzImage" ... eee, o bzImage jeste nebyla rec. No proste lze to psat jako parametr prikazu make.
Ad moduly: Pro mne je nejvetsi vyhoda ze novy modul lze kdykoliv skompilovat a udelat modprobe bez restartu systemu .. pripadne jsou idealni pro zjistovani default nastaveni neznamych PnP karet ..
Take pokud je potreba udelat mensi kernel, nebo pouzivat jeden kernel na vice strojich tak se moduly hodi.
Nehlede na to jsou programy jejichz soucasti jsou moduly a bez nich nepobezi (treba vmWare, ALSA atd.)
Mam jadro 2.2.17-compact z Debianu 2.2 a chtel bych do nej dostat modul, ktery umoznuje pouzivat ipchains. Problem je, ze je to na serveru, ke kteremu neni jednoduchy fyzicky pristup. Proto nechci delat znovu cele jadro a rebootovat ten server, ale jen pridat ten modul pro Ipchains. Jak to udelat bezpecne?
Dik.
Pouhé zkopírování .config nemusí fungovat vždy.
Pro přenos konfigurace mezi různými jádry slouží make oldconfig. Zkopírujte původní .config do adresáře s novým jádrem a spusťte make oldconfig. Ten vytvoří nový .config, kde hodnoty proměnných, které se vyskytují v obou verzích, zachová, již neexistující proměnné smaže a na nové proměnné se zeptá uživatele.
No, v tomto specialnim pripade vetsina vyhod modulu mizi. Snad krome nizsi potreby pameti. Dokud jsem mel malo RAMky, tak jsem daval vsecko jako modul. Proc bych treba mel mit v pameti podporu disketovky, kdyz ji pouzivam jednou za tyden? Podobne se da odstranit CDROM, nektere souborove systemy, PPP atd.
Ja tam "make oldfconfig". To si projde konfiguraci a ptá se je na to, co přibylo.
Co se týče jmen modulů, doporučuji se podívat přímo do makefile přísklušného adresáře:
obj-$(CONFIG_SOUND_AEDSP16) += aedsp16.o
obj-$(CONFIG_SOUND_PSS) += pss.o ad1848.o mpu401.o
obj-$(CONFIG_SOUND_TRIX) += trix.o ad1848.o sb_lib.o uart401.o
obj-$(CONFIG_SOUND_OPL3SA1) += opl3sa.o ad1848.o uart401.o
Atd. Je to celkem jasné...