ot Nikola Antonov(1-06-2002)

reiting (39)   [ dobre ]  [ zle ]

Printer Friendly Variant za otpechatvane


Kompilirane na Linux-iadroto za nachinaeshti i ne tolkova naprednali, chast I: Vuvedenie

N. Antonov,

pcradio@netbg.com

Takiva tekstove ima mnogo. Mrezhata izobilstva ot tiah i ako ne vi se chete, ne go pravete. Osobeno ako ste po-naprednal potrebitel i se interesuvate ot neshto zadulbocheno i profesionalno. Ako obache i poniatie si niamate ot kompilatsiiata na Linux-iadroto ili ne vi se polagat poveche usiliia v chetenoto na chuzhdoezichni tekstove, mozhete da produlzhite.

      Malko obshti prikazki

        Qdroto (kernel)

Linux-iadroto e surtseto na operatsionnata sistema. Vsushtnost, to e sobstveno samata operatsionna sistema. Naricha se oshte kernel. Zarezhda se sus startiraneto na kompyutura i se zazizhda v pametta do izklyuchvaneto na mashinata. Ima dve osnovni zadachi:

    obsluzhva harduera na nisko nivo (napr. - prekusvaniiata);

    suzdava sredata, neobhodima za rabotata na protsesite (nesluchaino se naricha oshte “platforma”);

Linux-iadroto se harakterizira kato monolitno - edin goliam izpulnim fail (obiknoveno mezhdu 850k - 1Mb), sudurzhasht mnozhestvo logicheski razdeleni komponenti.

Kakto znaete, iadroto se razprostraniava s otvoren izhoden tekst. Ne kod, a tekst, zashtoto e napisan na choveshki ezik, makar i razbiraem samo ot programistite. Tekstut shte stane kod sled kompilatsiiata, zashtoto shte pridobie vid, razbiraem samo za protsesora. Mozhete da go izteglite ot ftp://ftp.kernel.org/pub/linux/kernel. Tam sa publikuvani vsichki versii na iadroto. Interesuva ni seriiata 2.4.h. Seriiata 2.2.x vse oshte se izpolzuva, no ako iskate da opitate po-nov harduer ili naprimer neveroiatnata failova sistema ReiserFS, shte vi triabva iadro ot po-novata seriia 2.4.h i dori po vuzmozhnost posledna versiia. Za ReiserFS naprimer pishe, che do versiiata 2.4.16 iadrata imat seriozni bugove i ne e zhelatelno da se izpolzuvat s tazi failova sistema. ßdro ot seriiata 2.4.h shte vi triabva i ako iskate da izpolzuvate poslednite novosti v oblastta na mrezhovata zashtita, osiguriavana s pomoshtta na iptables. Za 2.2.h iadrata ima ipchains.

Versiite s nechetno chislo sled tochkata sa nestabilni, “hakerski”, prednaznacheni za testvane i ne se preporuchvat za sistemi, koito iskat stabinost i sigurnost. Takava e seriiata 2.5.h, koiato se razrabotva aktivno v momenta.

ßdroto se razprostraniava pod formata na bzip2 ili gzip arhiv. Imenuvano e taka: linux-x.y.z.tar.bz2. Tozi vid kompresiia e po-dobra i dava po-malki po obem failove. Pod x.y.z razbiraite nomera na versiiata. Izteglete poslednata versiia s cheten nomer sled tochkata.

Sled kato izteglite faila, mozhete da go razarhivirate na proizvolno miasto, no e dobre da suzdadete simvolichen link kum negovata direktoriia v /usr/src pod imeto linux. Mozhe i da vi potriabva sled vreme, a mozhe i da ne vi potriabva. Obiknoveno razni pachove tursiat po podrazbirane izhodniia tekst (sors) na iadroto v tazi direktoriia. Ako niamate opit pri rabotata s takiva arhivi, mozhete da izpolzuvate mc (Midnight Commander), koito gi otvaria i manipulira s tiah kato sus standartni failove i direktorii.

        Modulite

Tuk e miastoto da kazhem kakvo predstavliavat modulite. Te sa goliama magiia. Davat vuzmozhnost na iadroto da pridobiva vremenni pulnomoshtiia, kakvito ne sa mu vrodeni pri kompilatsiiata. ßdroto mozhe da zarezhda dinamichno dopulnitelni parcheta kod, za da izpulni konkretna zadacha i sled tova da izchisti modula ot pametta. Inache silata na modulite e neogranichena. Davat vuzmozhnost na iadroto da raboti s nai-razlichni failovi sistemi i spetsifichni harduerni ustroistva, no sled kato si svurshi rabotata s tiah i ne se nuzhdae veche ot dopulnitelni vuzmozhnosti, modulut prosto mozhe da se izpari ot pametta, za da osvobodi miasto za po-vazhni neshta.

Ako iskate da vidite modulite, koito rabotiat v pametta ili prosto izchakvat da budat izvikani, izpolzuvaite komandata lsmod. S komnadite modprobe i insmod mozhete da zarezhdate konkretni moduli, stiga da znaete tiahnoto ime. Komandata modprobe e za predpochitane za tazi tsel. S rmmod mozhete da izchistvate modulite ot pametta, no samo ako ne sa zaeti s niakoia zadacha.

Ima niakoi draiveri ili funktsii, koito ne mogat da rabotiat kato moduli. Te triabva ili da se vgradiat v iadroto, ili napulno da se izklyuchat. Praktikata pokazva, che optimalniiat rezultat se postiga ot zlatnata sreda - povecheto neshta da se kopilirat kato moduli, no niakoi, ot koito zavisi priako burzodeistvieto na sistemata, zadulzhitelno da prisustvat. Vsushtnost, konfiguratorut sam shte vi podskazhe doniakude kakvo e neobhodimo da se vgradi i kakvo mozhe da ostane kato modul.

        Zashto da kompilirame sobstveno iadro?

Vsiaka distributsiia idva s nabor ot iadra “po podrazbirane”. Makar i kompilirani za razlichni konkretni nuzhdi (mnogoprotsesorna poddruzhka, zavisheno nivo na sigurnost, 64-bitova sistema i t.n.), te vse pak sa zamisleni da poddurzhat shirok nabor ot protsesorni semeistva i da rabotiat s raznoobrazni vidove harduerni ustroistva (SCSI, USB i t.n.). Veroiatno vashata sistema ne izpolzuva goliama chast ot funktsiite, koito iadroto po podrazbirane poddurzha. Az naprimer niamam SCSI-ustroistva, RAID ne mi triabva, a protsesorut mi e Celeron. Tova sa samo malki primeri. V deistvitelnost, neshtata sa mnogo po-slozhni. Ako ogranichite iadroto da vklyuchva v sebe si samo harduera, koito polzuvate, shte poluchite po-maluk fail, optimiziran za konkretnata sistema. Izlishno e da obiasniavam, che tova shte uskori i podobri kato tsialo rabotata na vashiia Linux, osobeno ako imate po-ekzotichen harduer.

Poniakoga kompiliraneto na sobstveno iadro se nalaga i poradi publikuvaneto na novi krupki za podobriavane na sigurnostta ili zaradi izlizaneto na podobreniia vuv failovite sistemi, kakto i na novi versii na draiverite za otdelni ustroistva.

      Konfigurirane na iadroto

Obiknoveno tova e nai-interesnata chast, zashtoto vi zasiaga priako. Niama kak da uchastvate v samata kompilatsiia, nali:-)

I taka, 'cd /usr/src/linux'. Za da konfigurirate iadroto, mozhete da izpolzuvate tri rezhima:

    make config - pita za vsichko nared i niamate vuzmozhnost da se vurnete nazad, ako neshto oburkate (raboti iztsialo v tekstov rezhim i e prednaznachen za mazohisti:) );

    make menuconfig - udobno i podredeno menyu v tekstov rezhim (predpochitano ot mnozina); mozhete da razlezhdate i zadavate optsiite v proizvolen red;

    make xconfig - grafichen konfigurator, analog na make menuconfig, no prednaznachen za rabota s H (s malko oburkvashta podredba);

Kakuv e printsiput?

ßdroto mozhe da sudurzha zadadenata ot vas funktsiia ili draiver za ustroistvo kato 1) vgraden vutreshen kod (y), kato 2) vunshen modul (m), koito da se zarezhda v pametta pri poiskvane ili 3) izobshto da ne se kompilira (n), ako naprimer suvsem ne vi triabva.

I taka, da zapochvame!

Nie shte konfigurirame edno primerno iadro za standratna nastolna sistema, taka che ne ochakvaite da budem izcherpatelni. Vazhnoto e da shvanete printsipa.

make menuconfig

Startira se konfiguratsionniiat skript. Poiaviava se edno obshirno menyu. Optsii, optsii, optsii...

Predlagam vi edin primeren podhod kum konfiguriraneto na iadroto. Razbira se, che vsichko zavisi ot suotvetniia harduer i imenno zatova ne moga da predlozha nikakvo universalno reshenie. Konkretnata zadacha iziskva konkretno reshenie. Eto zashto, az sushto podhozhdam konkretno, a oznacheniiata [y/m/n] sa prosto preporuki i po nikakuv nachin ne garnatirat pravilnata i optimalnata rabota na sistemata, ako se suobrazite s tiah. Te sa prosto edno ot vuzmozhnite resheniia.

Kum datata na priklyuchvane na materaila, aktulnata versiia na Linux-iadroto e 2.4.18.

Sledva



<< Kompilatsiia na Linux-iadroto, chast II: Purvite stupki | KAK DA SE BULGARIZIRAME - nov tertip >>