Izvirno kodo lahko dobite po anonimnem FTP iz strežnika
ftp.kernel.org
v imeniku /pub/linux/kernel/vx.y
,
kjer je x.y
različica (npr. 2.2) in, kot je bilo že omenjeno,
so lahko razvojne različice jedra, označene z lihimi končnimi
številkami, nestabilne. Izvirna koda jedra je navadno označena kot
linux-x.y.z.tar.gz
, kjer je x.y.z
številka
različice. Strežniki imajo navadno tudi datoteke s podaljškom
.bz2
, ki so bile stisnjene s pripomočkom bzip2
(te
datoteke bodo manjše, zato bo za njihov prenos treba manj časa).
Najbolje bo, če za prenos uporabite ftp.xx.kernel.org
, pri čemer
je xx
koda vaše države; v Sloveniji boste tako uporabili
ftp.si.kernel.org
, v Avstriji
ftp.at.kernel.org
, v Združenih državah Amerike pa
ftp.us.kernel.org
.
Prijavite se kot ,,root
`` (ali pa uporabite ukaz su
)
in s cd
spremenite imenik na /usr/src
. Če ste ob
prvi namestitvi Linuxa namestili tudi izvirno kodo jedra (večina jih
stori tako), bo tam že imenik ,,linux
`` s celotnim
starim drevesom izvirne kode. Če imate dovolj diskovnega prostora in bi
se radi počutili varno, ohranite ta imenik. Pametno je
izvesti različico sistema, ki jo trenutno uporabljate, in ustrezno
preimenovati imenik. Trenutno različico jedra izveste z ukazom
,,uname -r
``. Če torej ,,uname -r
`` pravi
,,1.0.9``, boste preimenovali (z ,,mv
``) ,,linux
`` v
,,linux-1.0.9
``. Če ste malo bolj lahkomiselni,
preprosto zbrišite ves imenik. V vsakem primeru preverite,
da v /usr/src
nimate imenika ,,linux
``, preden
odpakirate celotno izvirno kodo.
Zdaj v imeniku /usr/src
odpakirajte izvirno kodo z ukazom
,,tar zxpvf linux-x.y.z.tar.gz
`` (če imate samo datoteko
.tar
brez končnega .gz
, pa z ukazom ,,tar xpvf
linux-x.y.z.tar
``). Na zaslonu boste videli izpisane datoteke
izvirne kode. Ko tar
konča, boste imeli nov imenik
/usr/src/linux
. Naredite cd
v linux
in
preberite datoteko README
. Nekje bo razdelek z naslovom
,,INSTALLING the kernel
`` (,,NAMESTITEV jedra``).
Upoštevajte navodila, kjer je to primerno -- simbolne povezave, ki
morajo biti na pravih mestih, brisanje drugih datotek .o
itd.
Če imate datoteko .bz2
in pripomoček bzip2
(več o tem
si preberite na
http://www.muraroa.demon.co.uk/
),
naredite tole:
bz2cat linux-x.y.z.tar.bz2 | tar xvf -
Opomba: Del tega je reiteracija/razjasnitev podobnega razdelka v
Linusovi datoteki README
.
Ukaz ,,make config
`` v imeniku /usr/src/linux
požene
nastavitveni skript, ki vam zastavi kup vprašanj. Potrebuje ukazno
lupino bash
, zato preverite, ali je ta
v
/bin/bash
, /bin/sh
, ali $BASH
.
Verjetno boste raje uporabljali katero od alternativ ukazu ,,make
config
``. Tisti, ki poganjate grafični sistem X, lahko poskusite z
,,make xconfig
``, če imate nameščen programski paket Tk
(,,klik-o-rama`` - Nat). ,,make menuconfig
`` je za tiste, ki
imate (n)curses in bi radi imeli tekstovne menuje. Ta dva vmesnika
imata bistveno prednost pred standardnim: če zamočite in med
konfiguracijo izberete napačno izbiro, se lahko vrnete in stvar popravite.
Z uporabo ,,make menuconfig
`` ali ,,make xconfig
``
bodo nastavitvene izbire urejene hierarhično.
Pripravljeni ste odgovarjati na nekaj vprašanj, navadno z
,,y
`` (da) ali ,,n
`` (ne). Gonilniki naprav imajo
tipično izbiro ,,m
``. Ta pomeni ,,modul``, se pravi, da ga bo
sistem prevedel, ne pa tudi vključil neposredno v jedro. Na voljo bo
kot nalagalni modul. Duhovitejši način za opis te izbire bi bil
,,mogoče``. Nekatere očitnejše in nekritične izbire tu niso
opisane; glej razdelek
,,Druge nastavitvene izbire`` za kratek opis nekaterih posameznih izbir.
Pri ,,make menuconfig
`` s presledkom spreminjate izbiro.
V jedrih 2.0.x in poznejših je na voljo tudi izbira ,,?
``, ki
poda kratek opis posameznega nastavitvenega parametra. Ta informacija
je verjetno najbolj sveža. Tu je seznam nekaterih najpomembnejših
odlik, s hierarhijo, v kateri jih najdete, in kratkim opisom.
[ Posnemanje matematičnih operacij v jedru (Vrsta in lastnosti procesorja) ]
Če nimate matematičnega koprocesorja (imate le goli procesor 386 ali
486SX), morate tu reči ,,y
``. Če imate koprocesor in
rečete ,,y
``, naj vas ne skrbi preveč -- koprocesor se bo še vedno
uporabljal, posnemanje pa ignoriralo. Za vsak napol sodoben stroj bo
odgovor ,,ne``, a ne skrbite, če boste pomotoma rekli ,,da``; če
posnemanje ni potrebno, se ne uporablja.
[ Podpora izboljšanim diskom (MFM/RLL) in diskom/CD-ROM vrste IDE (blokovne naprave) ]
Verjetno morate to podpreti; pomeni, da bo jedro podpiralo standardne diske, ki jih najdemo v osebnih računalnikih večine ljudi. Ta gonilnik ne vključuje pogonov SCSI; v nastavitvah pridejo ti na vrsto pozneje.
Nastavitveni program vas bo nato vprašal, ali želite podporo le starim diskom (,,old disk-only``) in novim diskom IDE (,,new IDE``). Izbrati morate eno od teh možnosti; poglavitna razlika je v tem, da stari gonilnik podpira le dva diska na enem vmesniku, novi pa drugi vmesnik in CD-ROM IDE/ATAPI. Novi gonilnik je 4 KB večji od starejšega in naj bi bil ,,izpopolnjen``, kar pomeni, da premore več ali manj hroščev, verjetno pa tudi izboljša vedenje vašega diska, še posebej, če imate novejšo strojno opremo vrste EIDE.
[ Omrežna podpora (splošne nastavitve) ]
Tu boste zelo verjetno rekli ,,y
``, saj želite, da bi bil vaš
računalnik omrežen v internet ali bi vanj vstopal prek SLIP,
PPP, term itd., torej s klicnim dostopom. A ker številni paketi
(na primer sistem X window) potrebujejo omrežno podporo tudi, če vaš
računalnik ne živi v pravem omrežju, boste tu vseeno odgovorili z
,,y
``. Pozneje vas bo program vprašal, ali želite omrežno
podporo protokolu TCP/IP; spet boste odgovorili z ,,y
``, če
niste absolutno prepričani v nasprotno.
[ Medprocesna komunikacija Systema V (splošne nastavitve) ]
Eno najboljših definicij IPC (Interprocess Communication, medprocesna
komunikacija) najdemo v slovarčku knjige Programming Perl: ,,Včasih se
mora proces le pogovoriti z drugim procesom``. Ne preseneča nas torej,
da nekateri perlovski programerji dovoljujejo procesom, da se
pogovarjajo drug z drugim, kot to počne tudi veliko drugih paketov
(najbolj znan je DOOM), torej izbira ,,n
`` ni najboljša,
razen če natanko veste, kaj počnete.
[ Procesorska družina (vrsta in značilnosti procesorja) ]
(v starejših jedrih: uporabite zastavico -m486
za
optimizacije za 486)
Včasih je to zajemalo posebne optimizacije za določen procesor; jedro
je teklo povsem dobro na drugih čipih, a je bilo morda malo večje. V
novejših jedrih pa to ni več res, zato vnesite procesor, za katerega
prevajate jedro. Jedro za ,,386
`` bo delovalo v vseh
strojih.
[ Podpora SCSI ]
Če imate naprave vrste SCSI, recite ,,y
``. Vprašani boste po
nadaljnjih podatkih, kot je podpora CD-ROM, diskom, in katere vrste
vmesnik SCSI imate. Podrobnosti si preberite v SCSI-HOWTO
.
[ Podpora omrežnim napravam ]
Če imate omrežno kartico ali bi radi uporabljali SLIP, PPP ali
vzporedni vmesnik za dostop v internet, recite ,,y
``.
Nastavitveni skript vas bo vprašal po vrsti kartice in protokolu, ki ga
boste uporabljali.
[ Datotečni sistemi ]
Nastavitveni skript vas bo vprašal, ali želite imeti v jedru podprte naslednje datotečne sisteme:
Standard (minix)
-- novejše distribucije ne ustvarjajo
datotečnih sistemov minix in marsikdo jih ne uporablja, a morda
bi bilo vseeno dobro, da bi jih podprli. Nekateri programi za
izdelavo ,,rešilnih diskov`` jih uporabljajo in veliko disket je
formatiranih kot minix, saj je minixov datotečni sistem na disketah
manj mučen.
Second extended
-- To je standardni datotečni sistem
Linuxa. Skoraj zagotovo ga imate, in morate odgovoriti ,,y
``.
msdos
-- Če želite uporabljate particije MS-DOS na
disku ali nameščati dosovske formatirane diskete, recite
,,y
``.
Dostopni so še številni drugi tuji datotečni sistemi.
/proc
-- (zamisel iz Bell Labs, domnevam). Datotečnega
sistema /proc
se ne ustvari na disku; to je datotečni vmesnik
do jedra in procesov. Številni izpisovalci procesov
(npr. ,,ps
``) ga uporabljajo. Poskusite kdaj s ,,cat
/proc/meminfo
`` ali ,,cat /proc/devices
``. Nekatere
ukazne lupine (posebej rc
) uporabljajo /proc/self/fd
(v drugih sistemih znan kot /dev/fd
) za vhodno/izhodne (V/I)
operacije. Skoraj gotovo morate odgovoriti ,,y
``; številna
pomembna orodja za Linux so odvisna od tega.
NFS
-- Če vaš stroj biva v omrežju in želite
uporabljati datotečne sisteme, ki ležijo v drugih sistemih z NFS,
recite ,,y
``.
ISO9660
-- Najdete ga na večini CD-ROM. Če imate
pogon za CD-ROM in ga želite uporabljati v Linuxu, odgovorite ,,y
``.
Prav, napišite ,,mount
``. Izpis bo približno tak:
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)
Poglejte v vsako vrstico; beseda poleg ,,type
`` je ime
datotečnega sistema. V tem primeru sta moja datotečna sistema
/
in /usr
vrste ,,second extended``, uporabljam
/proc
in nameščena je disketa z datotečnim sistemom msdos
(fej).
Poskusite tudi ,,cat /proc/filesystems
``, če imate trenutno
vklopljen /proc
; to bo izpisalo vaše trenutne datotečne
sisteme v jedru.
Namestitev redko rabljenih, ne nujnih datotečnih sistemov lahko povzroči napihnjeno jedro; glej razdelek o modulih za način, kako se temu izogniti, in razdelek ,,Velika ali počasna jedra`` o tem, zakaj je napihnjeno jedro nezaželen pojav.
[ Znakovne naprave ]
Tu vključite gonilnike za vaš tiskalnik (pravzaprav tiskalnik na
vzporednih vratih), miško, priklopljeno na vrata busmouse ali PS/2
(veliko notesov uporablja miškovni protokol PS/2 za vgrajene sledilne
kroglice), nekatere tračne enote in druge take ,,znakovne``
naprave. Odgovorite z ,,y
``, če je tako prav.
Opomba: gpm
je program, ki omogoča uporabo miške zunaj
sistema X window za izrezovanje in lepljenje besedila med
navideznimi zasloni. Dobro je, če imate miško na zaporednih vratih,
saj lepo shaja z Okni X, za druge miške pa morate uporabiti posebne
zvijače.
[ Zvok ]
Če si zelo želite slišati, kako biff
laja, odgovorite
,,y
`` in nastavitvenemu programu lahko poveste vse o vaši
zvočni kartici. (Opomba k nastavitvi zvočne kartice: ko vas vpraša,
ali želite namestiti popolno različico gonilnikov, lahko odgovorite
,,n
`` in prihranite nekaj pomnilnika jedra z izbiro le tistih
značilnosti, ki se vam zdijo potrebne.)
Če zares potrebujete dobro podporo zvočni kartici, si oglejte proste
gonilnike na naslovu
http://www.linux.org.uk/OSS/
in komercialni Open Sound System na
http://www.opensound.com/
.
Vse nastavitvene izbire tu niso naštete, saj se prepogosto spreminjajo
ali so same po sebi razvidne (na primer, podpora 3Com 3C509 za točno
to omrežno kartico). Seznam vseh izbir (in načinov, kako jih uvrstimo
v skript Configure
) je precej obsežen; projekt je začel in
vzdrževal Axel Boldt (boldt@math.ucsb.edu
) in je dostopen kot
pomoč na zvezi. Na voljo je tudi kot ena sama velika datoteka
Documentation/Configure.help
v izvirni kodi jedra od
različice Linuxa 2.0 naprej.
[ Hekanje jedra ]
Iz Linusove datoteke README
:
Izbira ,,hekanje jedra`` navadno vodi v večje in počasnejše jedro (ali
v oboje) in lahko naredi jedro manj stabilno tako, da prekodira
nekatere rutine, ki aktivno poskušajo sesuti slabo kodo in s tem najti
jedrne probleme (kmalloc()
). Torej boste, če ste navadni
smrtnik, tu odgovorili z ,,n
``.
Makefile
)
Ko opravite nastavljanje, vam sporočilo pove, da je jedro nastavljeno in da si oglejte ,,najvišje nivojsko datoteko Makefile za dodatno nastavitev`` itd.
Poglejte torej Makefile
. Verjetno vam je ne bo treba
spreminjati, a nikoli ne škodi, če pogledate. Po namestitvi novega
jedra lahko spreminjate izbire tudi z ukazom ,,rdev
``. Če se
ob ogledovanju te datoteke počutite izgubljeni, pač pozabite nanjo.