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
.
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
.
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
.
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/
.
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.)
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.
(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.
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.
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
).
Anaba8misteite toylaxiston sthn ekdosh 1.2.1 .
(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
.
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.
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.
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