11 11 TEX L^{A}TEX

To HowTo toy pyrhna (kernel) toy Linux

Brian Ward, bri@cs.uchicago.edu v1.0, 5 Ioynioy 1999

Aytos einai enas leptomerhs odhgos gia tis ry8miseis toy pyrhna, gia compilation, anaba8miseis, kai luseis problhmatwn se H/Y tupoy ix86.

Contents

1 Eisagwgh 3 1.1 Prwta diabaste edw! (Kai to ennow) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 Dyo logia peri toy stul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 Shmantikes erwthseis, kai oi apanthseis toys 4 2.1 Ti, telos pantwn, kanei o pyrhnas; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.2 Giati na anaba8misw ton pyrhna moy; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.3 Ti eidoys hardware yposthrizoyn oi neoi pyrhnes; . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.4 Poies ekdoseis twn gcc kai libc xreiazomai; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.5 Ti einai ena module poy mporei na fortw8ei (loadable); . . . . . . . . . . . . . . . . . . . . . 5 2.6 Poso xwro ston disko xreiazomai; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.7 Posh wra kanei; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

3 Pws na ry8misete pragmatika ton pyrhna 5 3.1 Pairnoyme ton phgaio (source) kwdika . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.2 Anoigoyme ton source kwdika . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.3 Ry8mizoyme ton pyrhna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3.3.1 Apomimhsh toy ma8hmatikou synepejergasth (Tupos kai xarakthristika toy mPr) . . 7 3.3.2 Proxwrhmenh yposthrijh diskwn MFM/RLL, IDE, cdrom (Block Devices) . . . . . . . 7 3.3.3 Yposthrijh diktuwshs (Genikes ry8miseis) . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.3.4 System V IPC (Genikes ry8miseis) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.3.5 Oikogeneia toy processor (Tupos kai xarakthristika toy processor) . . . . . . . . . . . . 7 3.3.6 Yposthrijh SCSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.3.7 Yposthrijh kartwn diktuoy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.3.8 Systhmata arxeiwn (Filesystems) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.3.9 Syskeyes xarakthrwn (Character devices) . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.3.10 Hxos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.3.11 Alles parametroi ry8misewn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.3.12 Xakema toy pyrhna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3.4 Kai twra, ti; (To arxeio Makefile) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

4 Kanontas compile ston pyrhna 10 4.1 Ka8arisma kai ejartwmena arxeia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 4.2 Diarkeia toy compile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 4.3 Alla arxeia tupoy "make" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 4.4 Egkatastash toy pyrhna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

5 Mpalwnontas (patching) ton pyrhna 12 5.1 Efarmozontas ena mpalwma (patch) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 5.2 An kati den paei kala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 5.3 Sbhnontas ta .orig arxeia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 5.4 Alla patches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 6 Epipleon paketa 14

6.1 kbd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 6.2 util-linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 6.3 hdparm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 6.4 gpm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

7 Merikes pagides 15 7.1 make clean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 7.2 Terastioi h argoi pyrhnes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 7.3 Den doyleuei h parallhlh 8ura, h o ektypwths moy . . . . . . . . . . . . . . . . . . . . . . . . 15 7.4 Den ginetai compile ston pyrhna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 7.5 H nea ekdosh toy pyrhna den bootarei . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 7.6 3exasate na trejete to LILO, h o H/Y den bootarei ka8oloy . . . . . . . . . . . . . . . . . . . 16 7.7 Leei "warning: bdflush not running" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 7.8 Den mporw na balw to IDE/ATAPI CD-ROM na doylecei . . . . . . . . . . . . . . . . . . . . 17 7.9 Leei parajena pragmata gia katarghmenes aithseis routing . . . . . . . . . . . . . . . . . . . . 18 7.10 To firewalling den doyleuei sthn ekdosh 1.2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 7.11 "Not a compressed kernel Image file" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 7.12 Problhmata me to termatiko konsolas (console terminal) meta thn anaba8mish se 1.3.x …. 18 7.13 Den mporw na kanw compile, afou anaba8misa ton pyrhna . . . . . . . . . . . . . . . . . . . 18 7.14 Ayjanontas ta oria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

8 Shmeiwsh gia anaba8miseis pros ekdosh 2.0.x, 2.2.x 19

9 Modules 19 9.1 Egka8istwntas tis utilities gia ta modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 9.2 Modules poy dianemontai mazi me ton pyrhna . . . . . . . . . . . . . . . . . . . . . . . . . . 20

10 Symboyles kai kolpa 20 10.1 Epanakateu8ynsh ths ejodoy twn entolwn make kai patch . . . . . . . . . . . . . . . . . . . . 20 10.2 Egkatastash toy pyrhna ypo proupo8eseis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 10.3 Ananewseis toy pyrhna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

11 Alla sxetika HOWTOs poy mporei na fanoun xrhsima 21 12 Diafora 22

12.1 Syggrafeas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

12.2 Pros energeia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

12.3 Syneisfores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

12.4 Copyright, adeia xrhshs, kai ta paromoia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

1 Eisagwgh

Eisaste ypoxrewmenoi na diabasete ayto to keimeno; Loipon, as doume an paroysiazete kapoio apo t’ akoloy8a symptwmata :

• "Wx! Ayto to trellokatitis-46.5.6 paketo leei pws xreiazetai pyrhna ekdoshs 2.8.193, ki egw akomh exw thn ekdosh 1.0.9!"

• Yparxei enas driver s’ enan apo toys neoys pyrhnes, poy prepei na exete opwsdhpote.

• Den exete ka8oloy idea gia to pws na kanete compile s’ enan pyrhna.

• "Einai pragmatika to README h monadikh dia8esimh phgh plhroforhshs;"

• To dokimasate, alla den doulece.

• Prepei na exete kapoies etoimes odhgies, na tis dinete s’ osoys epimenoyn na sas zhtane na toys egkatasthsete ton pyrhna.

1.1 Prwta diabaste edw! (Kai to ennow)

Merika apo ta paradeigmata aytou edw toy keimenoy proupo8etoyn oti dia8etete ta kata GNU tar, find, kai xargs. Ayta ta arxeia einai stantar, ara logika den 8a sas projenhsoyn problhmata. Epishs, proupoti8etai oti gnwrizete th domh toy systhmatos arxeiwn (filesystem) toy H/Y sas. An oxi, prepei na krathsete ena grapto antigrafo ths (kata th diarkeia ths kanonikhs leitoyrgias toy H/Y) ejodoy ths entolhs mount, h twn grammwn toy arxeioy /etc/fstab (an mporeite na to diabasete). Aytes oi plhrofories einai shmantikes, kai den allazoyn, an den janakanete partition ston sklhro sas disko, an den pros8esete enan kainourgio disko, an den kanete epanegkatastash toy Linux, h kapoia paromoia energeia.

H pio prosfath ekdosh toy pyrhna "paragwghs" kata ton xrono grafhs aytou toy keimenoy einai h 2.2.9 , poy shmainei oti oi anafores kai ta paradeigmata antistoixoun s’ aythn thn ekdosh. Oso ki an prospa8hsa na gracw ena keimeno anejarthto apo sygkekrimenes ekdoseis toy pyrhna, aytos brisketai ypo diarkh ejelijh. Epomenws, an parete newterh ekdosh, anapofeykta 8a exei kapoies diafores. 3analew oti ayto logika den 8a dhmioyrghsei megala problhmata, alla isws projenhsei sugxysh.

Yparxoyn duo ekdoseis toy source kwdika toy pyrhna toy Linux, h ekdosh "paragwghs" kai h ekdosh "anaptyjhs". Oi ekdoseis paragwghs einai oses exoyne zygous kai mikrous ari8mous. Px paragwghs htane h 1.2.x , h 2.0.x , ka8ws kai h 2.2.x . Aytoi oi pyrhnes 8ewrountai (kata ton xrono ths kykloforias toys sthn agora) oi pleon sta8eroi kai xwris bugs. Oi pyrhnes anaptyjhs (2.1.x , 2.3.x , klp) proorizontai gia pyrhnes dokimwn, gia osoys xrhstes endiaferontai na testaroyn toys neoys (kai pi8anotata gematoys apo bugs) pyrhnes. Sas proeidopoihsa!

1.2 Dyo logia peri toy stul

Keimeno san ayto einai kati poy, eite emfanizetai sthn o8onh sas, eite einai onoma arxeioy, eite kati poy mporeite na plhktrologhsete (px mia entolh), eite parametroi mias entolhs (an koitajete ena arxeioy ka8arou text, den diaferei). Oi entoles (kai genika h eisodos) syxna mpainoyn anamesa se mona eisagwgika ("), pragma poy mas paei sto ejhs klasiko problhma stijhs : Ean mia entolh brisketai sto telos Mias protashs se mona eisagwgika, synh8ws oloi grafoyne kai mia teleia meta thn entolh, epeidh oi amerikanikoi kanones stijhs lene na bazoyme thn teleia mesa sta eisagwgika. An kai h koinh logikh (kai dystyxws, ayto proupo8etei oti oi exontes "koinh logikh" einai synh8ismenoi sto legomeno amerikaniko stul eisagwgikwn) leei n’ afairoume prwta thn stijh, ta perissotera atoma apla den to 8ymountai, epomenws se tetoies periptwseis 8a topo8etw th stijh ejw ap’ ta eisagwgika. M’ alla logia, otan deixnw oti prepei na plhktrologeite px "make config", 8a grafw "make config", oxi "make config." . (S.t.m. : Sta Ellhnika, h stijh den akoloy8ei aytous toys kanones, ara den 8a xreiastei na 8ymomaste tis sygkekrimenes dieykrinhseis.)

2 Shmantikes erwthseis, kai oi apanthseis toys

2.1 Ti, telos pantwn, kanei o pyrhnas;

O pyrhnas twn *nix’s dra ws mesolabhths metaju twn programmatwn sas kai toy hardware. Prwta, xeirizetai th mnhmh (h dinei odhgies gia ton xeirismo ths) gia ola ta programmata poy trexoyn (processes), kai sigoyreuei to oti ola 8a paroyn dikaio (h adiko, an protimate) meridio apo ton xrono toy mikroprosessora. Epipleon, parexei mia omorfh kai se megalo ba8mo metafersimh diasundesh, wste ta programmata na milhsoyn sto hardware.

Fysika, h leitoyrgia toy pyrhna asxoleitai me perissotera pragmata apo ta parapanw, alla aytes oi basikes leitoyrgies einai oi pio shmantikes poy prepei na gnwrizete.

2.2 Giati na anaba8misw ton pyrhna moy;

Oi newteroi pyrhnes genika mas parexoyn thn ikanothta na milame se perissoteroys tupoys hardware (dhladh, exoyn perissoteroys drivers syskeywn), diey8unoyn kalutera tis diafores ergasies, trexoyn grhgorotera ap’ toys palioteroys, synh8ws einai sta8eroteroi ap’ toys palioteroys, ki exoyn dior8wmena ta xaza la8h twn palaioterwn ekdosewn. Oi perissoteroi xrhstes ananewnoyn toys pyrhnes, epeidh 8eloyn na exoyn toys neoys drivers syskeywn kai thn ejaleich twn bugs.

2.3 Ti eidoys hardware yposthrizoyn oi neoi pyrhnes;

Diabaste to Hardware-HOWTO. Enallaktika, mporeite na cajete to arxeio config.in ston source kwdika toy Linux, h apla na anakalucete ti ginetai, otan dinete make config. Ayto sas deixnei ola ta eidh hardware poy yposthrizei o stantar pyrhnas ths dianomhs sas, alla oxi ki ola osa yposthrizei to Linux. Arketoi synh8ismenoi drivers syskeywn (opws px gia tis kartes PCMCIA kai merikes monades magnhtikhs tainias) einai modules poy fortwnontai (loadable), kai oi programmatistes toys toys grafoyn kai toys dianemoyn xwrista.

2.4 Poies ekdoseis twn gcc kai libc xreiazomai;

Sto arxeio README, poy periexetai mesa ston source kwdika toy Linux, o Linus synista thn katallhlh ekdosh toy gcc. Ean, pali, den exete thn katallhlh ekdosh ths libc, h tekmhriwsh ths synistwmenhs ekdoshs ths gcc 8a sas pei an prepei n’ anaba8misete th libc sas. Ayth den einai duskolh diadikasia, alla einai shmantiko n’ akoloy8hsete akribws tis odhgies.

2.5 Ti einai ena module poy mporei na fortw8ei (loadable);

Ta modules ayta einai kommatia kwdika toy pyrhna, poy den enswmatwnontai (linked) katey8eian ston pyrhna. Ta kanoyme compile xwrista, kai mporoume na ta baloyme ston kai na ta bgaloyme apo ton pyrhna (enosw trexei), sxedon opoiadhpote stigmh. Epeidh exei eyelijia, aytos einai shmera o protimwmenos tropos gia na gracoyme se kwdika kapoies dynatothtes toy pyrhna. Polloi dhmofileis drivers syskeywn, opws px oi drivers twn kartwn PCMCIA kai ths monadas magnhtikhs tainias QIC-80/40, einai modules poy fortwnontai.

2.6 Poso xwro ston disko xreiazomai;

Ejartatai apo th sygkekrimenh sun8esh toy H/Y sas. Prwta, o sympiesmenos source kwdikas toy Linux einai sxedon 14 MBytes sthn ekdosh 2.2.9 . Aposympiesmenos kai ftiagmenos gia mia synh8ismenh sun8esh, katalambanei alla 67 MB.

2.7 Posh wra kanei;

Me newteroys H/Y, h compilation xreiazetai entypwsiaka ligotero xrono, ap’ o,ti me palioteroys. Enas AMD K6-2/300 me grhgoro disko mporei na ftiajei pyrhna 2.2.x se peripoy tessera lepta. Ean sxediazete na kanete compilation se palioteroys Pentiums, 486s, h 386s, na proetoimasteite gia megalh anamonh, pi8anon wrwn h hmerwn...

An ayto sas problhmatizei, kai symbainei na dia8etete gia compile enan grhgorotero H/Y kapoy ekei konta, mporeite na ftiajete ton pyrhna sto grhgoro mhxanhma (ypo8etontas oti toy dinete tis swstes parametroys, oti oi utilities poy xrhsimopoieite einai prosfates, klp), kai meta na metaferete to image toy pyrhna sto argotero mhxanhma.

3 Pws na ry8misete pragmatika ton pyrhna

3.1 Pairnoyme ton phgaio (source) kwdika

Mporoume na broume ton source kwdika me anonymous ftp sto ftp.kernel.org, sto dir /pub/linux/kernel/vx.y, opoy x.y einai o ari8mos ekdoshs (px 2.2), kai - opws proeipame - oi monoi ari8moi sto telos deixnoyn ekdoseis anaptyjhs, poy mporei na einai asta8eis. To arxeio typika onomazetai linux-x.y.z.tar.gz, opoy x.y.z einai o ari8mos ekdoshs. Ta diafora paromoia sites syxna exoyne ki ena arxeio me katalhjh .bz2, dhl. poy sympiesthke me to programma bzip2. (Ayta ta arxeia einai mikrotera, kai xreiazontai ligotero xrono na kateboun.)

Kalutera einai na xrhsimopoioume to ftp.xx.kernel.org, opoy xx einai o kwdikas ths xwras sas. Gia paradeigma, to ftp.at.kernel.org einai gia thn Aystria, kai to ftp.us.kernel.org gia tis HPA.

3.2 Anoigoyme ton source kwdika

Kanoyme login ws (h su pros) root, kai kanoyme cd sto directory /usr/src. Ean egkatasthsate ton source kwdika toy pyrhna (opws kanoyn oi perissoteroi xrhstes), 8a yparxei hdh ena dir poy legetai linux, poy periexei olo to dentro toy paliou source. An dia8etete arketo xwro ston disko kai 8elete na energhsete ek toy asfalous, krathste ayto to directory. Mia kalh idea einai na breite poia ekdosh xrhsimopoiei o H/Y sas twra, kai analoga n’ allajete to onoma toy dir. H entolh uname -r deixnei thn parousa ekdosh toy pyrhna. Epomenws, an h uname -r leei 1.0.9, 8a allajete to onoma (me thn entolh mv) linux se linux-1.0.9. An ais8aneste metriws anypomonoi, apla sbhste olo to sygkekrimeno directory. Se ka8e periptwsh, pantws, kai prin aposympiesete ton plhrh source kwdika, bebaiw8eite pws den yparxei directory linux sto /usr/src.

Twra, mesa sto /usr/src, aposympieste ton kwdika me thn entolh tar zxpvf linux-x.y.z.tar.gz. (An exete arxeio apla .tar, xwris .gz sto telos, dwste tar xpvf linux-x.y.z.tar.) 8a deite na pernane mprosta sas grhgora ta periexomena toy source kwdika. Otan teleiwsete, 8a yparxei ena neo linux directory mesa sto /usr/src. Gyriste me cd sto linux, kai cajte prosektika to arxeio README. 8a breite mia enothta me thn tampela INSTALLING the kernel ( = egka8istwntas ton pyrhna). Efarmoste tis sxetikes odhgies otan prepei - symbolikoi desmoi (symbolic links) poy prepei na parameinoyn sth 8esh toys, afairesh paliwn arxeiwn .o, klp.

An exete arxeio .bz2 kai to programma bzip2 (diabaste sxetika m’ ayto sto

http://www.muraroa.demon.co.uk/), dwste :
     bz2cat linux-x.y.z.tar.bz2 | tar xvf -

3.3 Ry8mizoyme ton pyrhna

Shmeiwsh : Merika apo ta parakatw apoteloun epanalhch / dieykrinhsh mias paromoias enothtas sto arxeio README toy Linus.

H entolh make config, oso briskomaste sto /usr/src/linux, jekinaei ena script ry8misewn, poy sas kanei polles erwthseis. To script ayto apaitei to bash, epomenws epalh8euste oti to bash brisketai sto /bin/bash,

sto /bin/sh, h sto $BASH.

Wstoso, yparxoyn merikes pio eyxaristes enallaktikes luseis sto make config, kai pi8anon na tis breite eykoloteres kai pio anetes sth xrhsh toys. To make menuconfig einai pi8anotata to eyrutera xrhsimopoioumeno. O,ti kai na dialejete, pantws, einai kalutero na ejoikeiw8eite me to sygkekrimeno, epeidh 8a epistrecete s’ ayto syntomotera ap’ oso fantazosaste. Osoi trexete ta X-Windows, mporeite na dokimasete to make xconfig, e, na exete egkatasthsei to Tk ("click-o-rama" - Nat). To make menuconfig einai gia osoys dia8etoyn to (n)curses kai 8a protimousane ena text menou. Ayta ta periballonta dia8etoyn ena ka8aro pleonekthma : An kaneis la8os epilogh kata th diarkeia twn ry8misewn, einai aplh doyleia to na epistreceis kai na th dior8wseis.

Me ta make menuconfig kai make xconfig, oi epiloges ry8misewn emfanizontai ierarxika.

Twra, eisaste etoimoi n’ apanthsete stis erwthseis, synh8ws me y (yes, nai), h n (no, oxi). Oi drivers twn syskeywn synh8ws exoyne mia parametro m. Ayth shmainei "module", dhladh o H/Y 8a thn kanei compile, oxi omws katey8eian mesa ston pyrhna, alla san module poy fortwnetai. Enas kwmikoteros tropos na peis ti shmainei to m, einai "maybe". ( = Isws.) Oi parametroi me profanesterh xrhsh kai poy den einai toso basikes, den 8a syzhth8oun edw. Gia suntomh perigrafh merikwn akomh, diabaste thn enothta "Alles epiloges ry8misewn". Sto make menuconfig, to plhktro toy kenou diasthmatos enallassei thn epilogh.

Stoys pyrhnes 2.0.x (kai se metagenesteroys) yparxei kai epilogh "?", h opoia dinei suntomh perigrafh twn parametrwn ru8mishs. Aytes oi plhrofories pi8anotata einai kai oi pleon prosfata enhmerwmenes. Oriste kai mia lista merikwn shmantikwn xarakthristikwn, se poio ierarxiko menou briskontai, ka8ws kai mia suntomh perigrafh toys.

3.3.1 Apomimhsh toy ma8hmatikou synepejergasth (Tupos kai xarakthristika toy mPr)

An den exete ma8hmatiko synepejergasth (dhl. exete sketo 386 h 486SX H/Y), prepei n’ apanthsete y sth sxetikh erwthsh. An exete synepejergasth, kai par’ ol’ ayta apanthsete y, mhn anhsyxeite idiaitera - o synepejergasths 8a xrhsimopoih8ei, kai to programma apomimhshs toy 8’ agnoh8ei. Gia opoiodhpote sxedon monterno mhxanhma h apanthsh prepei na einai no, alla mhn anhsyxeite an apanthsete yes kata la8os. An den xreiastei, den 8a xrhsimopoih8ei.

3.3.2 Proxwrhmenh yposthrijh diskwn MFM/RLL, IDE, cdrom (Block Devices)

Pi8anotata 8a thn xreiasteite. Shmainei oti o pyrhnas 8a yposthrijei stantar sklhrous diskoys gia PC, toys opoioys dia8etoyn oi perissoteroi xrhstes. O sygkekrimenos driver den yposthrizei monades SCSI. M’ aytes 8’ asxolh8oume pio katw.

Meta 8a erwth8eite sxetika me drivers "old (palious) disk-only" kai "new (neoys) IDE". Sigoyra prepei na dialejete ton enan ap’ toys dyo. H kuria diafora toys einai pws o palios driver yposthrizei mono duo diskoys se monh diasundesh (dhl. ena monadiko diplo kalwdio diskwn), kai o neos yposthrizei deytereuoysa diasundesh (dhl. duo dipla kalwdia) kai monades cd-rom IDE/ATAPI. O neos driver is 4k megaluteros apo ton palio, kai 8ewrhtika einai kai "beltiwmenos", poy shmainei oti (ektos apo to na periexei diaforetiko ari8mo bugs) mallon 8a beltiwsei thn apodosh toy diskoy sas, eidika an dia8etete newtero hardware (tupoy EIDE).

3.3.3 Yposthrijh diktuwshs (Genikes ry8miseis)

Sth 8ewria, prepei n’ apanthsete y monon an o H/Y sas brisketai syndedemenos s’ ena diktyo (opws px to Internet), h 8elete na xrhsimopoihsete ta SLIP, PPP, term, klp, gia na synde8eite mesw thlefwnoy sto Internet. Wstoso, epeidh poy arketa paketa (opws ta X Windows) apaitoun diktyakh yposthrijh, akomh ki an o H/Y sas den brisketai se kapoio diktyo, prepei n’ apanthsete y. Argotera, 8a erwth8eite an 8elete yposthrijh diktuwshs tupoy TCP/IP. 3anadwste y kai edw, an den eisaste apolyta bebaioi.

3.3.4 System V IPC (Genikes ry8miseis)

Enas apo toys kaluteroys orismous ths IPC (Interprocess Communication, epikoinwnia diadikasiwn) brisketai sto glwssario, sto biblio ths Perl. Kati poy den ekplhssei, epeidh arketoi programmatistes se Perl xrhsimopoioun thn IPC gia na baloyn tis processes na milhsoyn h mia sthn allh, kai paromoia gia merika alla programmata (me gnwstotero paradeigma to DOOM), ara den einai kalh idea n’ apanthsete n, ektos an gnwrizete akribws ti kanete.

3.3.5 Oikogeneia toy processor (Tupos kai xarakthristika toy processor)

(Se palioteroys pyrhnes : Dwste thn parametro -m486 gia beltistopoihsh eidika gia ton 486.)

Paradosiaka, edw kanoyme compile me beltistopoihsh gia sygkekrimeno prosessora. Paliotera, oi pyrhnes trexane mia xara se diaforetikous prosessores, alla hsan megaluteroi. Stoys newteroys pyrhnes ayto den isxuei, epomenws prepei na peite gia poion prosessora kanete compile ton pyrhna. Enas pyrhnas gia "386" 8a doylecei m’ ayton kai ka8e newtero tupo ix86 H/Y.

3.3.6 Yposthrijh SCSI

An exete syskeyes SCSI devices, apanthste y. 8a erwth8eite gia tis ypoloipes plhrofories, px yposthrijh cdrom, diskwn, kai ti eidoys SCSI karta dia8etete. Gia perissoteres leptomereies, diabaste to SCSI-HOWTO.

3.3.7 Yposthrijh kartwn diktuoy

An exete karta diktuoy, h 8elete na xrhsimopoihsete ta SLIP kai PPP, h mia parallhlh 8ura gia sundesh me to Internet, dwste y. To script ry8misewn 8a sas rwthsei ti eidos kartas exete, kai poio prwtokollo na xrhsimopoihsei.

3.3.8 Systhmata arxeiwn (Filesystems)

Meta, to script ry8misewn rwtaei an 8elete yposthrijh gia ta ejhs filesystems :

To stantar (minix) - Oi newteres dianomes den dhmioyrgoun minix filesystems, kai polloi xrhstes den to xrhsimopoioun, alla isws na ejakoloy8ei na xreiazetai touto edw. To xrhsimopoioun merika programmata se "disketa diaswshs", alla ki alloy eidoys disketes mporei na exoyn minix filesystem, mia poy einai eukolo na to xrhsimopoioume se disketes.

To second extended - Ayto einai to stantar filesystem toy Linux. Eseis mallon sigoyra exete ena tetoio, kai prepei na apanthsete y.

To msdos - An 8elete na xrhsimopoihsete kai tis MS-DOS partitions toy sklhrou sas diskoy, h na kanete mount se MS-DOS disketes, dwste y.

Yparxoyn dia8esimoi kai tupoi filesystems apo diafora alla LS.

To /proc - (Ayto htan idea twn Bell Labs, ypo8etw.) Den ftiaxnoyme proc filesystem epanw s’ enan disko : Ayto einai h diasundesh toy filesystem gia ton pyrhna kai tis diadikasies (processes). To xrhsimopoioun polla programmata listas diadikasiwn (process listers), opws px to ps. Dokimaste px na dwsete cat /proc/meminfo, h cat /proc/devices. Merika kelufh (shells), eidika to rc, xrhsimopoioun to /proc/self/fd (gnwsto ws /dev/fd se alla LS) gia eisodo - ejodo (I/O). Sxedon me bebaiothta prepei na peite y edw. Polla shmantika ergaleia toy Linux basizontai s’ ayto.

To NFS - An o H/Y sas einai syndedemenos s’ ena diktyo, kai 8elete na xrhsimopoieite ta filesystems twn allwn H/Y poy epishs exoyn NFS, dwste y.

To ISO9660 - Brisketai sta perissotera CD-ROMs. An exete monada CD-ROM, kai 8elete na th blepei to Linux, apanthste y.

Ma, den jerw poia filesystems xreiazomai! Entajei, dwste mount. H ejodos ths entolhs 8a einai kapws etsi :

         blah# mount

         /dev/hda1 on / type ext2 (defaults)
         /dev/hda3 on /usr type ext2 (defaults)
         none on /proc type proc (defaults)
         /dev/fd0 on /mnt type msdos (defaults)

Koitajte se ka8e grammh : H lejh dipla sthn type deixnei ton tupo toy filesystem. Sto paradeigma mas ta filesystems / kai /usr einai second extended, xrhsimopoiw to /proc, kai yparxei kai mia disketa poy ekana mount, h opoia einai toy msdos (mpliax!) filesystem.

Dokimaste na dwsete cat /proc/filesystems, an exete energopoihsei to /proc : 8a dwsei mia lista twn filesystems poy exei o pyrhnas sas.

H ru8mish spaniwn, mh shmantikwn filesystems parafoyskwnei ton pyrhna. Diabaste sthn enothta gia ta modules pws to apofeugoyme ayto, kai thn enothta "Pagides" gia to giati enas parafoyskwmenos pyrhnas einai anepi8umhtos.

3.3.9 Syskeyes xarakthrwn (Character devices)

Edw energopoieite toys drivers gia ton ektypwth sas (dhl. ton parallhlo ektypwth), gia to pontiki tupoy busmouse h PS/2 (polloi forhtoi H/Y xrhsimopoioun to prwtokollo PS/2 gia tis trackballs poy exoyne), gia merikes monades magnhtikhs tainias, kai gia alles paromoies syskeyes "xarakthrwn". Dwste y gia opoia syskeyh exete.

Shmeiwsh : to gpm einai ena programma, poy energopoiei to pontiki (ejw apo to periballon twn X-Windows) gia cut kai paste anamesa se (virtual) konsoles. Paei mia xara me ta seiriaka pontikia, epeidh mporei na synyparxei kala me ta X, alla xreiazontai eidika kolpa gia toys alloys tupoys pontikiwn.

3.3.10 Hxos

An exete idiaiterh epi8ymia n’ akousete to biff na gabgizei, dwste y, kai meta 8a peite sto programma ry8misewn o,ti exei sxesh me thn karta hxoy sas. (Mia shmeiwsh gia tis ry8miseis ths kartas hxoy : Otan sas rwthsei an 8elete na egkatasthsete thn plhrh ekdosh toy driver, mporeite n’ apanthsete n kai na ejoikonomhsete kamposh mnhmh ston pyrhna, dialegontas mono ta xarakthristika poy 8ewreite aparaithta.)

An 8elete na kanete sobarh yposthrijh sthn karta hxoy, koitajte kai toys dwrean drivers sto http://www.linux.org.uk/OSS/, kai toys emporikous toy Open Sound System (OSS), sto

http://www.opensound.com/.

3.3.11 Alles parametroi ry8misewn

Edw den parati8entai oles oi epiloges ry8misewn, epeidh allazoyn arketa syxna, h epeidh einai sxetika aytonohtes (px h yposthrijh gia 3Com 3C509 shmainei na kanoyme compile ton driver ths sygkekrimenhs kartas ethernet.) Yparxei mia arketa periektikh lista olwn twn epilogwn (syn enas tropos na tis eisagoyme sto script Configure), apo mia prospa8eia poy arxise kai synthreitai apo ton Axel Boldt (boldt@math.ucsb.edu), kai prokeitai gia thn online boh8eia. Ayth h lista einai epishs dia8esimh se morfh enos terastioy arxeioy (poy brisketai sthn ekdosh 2.0), toy Documentation/Configure.help sto dentro twn dirs toy source kwdika toy pyrhna toy Linux sas.

3.3.12 Xakema toy pyrhna

>Apo to README toy Linus :

Oi leptomereies ths ru8mishs gia "xakema toy pyrhna (kernel hacking)" synh8ws dhmioyrgoun enan megalutero h argotero pyrhna (h kai ta duo), kai mporoun akomh na kanoyn ton pyrhna ligotero sta8ero, otan ry8mizoyme roytines, poy panta caxnoyn ston kakogrammeno kwdika gia na broyn ta problhmata toy pyrhna (h kmalloc() ). Epomenws, pi8anotata na prepei n’ apanthsete "n" se sxetikes erwthseis gia pyrhna "paragwghs".

3.4 Kai twra, ti; (To arxeio Makefile)

Afou teleiwsete tis ry8miseis, ena mhnyma sas leei oti o pyrhnas sas einai ry8mismenos, kai na "elegjete to epanw-epanw epipedo toy Makefile gia epipleon ry8miseis (check the top-level Makefile for additional configuration)", klp.

Ara, koitazoyme to Makefile. Pi8anotata na mh xreiastei na to allajoyme, alla pote den blaptei mia matia. Mporoume epishs n’ allajoyme tis epiloges toy otan etoimastei o neos pyrhnas, me thn entolh rdev. Ean ais8aneste sta xamena koitazontas to arxeio ayto, tote mhn asxolh8eite.

4 Kanontas compile ston pyrhna

4.1 Ka8arisma kai ejartwmena arxeia

Otan teleiwsei h doyleia toy script ry8misewn, sas leei epishs na make dep ( = dhmioyrgeiste tis ejarthseis) kai (pi8ana) clean ( = ka8ariste). Epomenws, dwste make dep. Ayto 8a epibebaiwsei pws ola ta ejartwmena arxeia, opws px ta include, briskontai sth 8esh toys. Ayth h doyleia den pairnei polu xrono, ektos an o H/Y sas einai arketa argos. Gia palioteres ekdoseis toy pyrhna, otan teleiwsete prepei na dwsete kai make clean. Ayto sbhnei ola ta object arxeia kai merika alla pragmata, poy oi palioteres ekdoseis afhnoyn pisw toys. Se opoiadhpote periptwsh, mhn jexnate ayto to bhma prin prospa8hsete na kanete compile enan pyrhna.

4.2 Diarkeia toy compile

Meta to depend kai to clean, twra mporeite na dwsete make bzImage, h make bzdisk. (Ayto einai to meros ths ergasias poy pairnei ton perissotero xrono.) To make bzImage kanei compile ton pyrhna, kai afhnei ena arxeio sto directory arch/i386/boot, me to onoma (metaju allwn) bzImage. Aytos einai o neos pyrhnas, se sympiesmenh morfh. To make bzdisk kanei ta idia pragmata, alla epishs grafei to kainourgio bzImage se mia disketa, thn opoia ypo8etw pws exete topo8ethsei sth monada "A:". To bzdisk einai arketa eykoloxeiristo, gia dokimes newn pyrhnwn. An ta kanei 8alassa (h apla den doylecei swsta), apla bgalte th disketa kai epanekkinhste me ton palio pyrhna sas. Mporei epishs n’ apotelesei enan eukolo tropo na bootarete, an apo la8os sbhsete ton palio sas pyrhna (h kanete kati ej isoy fobero). Mporeite epishs na to xrhsimopoihsete gia nees egkatastaseis, otan apla metaferete ta periexomena enos sklhrou s’ enan allon. ("Ol’ ayta kai perissotera akomh! Posa 8a plhrwnate TWRA gi’ ayta;")

Oloi oi (akomh kai me orismenh paradoxh) prosfatoi pyrhnes einai sympiesmenoi, ek ou kai to bz mprosta sta onomata. Enas sympiesmenos pyrhnas aytomata aposympiezetai, otan ekteleitai.

Se palioteroys pyrhnes, den yparxei epilogh na ftiajete bzImage. To onoma htan apla zImage. Pros to paron, h epilogh gia asympiesto pyrhna ejakoloy8ei na yparxei, wstoso, me to mege8os poy exoyn oi neoi pyrhnes, einai sxedon ypoxrewtiko na ton ftiajete sympiesmeno.

4.3 Alla arxeia tupoy "make"

To make mrproper kanei pio ektetameno clean, to opoio merikes fores einai aparaithto. Mporei na 8elete na to kanete meta apo ka8e mpalwma (patch). To make mrproper 8a sbhsei kai to arxeio twn ry8misewn sas, ara isws prepei na kanete ena backup antigrafo toy (.config), an deite pws kati tetoio sas einai xrhsimo.

To make oldconfig 8a prospa8hsei na ry8misei ton pyrhna apo ena palio arxeio ry8misewn. 8a diatrejei th diadikasia make config. An den exete janakanei compile kapoion pyrhna, h den exete kapoio palio arxeio ry8misewn, tote pi8anotata den prepei na kanete kati tetoio, ka8ws pi8anotata 8a 8elhsete n’ allajete thn default ru8mish.

Diabaste thn enothta gia ta modules, gia perigrafh toy make modules.

4.4 Egkatastash toy pyrhna

Afou apokthsete enan neo pyrhna, poy fainetai na doyleuei opws sas aresei, einai wra na ton egkatasthsete. Oi perissoteroi xrhstes xrhsimopoioun to LILO (Linux Loader) gia th doyleia ayth. To make bzlilo 8a egkatasthsei ton pyrhna, 8a trejei to LILO, 8a sas etoimasei na bootarete, ALLA MONON ean to lilo exei ry8mistei ston H/Y sas me ton akoloy8o tropo : o pyrhnas einai o /vmlinuz, to lilo brisketai sto /sbin, kai to arxeio ry8misewn toy lilo (/etc/lilo.conf) symfwnei me ola ayta.

Diaforetika, prepei na xrhsimopoihsete to LILO katey8eian. Einai sxetika eukolo programma na to egkatasthsete kai na doylecete m’ ayto, alla exei mia tash na mperdeuei toys an8rwpoys me to arxeio ry8misewn toy. Koitajte ayto to arxeio ry8misewn (/etc/lilo/config gia palioteres ekdoseis toy Linux, /etc/lilo.conf stis nees ekdoseis), kai deite pws einai grammeno. Prepei na moiazei kapws etsi :

    image = /vmlinuz
    label = Linux
    root = /dev/hda1
    ...

H parametros image = deixnei ton egkatesthmeno pyrhna, kai oi perissoteroi xrhstes grafoyn /vmlinuz. H label ( = etiketa) xrhsimopoieitai apo to lilo gia na katalabei me poion pyrhna h me poio LS 8a bootarei, kai to root einai to antistoixo toy directory / gia to sygkekrimeno LS. Parte ena backup toy paliou sas pyrhna kai antigracte sto swsto meros to bzImage poy molis ftiajate. (Prepei na dwsete cp bzImage /vmlinuz, an xrhsimopoieite ton /vmlinuz). Meta, janatrejte to lilo. Se newteres ekdoseis apla dinete lilo, alla se palioteres

prepei na kanete /etc/lilo/install (egkatastash), h akomh kai /etc/lilo/lilo -C /etc/lilo/config

(ru8mish).

An 8elete na ma8ete perissotera gia tis ry8miseis toy LILO, h den exete to LILO, breite thn pio prosfath ekdosh toy apo ton agaphmeno sas ftp server, kai akoloy8eiste tis odhgies ths.

Gia na bootarete apo ton sklhro disko m’ enan apo toys palious pyrhnes sas (pragma poy einai enas tropos na diasw8eite, an ta kanete 8alassa me ton neo pyrhna), antigracte sto telos toy arxeioy tis grammes katw apo (kai mazi me) to image = xxx poy briskontai sto arxeio ry8misewn toy LILO, kai allajte to image = xxx se image = yyy, opoy yyy einai to plhres onoma path toy arxeioy, sto opoio kanate backup ton palio sas pyrhna. Meta, allajte thn label = zzz se label = linux-backup kai janatrejte to lilo. Mporei na xreiastei na balete mia grammh sto arxeio ry8misewn, poy na leei delay=x, opoy x einai mia timh se dekata toy deyteroleptoy, poy leei sto LILO poso na perimenei prin to bootarisma, wste na mporeite na to diakocete (px patwntas to plhktro shift), kai na dwsete thn label (etiketa) toy backup arxeioy (se periptwsh poy symboun dysaresta pragmata).

5 Mpalwnontas (patching) ton pyrhna

5.1 Efarmozontas ena mpalwma (patch)

Oi kata tmhmata beltiwseis toy pyrhna dianemontai ws patches ( = mpalwmata). Px, an exete thn ekdosh 1.1.45, kai parei to mati sas oti kapoy yparxei patch46.gz gi’ aythn, shmainei oti mporeite na thn anaba8misete se ekdosh 1.1.46, enwnontas to patch. Fysika, mporei prwta na xreiastei na kanete backup toy

dentroy twn dirs toy source kwdika (to make clean, kai meta to cd /usr/src; tar zcvf old-tree.tar.gz

linux, 8a sas ftajoyn ena sympiesmeno tar arxeio).

Etsi, synexizontas to parapanw paradeigma, as ypo8esoyme oti exete to patch46.gz sto /usr/src. Meta

gyriste me cd sto dir /usr/src kai dwste zcat patch46.gz | patch -p0 (h patch -p0 < patch46, an to

patch einai asympiesto). 8a deite diafora pragmata na feugoyn me taxuthta (h na argopetane, an o H/Y sas einai toso argos), pragma poy sas leei oti prospa8ei na tsontarei ta kommatia, kai an petyxe h oxi. Synh8ws ayth h drasthriothta ejelissetai toso grhgora, wste na mh mporeite na diabasete ta mhnumata ths, kai den eimaste panta sigoyroi an petyxainei h oxi. Epomenws, mporei na 8elete na balete thn parametro -s sth diadikasia proskollhshs toy patch, h opoia bgazei sthn o8onh mono ta mhnumata la8oys. (Den 8’ apokthsete polu synais8hma toy tupoy "gia des, o H/Y moy kanei kati gia n’ allajei!", alla mporei kai na sas aresei aytos o tropos.) Gia na breite poia merh ths diadikasias den doulecan swsta, pate sto dir /usr/src/linux kai cajte gia arxeia me katalhjh .rej . Merikes ekdoseis ths patch (palioteres ekdoseis, poy ginane compile me th boh8eia katwteroy filesystem), afhnoyn ta arxeia ayta me katalhjh # . Mporeite na balete thn entolh find na cajei gia xarh sas. Dinontas

    find .  -name '*.rej' -print

bgazei sthn o8onh osa arxeia me katalhjh .rej poy yparxoyn sto trexon dir kai sta subdirs toy.

An ola phgan kala, kante make clean, config, kai dep, opws ta perigracame stis enothtes 3 kai 4.

Yparxoyn kamposes parametroi ths entolhs patch. Opws proanaferame, h patch -s katapnigei ola ta mhnumata, ektos apo ta mhnumata la8wn. An balete ton source kwdika toy pyrhna se kapoio dir diaforetiko apo to /usr/src/linux, h patch -p1 (s’ ayto to allo dir) 8a kanei to patch mia xara. Oi ypoloipes parametroi ths patch einai tekmhriwmenes kala sthn antistoixh selida man.

5.2 An kati den paei kala

(Shmeiwsh : Ayth h enothta anaferetai kyriws se palioteroys pyrhnes.)

To pio syxno problhma poy yphrxe, htan opote ena patch allaze ena arxeio me onoma config.in, pragma poy den htan apolyta swsto, epeidh o ka8e xrhsths allazei tis ry8miseis ston diko toy H/Y. Ayto exei pleon ejaleif8ei, alla mporei na to janabreite mprosta sas se palioteres ekdoseis. Gia na to dior8wsete, cajte sto arxeio config.in.rej, na deite ti afhse to patch. Oi allages typika shmeiwnontai me + kai - sthn arxh ka8e grammhs. Diabaste tis grammes poy peristoixizoyn tis grammes twn allagwn, kai 8ymh8eite an dwsate analoga y h n. Twra, dior8wste to config.in, kai allajte ta y se n kai ta n se y, opws xreiazetai. Dwste

    patch -p0 < config.in.rej

kai an leei oti petyxe (dhl. den exei mhnumata apotyxias), tote mporeite na synexisete me ry8miseis kai compilation. To arxeio config.in.rej 8a parameinei ws exei, alla mporeite na to sbhsete.

An synanthsete ki alla problhmata, mporei na exete egkatasthsei ena patch poy den doyleuei. Ean h entolh patch bgalei to mhnyma previously applied patch detected: Assume -R? (anixneuthke prohgoumeno patch, na to antikatasthsw;) pi8anotata pate na balete patch palioterhs ekdoshs apo ton pyrhna sas. An apanthsete y, 8a prospa8hsei na agnohsei ton source kwdika poy exete, kai pi8anotata 8’ apotuxei. Synepws, 8a xreiasteite ena oloklhro neo dentro source kwdika (pragma poy, telika, mporei kai na mhn einai kakh idea).

Gia na afairesete ena patch, xrhsimopoieiste thn entolh patch -R epanw sto arxiko patch.

To kalutero poy exete na kanete, otan ta patches apodeiknuontai lan8asmena, einai na janarxisete m’ ena ka8aro toy koytiou dentro source kwdika (px apo ena apo ta arxeia linux-x.y.z.tar.gz), kai na janakanete olh th diadikasia.

5.3 Sbhnontas ta .orig arxeia

Meta apo molis liga patches, 8’ arxisoyn na sysswreuontai arxeia .orig . Px, ena dentro ekdoshs 1.1.51 poy eixa, teleytaia fora ka8aristhke sthn ekdosh 1.1.48 . Me to poy esbhsa ta .orig arxeia, ejoikonomhsa perissotero apo miso MB. H entolh

    find .  -name '*.orig' -exec rm -f {} ';'

8a frontisei ta pragmata gia sas. Oi ekdoseis ths patch poy bazoyn # anti gia .rej, xrhsimopoioun tilde (perispwmenh) anti gia .orig .

Yparxoyn kaluteroi tropoi gia na sbhsoyme ta arxeia .orig, oi opoioi ejartwntai apo ta GNU xargs. Px :

    find .  -name '*.orig' | xargs rm

h h "arketa asfalhs, alla ligo pio kyriolektikh" me8odos :

    find . -name '*.orig' -print0 | xargs --null rm --

5.4 Alla patches

Yparxoyn ki alla patches (ayta 8a ta apokalw "mh stantar"), ektos ap’ osa dianemei o Linus. An dokimasete na ta pros8esete, ta patches toy Linus mporei kai na mh doylecoyn swsta, kai eite 8a prepei na ta janabgalete - na dior8wsete ton source kwdika toy patch - na egkatasthsete ena neo dentro source kwdika, eite na kanete enan syndyasmo olwn twn parapanw. Ayto mporei na einai polu enoxlhtiko, epomenws, an den 8elete n’ allajete ton source kwdika (me pi8anothta gia polu apotyxhmeno apotelesma), afaireste ta mh stantar patches prin balete ta toy Linus, h apla egkatasthste ena neo dentro. Tote, mporeite na deite ean ta mh stantar patches doyleuoyn akomh. An oxi, eite exete kollhsei s’ enan palio pyrhna, kai paizete me to patch h ton source kwdika prospa8wntas na ta kanete na doylecoyn, h pernate thn wra sas perimenontas (pi8anotata parakalwntas) na bgei mia nea ekdosh toy patch.

Poso syxna yparxoyn patches ektos ths stantar dianomhs; Pi8anotata kapoia stigmh na synanthsete kapoio. Proswpika xrhsimopoiousa to noblink patch stis virtual konsoles moy, epeidh misw toys kersores poy anabosbhnoyn. (To sygkekrimeno patch ananewnetai syxna - toylaxiston ananewnotan kata to parel8on - stis nees ekdoseis toy pyrhna.) Wstoso, me toys perissoteroys neoys drivers syskeywn na exoyn pleon th morfh modules poy fortwnontai, h syxnothta emfanishs twn "mh stantar" patches meiwnetai shmantika.

6 Epipleon paketa

O pyrhnas toy Linux exei polles ikanothtes, oi opoies den epejhgountai oute akomh kai mesa ston idio ton source kwdika. Aytes oi ikanothtes synh8ws xrhsimopoiountai apo ejwterika programmata, twn opoiwn merika apo ta pio synh8ismena paroysiazontai edw.

6.1 kbd

Pi8anotata h konsola toy Linux na exei perissoteres ikanothtes ap’ oses dikaioutai. Metaju aytwn brisketai h ikanothta na allazoyme fonts, na anadiatassoyme to plhktrologio mas, na allazoyme analysh o8onhs (ayto stoys newteroys pyrhnes), klp. To paketo kbd exei programmata poy epitrepoyn ston xrhsth na kanei ola ta parapanw, syn polla fonts kai diatajeis plhktrwn gia sxedon ka8e plhktrologio, kai einai dia8esimo apo ta idia sites, opoy briskoyme ton source kwdika toy pyrhna.

6.2 util-linux

O Rik Faith (faith@cs.unc.edu) mazece s’ ena paketo mia megalh syllogh utilities gia Linux, to opoio - entelws tyxaia - onomazetai util-linux. Aytes oi utilities twra synthrountai apo ton Andries Brouwer (util-linux@math.uio.no). Einai dia8esimes me anwnymo ftp apo to sunsite.unc.edu sto dir

/pub/Linux/system/misc, kai periexoyn programmata opws to setterm, to rdev, kai to ctrlaltdel, ta

opoia einai sxetika me ton pyrhna. Opws leei o Rik, mhn kanete egkatastaseis xwris na skefteste. Den xreiazetai na egkatasthsete to ka8e ti mesa sto paketo. (An kanete kati tetoio, polu pi8ano na sas projenhsei sobara problhmata.)

6.3 hdparm

Opws symbainei me polla paketa, touto edw kapote htan ena paketo me programmata kai yposthrijhs toy pyrhna. Ta patches enswmatw8hkan ston epishmo pyrhna, kai ta programmata gia na ton beltistopoihsete (kai na paijete me ton sklhro sas disko) dianemontai xwrista.

6.4 gpm

To gpm shmainei general purpose mouse (pontiki gia ka8e doyleia). Ayto to programma sas epitrepei na kanete cut kai paste ka8aro text stis virtual konsoles, ka8ws kai na kanete ki alla pragmata, me mia megalh poikilia tupwn pontikiou.

7 Merikes pagides

7.1 make clean

An o pyrhnas sas kanei trela pragmata meta apo mia synh8ismenh anaba8mish, pi8anotata exete jexasei to make clean prin kanete compile ton neo pyrhna. Ta symptwmata mporei na einai opoiadhpote, apo kremasma toy H/Y kai parajenh symperifora toy I/O, mexri pesmenh apodosh. Epishs, 8ymh8eite na kanete kai make dep.

7.2 Terastioi h argoi pyrhnes

An o pyrhnas sas aporrofa pollh mnhmh, einai polu megalos, kai/h kanei aiwnes gia compile akomh kai sto neo sas Quadbazillium-III/4400, pi8anotata ry8mizete tonoys apo axrhsta pragmata (drivers syskeywn, filesystems, klp). An den xrhsimopoieite kati, mhn to ry8mizete, epeidh katalambanei poroys toy H/Y. To profanestero sumptwma parafoyskwmatos toy pyrhna einai h yperbolikh antallagh dedomenwn (swapping) apo - pros mnhmh kai disko. An o diskos sas kanei polu 8orybo, kai den einai apo keinoys toys palious Fujitsu Eagles, poy kata to kleisimo kanoyn san aeriw8oumeno poy prosgeiwnetai, cajte to sthsimo toy pyrhna sas.

Mporeite na breite posh mnhmh xrhsimopoiei o pyrhnas, pairnontas to oliko poso mnhmhs toy H/Y sas, kai afairwntas to poso ths "total mem" (olikhs mnhmhs) sto arxeio /proc/meminfo, h to poso poy dinei h entolh free.

7.3 Den doyleuei h parallhlh 8ura, h o ektypwths moy

Oi epiloges ru8mishs gia ta PCs einai : Prwta, sthn kathgoria "General Setup" (genikes ry8miseis), dialejte "Parallel port support" (yposthrijh parallhlhs 8uras) kai "PC-style hardware" (hardware tupoy PC). Meta, stis "Character devices" (syskeyes xarakthrwn) dialejte "Parallel printer support" (yposthrijh parallhloy ektypwth).

Meta, yparxoyn kai oi onomasies. To Linux 2.2 onomazei ton ektypwth diaforetika ap’ o,ti oi prohgoumenes ekdoseis. To symperasma einai oti an eixate lp1 me ton palio pyrhna sas, twra pi8anotata exete lp0 me toys kainourgioys. Gia na breite to onoma toy ektypwth, dwste thn entolh dmesg, h cajte ta arxeia katagrafhs (logs) sto dir /var/log.

7.4 Den ginetai compile ston pyrhna

An den ginetai compile, tote pi8anotata apetyxe h pros8hkh enos patch, h kata kapoio tropo den einai swstos o source kwdikas. Epishs, mporei na einai palia h oxi swsth h ekdosh ths gcc poy exete (px ta arxeia include). Bebaiw8eite oti oi symbolikoi desmoi (symbolic links) poy perigrafei o Linus sto README, einai sthmenoi swsta. Genika, an den mporoume na kanoyme compile enan stantar pyrhna, tote kati den paei ka8oloy kala me to Linux, kai einai anagkaia h epanegkatastash merikwn ergaleiwn.

Se merikes periptwseis, h gcc krasarei ej aitias problhmatwn sto hardware. To mhnyma la8oys einai kati san "xxx exited with signal 15" ( = to xxx epace na leitoyrgei me mhnyma 15), kai genika ayta ta mhnumata exoyne mysthriwdh emfanish. Pi8anotata den 8a milage gia kati tetoio, alla einai kati poy moy synebh kapote - eixa xalasmenh mnhmh cache, kai o compiler kremouse se tyxaies stigmes. An exete problhmata, prwta prospa8hste na epanegkatasthsete thn gcc. Prepei na ginete kaxupoptoi monaxa an kanete aproblhmatista compile ston pyrhna sas me off thn ejwterikh cache, me periorismenh posothta RAM, klp.

Enoxlei toys xrhstes, otan toys les oti to hardware toys einai problhmatiko, alla den bgazw ta pragmata ayta ap’ to myalo moy. Yparxei enas sxetikos katalogos me syxnes erwthseis (FAQs), poy brisketai sto

http://www.bitwizard.nl/sig11/.

7.5 H nea ekdosh toy pyrhna den bootarei

Den trejate to LILO, h den to ry8misate swsta. Ena pragma poy me "dielyse" kapote, htan ena problhma sto arxeio ry8misewn, opoy egrafe boot = /dev/hda1, anti boot = /dev/hda. (Ayto mporei na einai polu enoxlhtiko sthn arxh, alla an exete ena arxeio ry8misewn poy doyleuei, den xreiazetai na to allajete.)

7.6 3exasate na trejete to LILO, h o H/Y den bootarei ka8oloy

Oups! To kalutero pragma poy mporeite na kanete edw einai boot apo disketa h CDROM, kai na etoimasete mia akomh disketa ekkinhshs (opws px 8a thn eftiaxne h entolh make zdisk). Prepei na gnwrizete poy na breite to root filesystem sas (/), kai ti tupos einai (dhl. second extended, minix). Sto parakatw paradeigma, prepei epishs na gnwrizete epanw se poio filesystem brisketai to dentro toy source kwdika sas (/usr/src/linux), ton tupo toy, kai pou to kanoyme mount synh8ws.

Sto akoloy8o paradeigma, to / einai to /dev/hda1, kai to filesystem poy krataei to /usr/src/linux brisketai sto /dev/hda3, poy synh8ws to kanoyme mount sto /usr. Kai ta duo einai filesystems tupoy second extended. To image toy energou pyrhna sto /usr/src/linux/arch/i386/boot onomazetai bzImage.

H idea einai oti, an yparxei ena energo bzImage, pi8anon na mporoume na to baloyme sth nea disketa. Mia allh enallaktikh lush, poy isws na doyleuei kalutera, isws kai oxi (ejartatai me poia me8odo kanate mpaxalo ton H/Y sas), 8a th syzhthsoyme meta to paradeigma.

Prwta, kante boot apo syndyasmo boot/root disketwn (h disketa diaswshs - rescue disk), kai kante mount to filesystem poy periexei to image toy energou pyrhna :

    mkdir /mnt
    mount -t ext2 /dev/hda3 /mnt

An h mkdir sas pei oti to dir ayto yparxei hdh, apla agnohste thn. Twra, pate me cd sto dir opoy briskotane to image toy energou pyrhna. Shmeiwste pws

/mnt + /usr/src/linux/arch/i386/boot - /usr = /mnt/src/linux/arch/i386/boot

Balte mia formarismenh disketa sto drive "A:" (oxi th disketa boot h th root!), rijte to image epanw ths, kai ry8miste to gia to root filesystem sas :

    cd /mnt/src/linux/arch/i386/boot
    dd if=bzImage of=/dev/fd0
    rdev /dev/fd0 /dev/hda1

Meta, gyriste me cd sto / kai kante unmount to kanoniko filesystem /usr :

    cd /
    umount /mnt

Twra, logika prepei na mporeite na epanekkinhsete ton H/Y sas kanonika ap’ ayth th disketa. Mhn jexasete na trejete to lilo (h na kanete swsta o,ti kanate prin la8os) meta thn epanekkinhsh!

Opws proanaferame, yparxei kai mia allh synh8ismenh enallaktikh lush. An symbei na exete ena antigrafo toy energou pyrhna sto / (px to /vmlinuz), mporeite na to xrhsimopoihsete gia mia disketa ekkinhshs. Ypo8etontas ola ta parapanw ws swsta, kai oti to image toy pyrhna onomazetai /vmlinuz, allajte ta ejhs sto parapanw paradeigma : Allajte to /dev/hda3 se /dev/hda1 (sto filesystem /), to /mnt/src/linux se /mnt, kai to if=bzImage se if=vmlinuz. (Agnohste th shmeiwsh poy leei pws na ftiajete to /mnt/src/linux.)

H xrhsh toy LILO me megaloys diskoys (panw apo 1024 kylindrwn) mporei na projenhsei problhmata. Diabaste to LILO mini-HOWTO, h opoiodhpote sxetiko keimeno.

7.7 Leei "warning: bdflush not running"

(Dhl. "proeidopoihsh : den trexei to bdflush".) Ayto mporei na einai sobaro problhma. Me arxh kapoia ekdosh toy pyrhna metagenesterh ths 1.0 (gurw stis 20 Aprilioy 1994), anaba8mis8hke kai antikatasta8hke to programma update (to opoio adeiazei se periodikh bash ta boh8htika arxeia toy filesystem). Parte ton source kwdika toy bdflush (mporeite na ton breite ekei, opoy yparxei kai o source kwdikas toy pyrhna), kai egkatasthste ton. (Oso kanete thn egkatastash, pi8anotata na 8elete na trexei o palios pyrhnas sas.) To programma ayto egka8istatai ws update, kai meta thn epanekkinhsh o neos pyrhnas den 8a parapone8ei jana.

7.8 Den mporw na balw to IDE/ATAPI CD-ROM na doylecei

Arketa paradojws, arketoi xrhstes den mporoun na baloyne tis monades ATAPI na doylecoyn, epeidh einai polla ta pragmata poy pi8anon na mhn pane kala.

Ean to CD-ROM sas einai h monh syskeyh epanw s’ ena kalwdio IDE, prepei na to kanete (me toys jumpers - braxykyklwthres - sto sasi toy) "master" h "single". Ayto einai to pleon synh8ismeno la8os - alla entelws ypo8etika.

Gia paradeigma, h etairia Creative Labs exei balei diasyndeseis IDE epanw stis kartes hxoy poy paragei. Wstoso, ayto odhgei sto endiaferon problhma oti, enw merikoi xrhstes exoyne mono mia diasundesh IDE, arketoi exoyne duo ap aytes epanw sth motherboard toys (synh8ws sthn IRQ15), ara h diasundesh stis kartes SoundBlaster ginetai h trith IDE (polles fores sthn IRQ11).

Ayto projenei problhmata sto Linux, epeidh oi ekdoseis 1.2.x den yposthrizoyn trith diasundesh IDE. (H sxetikh yposthrijh jekinaei kapoy stis ekdoseis 1.3.x , alla 8ymh8eite oti aytes einai ekdoseis anaptyjhs, kai den kanoyn aytomath anixneysh perifereiakwn.) (S.t.m. : To Linux exei beltiw8ei polu apo tote poy grafthke to paron HowTo, alla sthn prajh ejakoloy8ei na paramenei polu spania h anagkh gia 3h IDE.) Gia na jeperasete ayton ton skopelo, exete kapoies epiloges :

An hdh exete deuterh IDE, pi8anotata h den thn xrhsimopoieite, h den exei duo monades diskoy - cdrom epanw ths. Parte th monada ATAPI apo thn karta hxoy, kai balte thn epanw sth deuterh IDE. Meta, apenergopoieiste thn IDE ths kartas hxoy (kai ejoikonomhste etsi mia IRQ).

An den exete deuterh IDE, kalwdiwste me toys jumpers thn IDE ths kartas hxoy (oxi to meros poy exei na kanei me tis leitoyrgies hxoy!) sthn IRQ15, wste na ginei deuterh IDE. Ayto to sxhma prepei na doyleuei kanonika.

7.9 Leei parajena pragmata gia katarghmenes aithseis routing

Breite tis nees ekdoseis toy programmatos route, ka8ws kai opoioy alloy programmatos xeirizetai to routing.

Exei allajei to /usr/include/linux/route.h (to opoio einai ena arxeio sto /usr/src/linux).

7.10 To firewalling den doyleuei sthn ekdosh 1.2.0

Anaba8misteite toylaxiston sthn ekdosh 1.2.1 .

7.11 "Not a compressed kernel Image file"

(Dhl. "Den prokeitai gia sympiesmeno image toy pyrhna".) Mhn xrhsimopoihsete gia bootarisma to arxeio

vmlinux poy dhmioyrgh8hke sto /usr/src/linux. To swsto einai to [..]/arch/i386/boot/bzImage.

7.12 Problhmata me to termatiko konsolas (console terminal) meta thn anaba8mish se 1.3.x

Sth grammh gia thn console termcap toy arxeioy /etc/termcap, allajte th lejh dumb se linux. Isws xreiastei na dwsete kai mia sxetikh grammh terminfo.

7.13 Den mporw na kanw compile, afou anaba8misa ton pyrhna

O source kwdikas toy pyrhna toy Linux perilambanei kamposa arxeia include (ayta poy exoyn katalhjh .h) sto dir /usr/include, sta opoia kai anaferontai ta ypoloipa. H typikh klhsh twn arxeiwn aytwn ginetai ws ejhs (opoy xyzzy.h einai opoiodhpote arxeio include mesa sto /usr/include/linux) :

    #include <linux/xyzzy.h>

Kanonika, yparxei sto /usr/include to link linux pros to directory include/linux toy source kwdika toy pyrhna sas (synh8ws /usr/src/linux/include/linux). An ayto to link den brisketai ekei, h deixnei pros la8os meros, ta perissotera arxeia den mporoun na ginoyn compile. An apofasisate oti o source kwdikas toy pyrhna trwei xwro ston disko, kai ton sbhsate, ayto pi8anotata 8’ apotelesei problhma. Mia akomh aitia problhmatwn, einai oi adeies xrhshs twn arxeiwn. Ean to dir root exei ej orismou umask, poy den epitrepei se alloys xrhstes na doune ta periexomena toy, kai anoijate ton source kwdika toy pyrhna xwris thn parametro p (preserve filemodes - diathrhsh toy tropoy leitoyrgias twn arxeiwn), aytoi oi sygkekrimenoi xrhstes den 8a mporesoyn na xrhsimopoihsoyn meta ton compiler ths glwssas C. An kai mporeite na dwsete thn entolh chmod gia na dior8wsete ayth thn katastash, einai mallon eykolotero na jananoijete ta arxeia include. Ayto ginetai me ton idio tropo poy anoijate olon ton source kwdika toy pyrhna sthn arxh, mono poy exei mia parametro parapanw :

    blah# tar zxvpf linux.x.y.z.tar.gz linux/include

Shmeiwsh : H "make config" 8a janaftiajei to link pros to /usr/src/linux, ean ayto den yparxei.

7.14 Ayjanontas ta oria

Oi akoloy8es, ws paradeigma entoles, mporei na fanoun xrhsimes s’ osoys rwtane pws ayjanontai kapoia oria, poy bazei o pyrhnas apo monos toy :

echo 4096 > /proc/sys/kernel/file-max
echo 12288 > /proc/sys/kernel/inode-max
echo 300 400 500 > /proc/sys/vm/freepages

8 Shmeiwsh gia anaba8miseis pros ekdosh 2.0.x, 2.2.x

Oi ekdoseis 2.0.x kai 2.2.x toy pyrhna eferan kamposes allages ston tropo egkatastashs toy. To arxeio Documentation/Changes sto dentro dirs toy source kwdika twn ekdosewn 2.0.x periexei plhrofories poy prepei na jerete, an kanete anaba8mish pros opoiadhpote apo tis duo aytes ekdoseis. Pi8anotata 8a xreiastei na anaba8misete arketa basika paketa, opws ta gcc, libc, SysVInit, kai isws n’ allajete merika arxeia, epomenws prepei na anamenete tetoies allages. Wstoso, mhn panikoballeste.

9 Modules

Ta modules toy pyrhna poy fortwnontai (loadable), synh8ws kanoyn oikonomia sth mnhmh kai dieykolunoyn tis ry8miseis. To pedio twn modules exei megalwsei, wste shmera perilambanei filesystems, drivers kartwn diktuoy, drivers monadwn magnhtikhs tainias, drivers ektypwtwn, kai alla.

9.1 Egka8istwntas tis utilities gia ta modules

Oi utilities gia ta modules einai dia8esimes (ws arxeio modutils-x.y.z.tar.gz) apo ekei, opoy phrate ton source kwdika toy pyrhna. Dialejte thn pleon prosfath ekdosh x.y.z toy sxetikou patch, h opoia einai ish me (h amesws parakatw apo) thn ekdosh toy pyrhna sas. Anoijte to me tar zxvf modutils-x.y.z.tar.gz, pate me cd sto directory poy dhmioyrgh8hke (modutils-x.y.z), diabaste to README, kai akoloy8hste tis odhgies egkatastashs (poy synh8ws einai aples, px kati san make install). Twra, kanonika prepei na exete

ta programmata insmod, rmmod, ksyms, lsmod, genksyms, modprobe, kai depmod sto dir /sbin. An 8elete,

kante mia dokimh stis utilities aytes me ton driver "hw", poy perilambanetai sthn insmod ws paradeigma. Gia leptomereies, cajte to arxeio INSTALL sto sxetiko subdir.

H insmod bazei ena module ston energo pyrhna. Ta modules synh8ws exoyne epektash .o . O driver dokimwn poy proanaferame, onomazetai drv_hello.o. Epomenws, gia na ton baloyme ston pyrhna, 8a dwsoyme insmod drv_hello.o. Gia na doume poia modules xrhsimopoiei ayth th stigmh o pyrhnas mas, dinoyme lsmod. H ejodos einai kapws etsi :

    blah# lsmod
    Module:        #pages:  Used by:
    drv_hello          1

To drv_hello einai to onoma toy module, katalambanei mia selida twn 4k mnhmhs, kai pros to paron den yparxoyn alla modules poy ejartwntai ap’ ayto. Gia na to afairesoyme, dinoyme rmmod drv_hello. Shmeiwste oti h rmmod xreiazetai onoma module ws orisma, oxi onoma arxeioy. To onoma toy module to pairnete apo th lista toy lsmod. O skopos twn ypoloipwn utilities gia ta modules anaferetai stis antistoixes selides man.

9.2 Modules poy dianemontai mazi me ton pyrhna

Apo thn ekdosh 2.0.30, ta perissotera paketa einai dia8esima ws loadable modules. Gia na ta xrhsimopoihsete, prwta bebaiw8eite oti den ta exete sthsei mazi me ton pyrhna. Dhladh, mhn apantate y gi’ ayta, kata th diarkeia ths make config. Kante compile enan neo pyrhna, kai epanekkinhste m’ ayton. Meta, janapate me cd sto /usr/src/linux, kai dwste make modules. Ayto kanei compile ola ta modules poy den balate sto sthsimo toy pyrhna, kai topo8etei links pros ayta sto /usr/src/linux/modules. Mporeite na ta xrhsimopoihsete katey8eian apo to dir ayto, h na dwsete make modules_install, poy 8a ta egkatasthsei sto dir /lib/modules/x.y.z (opoy x.y.z einai h ekdosh toy pyrhna).

Ayto einai polu eukolo eidika me ta filesystems. Px, pi8anotata den 8a xrhsimopoihsete syxna ta filesystems minix kai msdos, kai, an proswpika euriska mia disketa msdos (mprrrr!!!), 8a edina insmod /usr/src/linux/modules/msdos.o, kai meta rmmod msdos. Ayth h diadikasia ejoikonomei peripoy 50k RAM ston pyrhna kata thn ypoloiph leitoyrgia toy. Edw epiballetai mia mikrh shmeiwsh gia to filesystem minix : Panta na to sthnete katey8eian mesa ston pyrhna, otan prokeitai gia xrhsh se disketes "diaswshs".

10 Symboyles kai kolpa

10.1 Epanakateu8ynsh ths ejodoy twn entolwn make kai patch

An 8elete katagrafh toy ti kanane oi entoles make kai patch, mporeite na epanakatey8unete thn ejodo pros ena arxeio. Prwta, deite ti kelyfos (shell) trexei : Dwste grep root /etc/passwd, kai cajte gia kati san

/bin/csh.

An xrhsimopoieite to sh h to bash, dinontas :

    (command) 2>&1 | tee (output file)

8a parete ena antigrafo ths ejodoy ths (command) ( = entolhs) sto arxeio (output file) ( = arxeio ejodoy).

Gia ta csh kai tcsh, dwste :

    (command) |& tee (output file)

Gia to rc (shmeiwsh : to opoio pi8anotata den xrhsimopoieite) dwste :

    (command) >[2=1] | tee (output file)

10.2 Egkatastash toy pyrhna ypo proupo8eseis

Ektos apo th xrhsh disketwn, yparxoyn arketes me8odoi na testaroyme enan neo pyrhna xwris na peirazoyme ton palio. Anti8eta me o,ti symbainei se alles parallages toy Unix, to LILO exei thn ikanothta na bootarei ton pyrhna ap’ opoydhpote ston sklhro. (An exete disko megalutero twn 500 MBytes, parakalw diabaste sthn tekmhriwsh toy LILO tis pi8anes aities problhmatwn.) Epomenws, an pros8esete kati poy moiazei me

    image = /usr/src/linux/arch/i386/boot/bzImage
        label = new_kernel

sto telos toy arxeioy ry8misewn toy LILO, 8a mporesete na dokimasete enan neo pyrhna, xwris n’ akoymphsete ton palio sas /vmlinuz (fysika, afou trejete to lilo). O eykoloteros tropos na poume sto LILO na bootarei enan neo pyrhna, einai na pathsoyme to plhktro shift kata thn ekkinhsh (otan grafei LILO sthn o8onh, kai tipote allo), pragma poy sas bgazei se mia anamonh (prompt). Edw mporeite na plhktrologhsete new_kernel (dhl. to onoma toy neoy pyrhna), wste na bootarei o neos pyrhnas.

An 8elete na exete ston H/Y sas taytoxrona perissotera apo ena dentra source kwdika pyrhna (omws, prosejte : ayto mporei na faei polu xwro diskoy), o pleon synh8ismenos tropos einai na ta onomasete /usr/src/linux-x.y.z, opoy x.y.z einai h ekdosh toy pyrhna. Meta, mpeite na "dialejete" ena dentro source kwdika m’ enan symboliko desmo (symbolic link). Px, dinontas ln -sf linux-1.2.2 /usr/src/linux, energopoioume to dentro 1.2.2 . Prin ftiajoyme ena symbolic link, bebaiwnomaste oti h teleytaia parametros ths ln den einai ena pragmatiko directory (oi palioi symbolic links einai mia xara), dioti ta apotelesmata den 8a einai ayta poy perimenoyme.

10.3 Ananewseis toy pyrhna

O Russell Nelson (nelson@crynwr.com) kanei perilhceis twn allagwn stis nees ekdoseis toy pyrhna. Aytes einai suntomes, kai mallon prepei na tis diabasete prin apo mia anaba8mish. Einai dia8esimes me anwnymo ftp apo to ftp.emlist.com (sto dir pub/kchanges), h apo to site

    http://www.crynwr.com/kchanges

11 Alla sxetika HOWTOs poy mporei na fanoun xrhsima

• Sound-HOWTO : kartes hxoy kai sxetikes utilities

• SCSI-HOWTO : ola ta sxetika me SCSI controllers kai syskeyes

• NET-2-HOWTO : diktuwsh

• PPP-HOWTO : eidika h diktuwsh me PPP

• PCMCIA-HOWTO : oi drivers gia ton forhto sas

• ELF-HOWTO : Ti einai to ELF, sxetikes metatropes

• Hardware-HOWTO : genikh episkophsh toy yposthrizomenoy hardware

• Module mini-HOWTO : perissotera gia ta modules toy pyrhna • Kerneld mini-HOWTO : sxetika me ton daemon kerneld

• BogoMips mini-HOWTO : an anarwtieste... (gia thn apodosh toy H/Y)

12 Diafora

12.1 Syggrafeas

O syggrafeas kai synthrhths toy Linux Kernel-HOWTO einai o Brian Ward (bri@cs.uchicago.edu). Parakalw, steilte moy sxolia, prosarthmata, dior8wseis (eidika aytes moy einai oi pleon xrhsimes).

Mporeite na rijete mia matia sth selida moy, se kapoio apo ta ejhs URLs :

    http://www.math.psu.edu/bri/
    http://blah.math.tu-graz.ac.at/~bri/

An kai prospa8w na dinw prosoxh sta mails moy, parakalw na 8ymaste oti pairnw polla ap’ ayta ka8e mera, ara mporei n’ arghsw ligo na sas apanthsw. Eidika otan moy stelnete erwthseis, parakalw na ekfrazeste me osh safhneia kai leptomereia mporeite. Ean grafete gia harware poy den doyleuei (h gia paromoia 8emata), prepei na jerw ti hardware exete. An exete na moy anaferete kapoio sfalma leitoyrgias, mh lete apla "prospa8hsa ayto ki ayto, alla edwse la8os". Prepei na jerw ti la8os htane ayto. Epishs, prepei na gnwrizw poies ekdoseis pyrhna, gcc, kai libc exete. An apla moy gracete oti xrhsimopoieite thn tade dianomh, ayto den moy leei polla. Telos, oi aples erwthseis den me peirazoyn, dioti an den rwthsete, pote den 8a parete apanthsh! 8a h8ela na eyxaristhsw ton ka8ena poy moy esteile e-mail.

An h erwthsh sas den sxetizetai me ton pyrhna, h einai grammenh se glwssa poy den katalabainw, den 8a apanthsw.

An moy gracate kai den phrate apanthsh se logiko xroniko diasthma (dhl. peripoy treis ebdomades), tote pi8anotata esbhsa kata la8os to e-mail sas. Sygnwmh. Parakalw, janaprospa8hste.

Pairnw polla e-mails sxetika me pragmata, poy oysiastika einai problhmata h 8emata toy hardware. Ayto einai ok, alla parakalw na 8ymaste oti den gnwrizw olo to hardware toy kosmoy. Proswpika xrhsimopoiw AMD prosessores, Adaptec kai Sybios SCSI controllers, kai diskoys IBM SCSI.

H ekdosh -0.1 aytou edw toy HowTo grafthke stis 3 Oktwbrioy 1994. Ayto to keimeno einai dia8esimo se morfh SGML, PostScript, TeX, roff, kai sketo text.

12.2 Pros energeia

H enothta "Symboyles kai kolpa" einai ligo mikrh. Elpizw na thn epekteinw mesw symboylwn allwn.

To idio kai ta "Epipleon paketa".

Xreiazontai ki alla epanw sta 8emata debugging kai crash recovery ( = epanaleitoyrgia toy H/Y meta apo kremasma).

12.3 Syneisfores

Perielaba ena mikro meros toy README toy Linus (to xakema toy pyrhna). Eyxaristw, Linus! uc@brian.lunetix.de (Ulrich Callmeier) : Gia thn patch -s kai thn xargs. quinlan@yggdrasil.com (Daniel Quinlan) : Dior8wseis kai pros8eta kommatia se arketes enothtes. nat@nat@nataa.fr.eu.org (Nat Makarevitch) : Gia tis mrproper, tar -p, kai polla alla. boldt@math.ucsb.edu (Axel Boldt) : Sygkentrwse perigrafes apo to Internet gia tis ry8miseis toy pyrhna, kai moy edwse th lista. lembark@wrkhors.psyber.com (Steve Lembark) : Ypodeijeis gia to pollaplo bootarisma. kbriggs@earwax.pd.uwa.edu.au (Keith Briggs) : Dior8wseis kai ypodeijeis. rmcguire@freenet.columbus.oh.us (Ryan McGuire) : pros8eta kommatia gia ta makeables. dumas@excalibur.ibp.fr (Eric Dumas) : Metafrash sta Gallika. simazaki@ab11.yamanashi.ac.jp (Yasutada Shimazaki) : Metafrash sta Iapwnika. jjamor@lml.ls.fi.upm.es (Juan Jose Amor Iglesias) : Metafrash sta Ispanika. mva@sbbs.se (Martin Wahlen) : Metafrash sta Soyhdika. jzp1218@stud.u-szeged.hu (Zoltan Vamosi) : Metafrash sta Oyggrika. bart@mat.uni.torun.pl (Bartosz Maruszewski): Metafrash sta Polwnika. donahue@tiber.nist.gov (Michael J Donahue) : Typografika la8h, nikhths toy "diagwnismou fetas cwmiou". rms@gnu.ai.mit.edu (Richard Stallman) : H shmeiwsh ths "eleu8erhs" tekmhriwshs kai dianomhs.

dak@Pool.Informatik.RWTH-Aachen.DE (David Kastrup) : Ta toy NFS.

esr@snark.thyrsus.com (Eric Raymond) : Diafora kommatia. Epishs, me boh8hsan arketa kai osoi moy esteilan mails me erwthseis kai problhmata.

12.4 Copyright, adeia xrhshs, kai ta paromoia

Copyright (C) Brian Ward, 1994-1999. Didetai adeia na ftiajete kai na dianeimete antigrafa aytou toy keimenoy, arkei na diathreite tis shmeiwseis gia to copyright kai gia thn adeia aythn edw epanw se ola ta antigrafa. Didetai adeia na antigracete kai na dianeimete tropopoihmenes ekdoseis aytou toy keimenoy me ton oro ths kata lejh antigrafhs, arkei h paragwgh ergasia na dianemetai ypo toys oroys mias adeias akribws idias me aythn edw. Oi metafraseis ypagontai sthn kathgoria "tropopoihmenes ekdoseis". Egguhsh : Kammia. Systaseis : H emporikh anadianomh epitrepetai kai en8arrunetai. Wstoso, 8erma synistatai o anadianomeas na epikoinwnhsei me ton syggrafea prin thn anadianomh, wste na exoyme sugxrones ekdoseis. (Mporeite na moy steilete ena antigrafo aytou poy etoimazete, enosw to etoimazete.) Epishs, oi metafrastes parakalountai na epikoinwnoun me ton syggrafea prin th metafrash. H entyph morfh einai pio omorfh. Anakyklwste.