The Linux Kernel HOWTO
 Brian Ward, [email protected], svensk
 �vers�ttning: Linus �kerlund, [email protected]
 v0.80, 26 May 1997, svensk �vers�ttning 21 juni 1998

 Detta �r en detaljerad guide till k�rn-konfigurering, kompilering,
 uppgraderingar och problem-l�sning f�r ix86-baserade system.
 ______________________________________________________________________

 Inneh�llsf�rteckning
























































 1. Inledning

    1.1 L�s det h�r f�rst! (Jag menar det)
    1.2 N�gra ord om stilen
    1.3 �vers�ttarens anm�rkningar

 2. Viktiga fr�gor och svar p� dessa

    2.1 Vad �r det k�rnan g�r, f�rresten?
    2.2 Varf�r skulle jag vilja uppgradera min k�rna?
    2.3 Vilken slags h�rdvara st�djer de nyare k�rnorna?
    2.4 Vilka versioner av gcc och libc beh�ver jag?
    2.5 Vad �r en laddningsbar modul?
    2.6 Hur mycket h�rddisk-utrymme beh�ver jag?
    2.7 Hur l�ng tid tar det?

 3. Hur den faktiska konfigureringen av k�rnan g�r till

    3.1 Skaffa k�llkoden
    3.2 Packa upp k�llkoden
    3.3 Konfigurera k�rnan
       3.3.1 Matte-emulering i k�rnan (Math emulation in kernel)
       3.3.2 Normal (MFM/RLL) disk och IDE disk/cdrom-st�d
       3.3.3 N�tverks-st�d (Networking support)
       3.3.4 Begr�nsa minnet till 16 MB (Limit memory to low 16 MB)
       3.3.5 System V IPC
       3.3.6 Processor-typ (386, 486, Pentium, PPro)
       3.3.7 SCSI-st�d (SCSI support)
       3.3.8 St�d f�r n�tverks-enhets (Network device support)
       3.3.9 Filsystem
          3.3.9.1 Men jag vet inte vilka filsystem jag beh�ver!
       3.3.10 Tecken-enheter (Character devices)
       3.3.11 Ljud-kort
       3.3.12 Andra konfigurerings-alternativ
       3.3.13 "K�rn-hackande" (Kernel hacking)
    3.4 Och nu d�? (Makefile)

 4. Kompilera k�rnan

    4.1 St�da upp och ange beroenden (Cleaning and depending)
    4.2 Kompilerings-dags
    4.3 Andra "make"-prylar
    4.4 Installera k�rnan

 5. Patcha k�rnan

    5.1 L�gga till en patch
    5.2 Om n�got g�r snett
    5.3 Bli av med .orig-filer
    5.4 Andra patchar

 6. Ytterligare paket

    6.1 kbd
    6.2 util-linux
    6.3 hdparm
    6.4 gpm

 7. N�gra fallgropar

    7.1 make clean
    7.2 Enorma eller l�ngsamma k�rnor
    7.3 K�rnan kompilerar inte
    7.4 Den nya versionen av k�rnan verkar inte starta (boot)
    7.5 Du gl�mde k�ra LILO, eller systemet startar inte alls
    7.6 Jag f�r `warning: bdflush not running'
    7.7 Den s�ger saker om "undefined symbols" och kompilerar inte
    7.8 Jag f�r inte min IDE/ATAPI CD-ROM-spelare att fungera
    7.9 Den s�ger konstiga saker om "obsolete routing requests"
    7.10 Brandv�gg fungerar inte i 1.2.0
    7.11 ``Not a compressed kernel Image file''
    7.12 Problem med konsoll-terminalen efter uppgradering till 1.3.x
    7.13 Verkar inte som om jag kan kompilera saker efter k�rn-uppgradering
    7.14 Ut�ka gr�nser

 8. Anm�rkning om att uppgradera till version 2.0.x

 9. Moduler

    9.1 Installera modul-verktygen
    9.2 Moduler som distribueras med k�rnan

 10. Andra konfigurerings-alternativ

    10.1 Vanliga inst�llningar (General setup)
    10.2 Networking options

 11. Tips och knep

    11.1 Omdirigera utdatan fr�n make- eller patch-kommandona
    11.2 Villkorlig k�rn-installering
    11.3 Uppdateringar av k�rnan

 12. Andra relevanta HOWTOn, som kan vara anv�ndbara

 13. Diverse

    13.1 F�rfattare
    13.2 Att g�ra
    13.3 Bidrag
    13.4 Upphovsr�tt, licens och s�dana grejer


 ______________________________________________________________________

 1.  Inledning


 Borde du l�sa det h�r dokumentet? Tja, se efter om du har n�got av
 f�ljande problem:



 �  "Arg! Det h�r wizzo-46.5.6-paketet s�ger att det beh�ver k�rn-
    version 1.8.193 och jag har fortfarande version 1.0.9!"

 �  Det finns en enhets-drivrutin i en av de nyare k�rnorna som du bara
    m�ste ha

 �  Du har verkligen inte en aning om hur man kompilerar en k�rna

 �  "�r de h�r grejerna i READMEn verkligen allt?"

 �  Du kom, du f�rs�kte, det fungerade inte

 �  Du beh�ver n�got att ge till folk som insisterar p� att be dig att
    installera deras k�rnor �t dem





 1.1.  L�s det h�r f�rst! (Jag menar det)

 N�gra av exemplen i det h�r dokumentet f�ruts�tter att du har GNU tar,
 find och xargs. De �r ganska standard; detta ska inte skapa n�gra
 problem. Det f�ruts�tts ocks� att du k�nner till ditt systems
 filsystems-struktur; om du inte g�r det s� �r det viktigt att du har
 en avskrift av mount-kommandots utdata, under normala f�rh�llanden
 (eller en listning av /etc/fstab, om du f�rst�r den). Denna
 information �r viktig och �ndras inte, f�rutsatt att du inte
 partitionerar om din h�rddisk, l�gger till en ny, installerar om ditt
 system eller n�got liknande.


 Den senaste "production"-versionen av k�rnan, n�r detta skrivs, var
 2.0.30, vilket inneb�r att referenserna och exemplen korresponderar
 till den utg�van. �ven om jag f�rs�ker g�ra det h�r dokumentet s�
 versions-oberoende som m�jligt, s� �r k�rnan st�ndigt under
 utveckling, s� om du har en ny utg�va, s� kommer d�r oundvikligen att
 finnas skillnader.  �terigen, detta borde inte skapa n�gra problem,
 men det skulle kunna ge upphov till viss f�rvirring.


 Det finns tv� versioner av k�llkoden till Linux-k�rnan, "production"
 och "development" (stabil respektive utvecklings-version. �vers.anm.).
 Production-utg�vor b�rjar med 1.0.x �r f�r tillf�llet versionerna med
 j�mna nummer; 1.0.x var production, 1.2.x var production, precis som
 2.0.x. Dessa k�rnor anses vara de mest stabila, bugg-fria versionerna
 tillg�ngliga, d� de ges ut. Utvecklings-versionerna av k�rnan (1.1.x,
 1.3.x osv) �r menade som test-k�rnor, f�r folk som har lust att prova
 p� nya och ibland ganska buggiga k�rnor. Du har blivit varnad.



 1.2.  N�gra ord om stilen


 Text som ser ut s� h�r �r antingen n�got som upptr�der p� din sk�rm,
 ett filnamn, eller n�got som kan skrivas in direkt, s�som ett
 kommando, eller parametrar till ett kommando (om du l�ser detta
 dokument i rent text-format, s� ser det inte annorlunda ut). Kommandon
 och andra indata citeras ofta (med ` '), vilket skapar f�ljande
 klassiska kommaterings-problem: om en s�dan sak upptr�der i slutet av
 en mening, inom citationstecken, s� skriver folk ofta en `.'
 tillsammans med kommandot, eftersom det amerikanska s�ttet att citera
 s�ger att man ska s�tta punkten innanf�r citationstecknen. �ven om det
 sunda f�rnuftet (och tyv�rr s� f�ruts�tter detta att den som har sunt
 f�rnuft �r van vid den s� kallade amerikanska citations-stilen) borde
 s�ga �t en att ta bort punkten f�rst, s� �r det m�nga som helt enkelt
 inte kommer ih�g det, s� jag kommer placera punkten utanf�r citations-
 tecknen i s�dana fall. Med andra ord, om jag s�ger �r dig att skriva
 "make config", s� skriver jag `make config', inte `make config.'


 1.3.  �vers�ttarens anm�rkningar

 Uppdaterade dokumentet 13/11-98, genom att byta ut �vers�ttningen av
 "permissions" till "r�ttigheter", ist�llet f�r det s�mre "till�telser"



 2.  Viktiga fr�gor och svar p� dessa





 2.1.  Vad �r det k�rnan g�r, f�rresten?


 Unix-k�rnan fungerar som en medlare mellan dina program och din
 h�rdvara. F�rst och fr�mst s� utf�r den (eller ser till s� att det
 blir utf�rt) minneshantering f�r alla program (processer) som k�rs,
 och ser till s� att alla f�r sin r�ttvisa (eller or�ttvisa, det beror
 p� hur man ser p� saken) tilldelning av processor-cykler. Vidare s�
 tillhandah�ller den ett trevligt, ganska portabelt gr�nssnitt, som g�r
 att programmen kan prata med din h�rdvara.


 K�rnan g�r visserligen mer �n s�, men dessa grundl�ggande funktioner
 �r de viktigaste att k�nna till.




 2.2.  Varf�r skulle jag vilja uppgradera min k�rna?


 Nyare k�rnor erbjuder generellt m�jligheter att prata med flera typer
 av h�rdvara (de har allts� fler enhets-drivrutiner), de kan ha b�ttre
 process-hantering, de kan arbeta snabbare �n �ldre versioner, de kan
 vara mer stabila �n �ldre versioner och de kan r�tta till fjantiga
 buggar i �ldre versioner. De flesta uppgraderar sina k�rnor f�r att de
 vill ha drivrutinerna och bugg-fixarna.




 2.3.  Vilken slags h�rdvara st�djer de nyare k�rnorna?


 Se Hardware-HOWTOn. Eller s� kan du ta en titt p� `config.in'-filen i
 Linux-k�llkoden, eller helt enkelt f� reda p� det n�r du k�r `make
 config'. Detta visar dig all h�rdvara som st�ds av standard-
 distributionen av k�rnan, men inte allt som Linux st�djer; m�nga
 vanliga enhets-drivrutiner (s�som PCMCIA-drivrutinerna och band-
 drivrutinerna) �r laddningsbara moduler, vilka utvecklas och
 distribueras separat.




 2.4.  Vilka versioner av gcc och libc beh�ver jag?


 Linus rekommenderar en viss version av gcc i README-filen, som kommer
 med Linux-k�llkoden. Om du inte har denna version, s� talar gcc-
 dokumentationen i den rekommenderade versionen av gcc om ifall du
 beh�ver uppgradera libc. Detta �r inte en sv�r procedur, men det �r
 viktigt att du f�ljer instruktionerna.




 2.5.  Vad �r en laddningsbar modul?


 Dessa �r delar av k�rn-koden, vilka inte l�nkas (inkluderas) direkt
 till k�rnan. Man kompilerar dem separat, och kan s�tta in dem och ta
 bort dem fr�n k�rnan som k�rs, n�stan n�r som helst. P.g.a. deras
 flexibilitet, s� �r de nu det mest popul�ra s�ttet att koda vissa
 k�rn-funktioner. M�nga popul�ra enhets-drivrutiner, s�som PCMCIA-
 drivrutinerna och QIC-80/40 band-drivrutinerna, �r laddningsbara
 moduler.




 2.6.  Hur mycket h�rddisk-utrymme beh�ver jag?


 Det beror p� just din system-konfiguration. Den komprimerade k�llkoden
 �r n�stan 6 megabytes stor, vid version 2.0.10. De flesta beh�ller
 denna �ven efter uppackningen. Uppackad tar den upp 24 MB. Men det
 r�cker inte med det -- du beh�ver mer f�r att faktiskt kompilera den.
 Detta beror p� hur mycket stoppar in i din k�rna. P� en specifik
 maskin, t.ex., s� har jag n�tverk, 3com 3C509-drivrutinen och tre
 filsystem konfigurerade, till vilket det g�r �t 30 MB. Om vi l�gger
 till den packade Linux-k�llkoden, s� beh�ver du runt 36 MB f�r just
 denna konfiguration. P� ett annat system, utan n�tverks-enhets-st�d
 (men fortfarande med n�tverks-st�d) och ljudkorts-st�d, tar den upp
 �nnu mera utrymme. En nyare k�rna har dessutom med stor s�kerhet ett
 st�rre k�llkods-tr�d �n en �ldre, s� rent generellt, om du har en
 massa h�rdvara, s� m�ste du se till att du har en tillr�ckligt stor
 h�rddisk i r�ran (och med dagens prisl�ge kan jag inte l�ta bli att
 rekommendera dig att skaffa en till h�rddisk, som ett svar p� dina
 utrymmes-problem).




 2.7.  Hur l�ng tid tar det?


 F�r de flesta �r svaret "ganska l�ng tid". Ditt systems hastighet och
 m�ngden minne du har best�mmer, i sista instans, tiden, men det har
 �ven en del att g�ra med m�ngden grejer du konfigurerar in i k�rnan.
 P� en 486DX4/100, med 16 MB RAM, tar det, f�r en v1.2-k�rna med fem
 filsystem, n�tverks-st�d och ljudkorts-drivrutiner runt 20 minuter. P�
 en 386DX/40 (8 MB RAM), med en liknande konfiguration, tar
 kompileringen n�stan en och en halv timme. Det �r generellt sett en
 bra rekommendation att ta en kopp kaffe, se p� TV, sticka, eller vad
 du nu brukar g�ra f�r skojs skull, n�r din maskin kompilerar en k�rna.
 Du kan �ven be n�gon med en snabbare maskin kompilera en k�rna �t dig,
 om du har en l�ngsam maskin.




 3.  Hur den faktiska konfigureringen av k�rnan g�r till



 3.1.  Skaffa k�llkoden


 Du kan skaffa k�llkoden via anonym ftp fr�n ftp.funet.fi, i
 /pub/Linux/PEOPLE/Linus, en spegel eller n�gon annan sajt. Den heter i
 typfallet linux-x.y.z.tar.gz, d�r x.y.z �r versionsnumret. Nyare
 (b�ttre?) versioner och patcharna finns vanligtvis i underkataloger
 som `v1.1'och `v1.2'. Det h�gsta numret �r den senaste versionen, och
 �r vanligtvis en "test-utg�va", vilket inneb�r att du inte ska ta hem
 den, om du k�nner dig os�ker p� beta- och alfa-utg�vor. H�ll dig i s�
 fall till den stabila utg�van.


 Det rekommenderas starkt att du anv�nder en spegel-sajt, ist�llet f�r
 ftp.funet.fi. H�r kommer en kort lista p� speglar och andra sajter:

 USA:         sunsite.unc.edu:/pub/Linux/kernel
 USA:         tsx-11.mit.edu:/pub/linux/sources/system
 UK:          sunsite.doc.ic.ac.uk:/pub/unix/Linux/sunsite.unc-mirror/kernel
 Austria:     ftp.univie.ac.at:/systems/linux/sunsite/kernel
 Germany:     ftp.Germany.EU.net:/pub/os/Linux/Local.EUnet/Kernel/Linus
 Germany:     sunsite.informatik.rwth-aachen.de:/pub/Linux/PEOPLE/Linus
 France:      ftp.ibp.fr:/pub/linux/sources/system/patches
 Australia:   sunsite.anu.edu.au:/pub/linux/kernel



 Rent generellt s� �r en spegel-sajt till sunsite.unc.edu ett bra
 st�lle att leta p�. Filen /pub/Linux/MIRRORS inneh�ller en lista p�
 k�nda speglar. Om du inte har tillg�ng till ftp, s� postas en lista p�
 BBS-system med Linux regelbundet till comp.os.linux.announce; f�rs�k
 f� tag p� den.


 Om du �r ute efter generell information om Linux och distributioner,
 ta en titt p� http://www.linux.org.




 3.2.  Packa upp k�llkoden


 Logga in som, eller su-a till, `root', och cd-a till /usr/src. Om du
 installerade k�rn-k�llkoden, d� du f�rst installerade Linux (som de
 flesta g�r), s� finns d�r redan en katalog som heter `linux', vilken
 inneh�ller hela k�llkods-tr�det. Om du har gott om h�rddisk-utrymme
 och vill ta det s�kra f�re det os�kra, s� beh�ll den katalogen. En bra
 id� �r att ta reda p� vilken version ditt system k�r nu och byta namn
 p� katalogen, enligt versions-numret. Kommandot `uname -r' skriver ut
 den aktuella k�rnans version. Allts�, om `uname -r' s�ger `1.0.9', s�
 b�r du �ndra namnet (med `mv') p� `linux' till `linux-1.0.9'.  Om du
 k�nner dig hyffsat v�rdsl�s, s� kan du helt enkelt ta bort katalogen.
 I vilket fall som helst, se till s� att det inte finns n�gon
 `linux'-katalog i /usr/src innan du packar upp det fullst�ndiga
 k�llkods-tr�det.



 Packa nu upp k�llkoden i /usr/src med `tar zxpvf linux-x.y.z.tar.gz'
 (om du har en .tar-fil, utan .gz p� slutet, s� fungerar `tar xpvf
 linux-x.y.z.tar').  Inneh�llet i k�llkoden kommer flyga f�rbi. N�r
 uppackningen �r klar, kommer det finnas en ny `linux'-katalog i
 /usr/src. cd-a till linux och l�s igenom README-filen. D�r finns en
 avdelning som heter `INSTALLING the kernel'. Utf�r instruktionerna n�r
 det �r passande -- symboliska l�nkar som ska finnas p� plats,
 borttagande av on�diga .o-filer osv.


 3.3.  Konfigurera k�rnan

 Observera: En del av detta �r upprepningar/klarg�randen av en liknande
 avdelning i Linus README-fil.


 Kommandot `make config', n�r du �r i /usr/src/linux startar ett
 konfigurerings-skal-program, vilket st�ller en massa fr�gor.  Det
 kr�ver bash, s� se till att bash �r /bin/bash, /bin/sh eller $BASH.

 Det finns n�gra alternativ till `make config', och det �r mycket
 m�jligt att du kommer tycka att de �r l�ttare och mer bekv�ma att
 anv�nda.  De som "k�r X" kan pr�va `make xconfig', om de har Tk
 installerat (`click-o-rama' - Nat). `make menuconfig' �r f�r de som
 har (n)curses och f�redrar en text-baserad meny. Dessa gr�nssnitt har
 en klar f�rdel: om du st�ller till n�got dumt, och v�ljer fel p� n�got
 alternativ, under konfigureringen, s� �r det enkelt att g� tillbaks
 och fixa det.


 Du ska vara redo att svara p� fr�gorna, vanligtvis med `y' (ja) eller
 `n' (nej). Enhets-drivrutiner har vanligtvis �ven ett `m'-alternativ.
 Detta betyder "modul", vilket inneb�r att systemet kommer att
 kompilera den, men inte direkt in i k�rnan, utan som en laddningsbar
 modul. Ett lustigare s�tt att beskriva det �r som "maybe"
 (kanske.�vers.anm.). N�gra av de mer uppenbara och okritiska
 alternativen beskrivs inte h�r; se avsnittet "Andra konfigurerings-
 alternativ" f�r korta beskrivningar av n�gra andra.


 I 2.0.x och sernare finns det ett `?'-alternativ, vilket ger en kort
 beskrivning av det aktuella alternativet. Den informationen �r
 troligen den mest aktuella.



 3.3.1.  Matte-emulering i k�rnan (Math emulation in kernel)


 Om du inte har en matte-hj�lp-processor (om du har en "bar" 386 eller
 486SX), s� m�ste du s�ga `y' till detta. Om du har en hj�lp-processor
 och �nd� s�ger `y', s� �r det inget att oroa sig f�r -- hj�lp-
 processorn anv�nds i alla fall, och emuleringen ignoreras. Den enda
 konsekvens detta f�r �r att k�rnan blir st�rre (sl�seri med RAM). Jag
 har blivit informerad om att matte-emuleringen �r l�ngsam; �ven om
 detta inte har n�got med detta avsnitt att g�ra, s� kan det vara bra
 att ha i bakhuvudet om du tycker att X-Window-systemet upptr�der
 klumpigt.




 3.3.2.  Normal (MFM/RLL) disk och IDE disk/cdrom-st�d


 Du beh�ver antagligen st�dja detta; det inneb�r att k�rnan kommer att
 st�dja vanliga PC-h�rddiskar, vilket de flesta har. Den h�r
 drivrutinen inkluderar inte SCSI-h�rddiskar; de kommer senare i
 konfigureringen.



 Du kommer sedan bli tillfr�gad om "old disk-only"- och "new
 IDE"-drivrutinerna.  Du b�r v�lja en av dessa: den huvudsakliga
 skillnaden �r att den gamla drivrutinen endast st�djer tv� h�rddiskar
 p� ett enda gr�nssnitt, och att den nya st�djer ett sekund�rt
 gr�nssnitt och IDE/ATAPI CD-ROM-spelare. Den nya drivrutinen �r 4k
 st�rre �n den gamla, och p�st�s ocks� vara "f�rb�ttrad", vilket
 inneb�r att, f�rutom att den inneh�ller ett annat antal buggar, s� kan
 den f�rb�ttra dina h�rddiskars prestanda, speciellt om du har nyare
 (EIDE-typ) h�rdvara.



 3.3.3.  N�tverks-st�d (Networking support)

 In princip, s�g `y' endast om din maskin �r i ett n�tverk, som
 Internet, eller om du vill anv�nda SLIP, PPP, term osv f�r uppringd
 Internet-f�rbindelse. Men eftersom m�nga paket (som X-Window-systemet)
 kr�ver n�tverks-st�d, �ven om maskinen inte finns i ett riktigt
 n�tverk, s� b�r du s�ga `y'. Senare kommer du bli tillfr�gad om du
 vill st�dja TCP/IP-n�tverk; s�g �terigen `y' h�r om du inte �r absolut
 s�ker.



 3.3.4.  Begr�nsa minnet till 16 MB (Limit memory to low 16 MB)


 Det finns buggiga "386 DMA controllers", vilka har problem med att
 komma �t mer �n 16 MB RAM; s�g `y' om det skulle r�ka vara s� att du
 har en.




 3.3.5.  System V IPC


 En av de b�sta definitionerna av IPC (Interprocess Communication)
 finns i Perl book's ordlista. Inte helt �verraskande, s� anv�nder
 vissa Perl-programmerare det f�r att l�ta processer tala med varandra,
 och �ven andra paket (av vilka DOOM �r det mest anm�rkningsv�rda), s�
 det �r inte en bra id� att s�ga n, om du inte vet exakt vad du sysslar
 med.




 3.3.6.  Processor-typ (386, 486, Pentium, PPro)

 (i �ldre k�rnor: anv�nd -m486-flaggan f�r 486-specifika optimeringar)


 Traditionellt s� har detta kompilerat vissa optimeringar f�r speciella
 processorer; K�rnorna fungerade fint p� andra chips, men k�rnan blev
 kanske en aning st�rre. I nyare k�rnor �r dock inte detta l�ngre
 fallet, s� du b�r v�lja den processor du kompilerar k�rnan f�r. En
 "386"-k�rna fungerar p� alla maskinerna.



 3.3.7.  SCSI-st�d (SCSI support)

 Om du har SCSI-enheter, s�g `y'. Du kommer bli tillfr�gad om vidare
 information, som t.ex. st�d f�r CD-ROM, diskar och vilken sorts SCSI-
 adapter du har. Se SCSI-HOWTOn f�r mer detaljer.



 3.3.8.  St�d f�r n�tverks-enhets (Network device support)


 Om du har ett n�tverks-kort, eller om du vill anv�nda SLIP, PPP eller
 en parallell-ports-adapter f�r att koppla upp dig p� Internet, s�g
 `y'.  Config-programmet kommer fr�ga efter vilket slags kort du har,
 och vilket protokoll du anv�nder.




 3.3.9.  Filsystem



 Config-programmet fr�gar sedan om du vill ha st�d f�r de f�ljande
 filsystemen:



 Standard (minix) - Nyare distributioner skapar inte minix-filsystem,
 och m�nga anv�nder det inte, men det kan fortfarande vara en bra id�
 att ta med detta. Programmen p� vissa "r�ddnings-disketter" anv�nder
 det, och m�nga disketter kan fortfarande ha minix-filsystemet,
 eftersom det �r mindre sm�rtsamt att anv�nda p� en diskett.



 Extended fs - Detta var den f�rsta versionen av det utvidgade
 filsystemet, vilket inte l�ngre anv�nds speciellt mycket. Det �r
 antagligen s� att du vet om du beh�ver det och om du �r os�ker, s�
 beh�ver du det inte.



 Second extended - Det h�r anv�nds mycket i nyare distributioner. Du
 har antagligen ett s�dant, och ska s�ga `y'.



 xiafs filesystem - En g�ng i tiden var det h�r inte s� ovanligt, men
 n�r detta skrivs, s� vet jag inte om n�gon som anv�nder det.



 msdos - Om du vill anv�nda din MS-DOS-h�rddisks partitioner, eller
 montera MS-DOS-formatterade disketter, s�g `y'.



 umsdos - Det h�r filsystemet expanderar ett MS-DOS-filsystem med
 vanliga Unix-liknande funktioner, s�som l�nga filnamn. Det �r inte
 anv�ndbart f�r folk (som jag), som "inte DOSar".



 /proc - �nnu en av de b�sta sakerna sedan torrmj�lk (id�n skaml�st
 stulen fr�n Bell Labs, antar jag). Man skapar inte ett proc-filsystem
 p� en disk; det h�r �r ett filsystems-gr�nssnitt till k�rnan och
 processerna. M�nga process-listare (s�som `ps') anv�nder det. Testa
 `cat /proc/meminfo' eller cat /proc/devices' ibland.  Vissa skal
 (speciellt rc) anv�nder /proc/self/id (k�nt som /dev/fd p� andra
 system) f�r in/ut-hantering. Du ska antagligen s�ga `y' till det h�r;
 m�nga viktiga Linux-verktyg �r beroende av det.



 NFS - Om din maskin finns i ett n�tverk och du vill kunna anv�nda
 filsystemen, som finns p� andra system, med NFS, s�g `y'.



 ISO9660 - Finns p� de flesta CD-ROMar. Om du har en CD-ROM-spelare och
 vill kunna anv�nda den under Linux, s�g `y'.



 OS/2 HPFS - N�r detta skrivs, ett filsystem som endast till�ter
 l�sning, f�r OS/2 HPFS.


 System V och Coherent - f�r partitioner i System V- och Coherent-
 system (det finns andra Unix-varianter f�r PC).




 3.3.9.1.  Men jag vet inte vilka filsystem jag beh�ver!


 Okej, skriv `mount'. Utdatan kommer se ut n�got i denna stil:





          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)




 Titta p� varje rad; ordet brevid `type' �r filsystems-typen.  I det
 h�r exemplet, mina /- och /usr-filsystem �r "second extended", jag
 anv�nder /proc och det finns en diskett monterad, vilken anv�nder
 msdos-filsystemet (bl�).


 Du kan testa `cat /proc/filesystem', om du har /proc p� f�r
 tillf�llet; det kommer lista din nuvarande k�rnas filsystem.

 Att ta med s�llan anv�nda, icke n�dv�ndiga filsystem kan leda till att
 k�rnan blir on�digt stor; se avsnittet om moduler f�r en v�g runt
 detta och "Fallgropar"-avsnittet, om varf�r en f�r stor k�rna inte �r
 bra.



 3.3.10.  Tecken-enheter (Character devices)


 H�r tar du med drivrutiner f�r din skrivare (parallell-skrivare
 allts�), buss-mus, PS/2-mus (m�nga b�rbara datorer anv�nder PS/2-mus-
 protokollet f�r sina inbyggda trackballs), vissa band-spelare (tape
 drivers) och andra dylika "tecken"-enheter. S�g `y' d�r det passar.


 Anm�rkning: Selection �r ett program som l�ter anv�ndaren anv�nda en
 mus utanf�r X-Window-systemet, f�r att kunna klippa och klistra mellan
 virtuella konsoller. Det �r ganska trevligt om du har en seriell mus,
 f�r det samexisterar bra med X, men du m�ste ta till speciella trick
 f�r andra.  Selection-st�d var ett konfigurerings-alternativ en g�ng i
 tiden, men det �r nu standard.

 Anm�rkning 2: Selection anses nu f�r�ldrat. "gpm" �r namnet p� det nya
 programmet. Det kan g�ra h�ftigare saker, som att �vers�tta mus-
 protokoll, hantera mer �n en mus...



 3.3.11.  Ljud-kort

 Om du k�nner att du har ett behov av att h�ra biff sk�lla, s�g `y',
 och ett annat config-program kommer senare kompilera och fr�ga efter
 alla data om ditt ljudkort. (En anm�rkning om ljudkorts-inst�llning:
 n�r det fr�gar dig om du vill installera "the full version" (den
 fullst�ndiga versionen) av drivrutinen, s� kan du s�ga `n', och spara
 en del k�rn-utrymme, genom att v�lja enbart de funktioner du finner
 n�dv�ndiga.)  Jag rekommenderar starkt att du tar en titt p� Sound-
 HOWTO, f�r mer detaljer om ljud-st�d, om du har ett ljudkort.



 3.3.12.  Andra konfigurerings-alternativ


 Alla konfigurerings-alternativ listas inte h�r, eftersom de �ndras
 alldeles f�r ofta, eller �r ganska sj�lv-f�rklarande (t.ex. 3Com
 3c509-st�d, f�r att kompilera drivrutinen f�r just detta ethernet-
 kort). Det finns en ganska inneh�llsrik lista p� alla alternativ (och
 ett s�tta att placera dem i Configure-skal-programmet), sammansatt av
 Axel Boldt ([email protected]), med den f�ljande URLen:


      http://math-www.uni-paderborn.de/~axel/config_help.html


 eller via anonym FTP fr�n:


      ftp://sunsite.unc.edu/pub/Linux/kernel/config/krnl_cnfg_hlp.x.yz.tgz


 D�r x.yz �r versionsnumret.

 F�r senare (2.0.x och senare) k�rnor har detta blivit integrerat i
 k�llkods-tr�det.




 3.3.13.  "K�rn-hackande" (Kernel hacking)


 >Fr�n Linus README:

 "kernel hacking"-konfigurering ger ofta en st�rre eller l�ngsammare
 (eller b�da) k�rna, och kan till och med g�ra k�rnan mindre stabil,
 genom att st�lla in vissa rutiner f�r att aktivt f�rs�ka f�rst�ra
 d�lig kod, f�r att hitta k�rn-problem (kmalloc()). Du ska allts�
 antagligen svara `n' p� den h�r fr�gan, om du vill ha en
 "production"-k�rna.



 3.4.  Och nu d�? (Makefile)

 Efter att du har k�rt make config, kommer ett meddelande som talar om
 att din k�rna har blivit konfigurerad, och att du ska "check the top-
 level Makefile for additional configuration" etc.


 Ta allts� en titt p� Makefile. Du kommer antagligen inte beh�va �ndra
 i den, men det skadar inte att ta en titt. Du kan ocks� �ndra dess val
 med `rdev'-kommandot, s� fort k�rnan �r p� plats.





 4.  Kompilera k�rnan



 4.1.  St�da upp och ange beroenden (Cleaning and depending)


 N�r configure-programmet avslutas s�ger det ocks� �t dig att `make
 dep' och (eventuellt) `clean'. K�r allts� `make dep'. Detta ser till
 s� att alla beroenden (dependencies), som include-filerna, �r p�
 plats. Det tar inte l�ng stund, om inte din dator �r ganska l�ngsam
 fr�n b�rjan. F�r �ldre k�rn-versioner ska du k�ra en `make clean' n�r
 du �r klar. Detta tar bort alla object-filer och n�gra andra saker,
 som en gammal version l�mnar efter sig. I vilket fall som helst, gl�m
 inte detta steg, innan du f�rs�ker kompilera om en k�rna.




 4.2.  Kompilerings-dags

 Efter dep och clean, s� kan du nu antingen k�ra `make zImage' eller
 `make zdisk (det �r den h�r delen som tar l�ng tid). `make zImage'
 kommer kompilera k�rnan och l�mna en fil i arch/i386/boot, vilken
 heter `zImage' (tillsammans med en del andra saker). Detta �r den nya,
 packade k�rnan. `make zdisk' g�r samma sak, men l�gger ocks� in den
 nya zImage p� en diskett, vilken du f�rhoppningsvis satt in i floppy-
 station "A:". `zdisk' �r ganska praktiskt f�r att pr�va nya k�rnor; om
 den krashar (eller helt enkelt inte fungerar speciellt bra), ta bara
 ut disketten och starta om med din gamla k�rna. Det kan ocks� vara ett
 praktiskt s�tt att starta upp om du av misstag tar bort din k�rna
 (eller n�got lika hemskt). Du kan ocks� anv�nda den f�r att installera
 nya system, n�r du just har dumpat inneh�llet fr�n en h�rddisk p� en
 annan ("allt det h�r och mer! HUR mycket skulle du betala?").



 Alla �tminstone halvv�gs resonabla nya k�rnor �r packade, d�rav `z'
 framf�r namnet. En packad k�rna packar automatiskt upp sig sj�lv n�r
 den k�rs.




 4.3.  Andra "make"-prylar


 `make mrproper' g�r en mer omfattande `clean'. Ibland �r det
 n�dv�ndigt; du kanske vill g�ra det vid varje patch. `make mrproper'
 tar ocks� bort din konfigurerings-fil, s� du ska antagligen ta en
 s�kerhetskopia av den (.config) om du tycker den �r v�rdefull.



 `make oldconfig' g�r ett f�rs�k att konfigurera k�rnan fr�n en gammal
 konfigurerings-fil; det k�r igenom `make config'-processen �t dig. Om
 du aldrig har kompilerat en k�rna f�rut eller inte har en gammal
 config-fil, s� ska du antagligen inte g�ra detta, eftersom du
 antagligen kommer �ndra standard-konfigureringen.


 Se avsnitten om moduler f�r en beskrivning av `make modules'.




 4.4.  Installera k�rnan


 N�r du har en ny k�rna som verkar fungera som du vill att den ska
 fungera, s� �r det dags att installera den. De flesta anv�nder LILO
 (Linux Loader) till detta. `make zlilo' installerar k�rnan, k�r LILO
 p� den och fixar allt, s� att det bara �r att starta upp, MEN ENDAST
 om lilo �r inst�lld p� f�ljande s�tt p� ditt system: k�rnan �r
 /vmlinuz, lilo finns i /sbin och din lilo-konfigurering
 (/etc/lilo.conf) inte har n�got att inv�nda.



 Annars blir du tvungen att anv�nda LILO direkt. Det �r ett ganska
 enkelt paket att installera och arbeta med, men det har en tendens att
 f�rvirra m�nniskor med sin konfigurerings-fil. Titta p�
 konfigurerings-filen (antingen /etc/lilo/config, f�r �ldre versioner,
 eller /etc/lilo.conf, f�r nyare versioner), och kolla upp den
 nuvarande konfigureringen. lilo.conf-filen ser ut s� h�r:




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



 `image =' anger den k�rna du f�r tillf�llet har installerad. De flesta
 anv�nder /vmlinuz. `label' anv�nds av lilo f�r att best�mma vilken
 k�rna, eller vilket operativ-system, som ska startas, och `root' �r /
 f�r just det operativ-systemet. G�r en s�kerhets-kopia av din gamla
 k�rna och kopiera zImage-filen, vilken du just skapat, dit den ska
 vara (du skulle k�ra `cp zImage /vmlinuz' om du anv�nder `/vmlinuz').
 K�r sedan lilo igen -- p� nyare system s� kan du k�ra `lilo', men p�
 �ldre grejer kanske du blir tvungen att k�ra /etc/lilo/install, eller
 till och med en /etc/lilo/lilo -C /etc/lilo/config.


 Om du skulle vilja veta mer om LILOs konfigurering, eller om du inte
 har LILO, skaffa den senaste versionen fr�n din favorit-ftp-sajt och
 f�lj instruktionerna.



 F�r att starta upp en av dina gamla k�rnor fr�n h�rddisken (ett annat
 s�tt att r�dda dig om du g�r n�got dumt med den nya k�rnan), s�
 kopiera raderna nedan (och inklusive) `image = xxx' i LILOs
 konfigurerings-fil till slutet av filen, och modifiera `image = xxx'
 till `image = yyy', d�r `yyy' �r den fullst�ndiga s�kv�ngen till filen
 du sparade din s�kerhetskopia av k�rnan som. �ndra sedan `label = zzz'
 till `label = linux-backup' och k�r lilo igen. Det kan vara n�dv�ndigt
 att l�gga in en rad som s�ger `delay=x', d�r x �r antalet tiondelar,
 vilket s�ger �t LILO att v�nta s� l�ng tid innan det startar upp, s�
 att du kan avbryta det (med shift-knappen t.ex.), och skriva in den
 s�kerhets-kopierade k�rnans "label" (om n�got otrevligt skulle h�nda).




 5.  Patcha k�rnan



 5.1.  L�gga till en patch


 Gradvisa uppgraderingar till k�rnan distribueras som patchar. Om du
 t.ex. har version 1.1.45 och du uppt�cker att det finns en
 `patch46.gz' till den, s� inneb�r det att du kan uppgradera till
 version 1.1.46 genom att l�gga till patchen. Det kan vara bra att ta
 en s�kerhets-kopia av k�llkods-tr�det f�rst (`make clean' och sedan
 `cd /usr/src; tar zcvf old-tree.tar.gz linux', vilket kommer att skapa
 ett komprimerat tar-arkiv �t dig).


 Om vi forts�tter p� exemplet ovan, l�t oss f�ruts�tta att du har
 `patch46.gz' i /usr/src. cd-a till /usr/src och k�r en `zcat
 patch46.gz | patch -p0' (eller `patch -p0 < patch46', om patchen inte
 �r packad). Du kommer se saker flyga f�rbi (eller krypa f�rbi, om ditt
 system �r s� l�ngsamt), vilka talar om f�r dig att det f�rs�ker l�gga
 till bitar, och huruvida det lyckas eller ej. Vanligtvis g�r det h�r
 f�r fort f�r att du ska hinna med att l�sa, och du kan inte vara s�
 s�ker p� om det fungerade eller ej, men om du anv�nder -s-flaggan till
 patch s� kommer patch endast rapportera fel (du f�r inte lika mycket
 av den d�r "hall�, min dator g�r faktiskt saker, f�r en g�ngs
 skull!"-k�nslan, men du kanske f�redrar det h�r...). F�r att leta
 efter delar som inte har g�tt s� bra, cd-a till /usr/src/linux och
 leta efter filer med en .rej-�ndelse. Vissa versioner av patch (�ldre
 versioner, vilka kan har kompilerats p� ett underl�gset filsystem)
 l�mnar dessa misslyckanden med en #-�ndelse. Du kan anv�nda `find' f�r
 att leta;

     find .  -name '*.rej' -print


 skriver ut, till standard ut, vilka filer, i den aktuella katalogen
 eller underkataloger, somhar .rej-�ndelser



 Om n�got gick fel, g�r en `make clean', `config' och `dep', som det
 beskrivs i avsnitt 3 och 4.



 Det finns en hel del alternativ till patch-kommandot. Som n�mnts ovan
 s� kommer patch -s att h�lla tyst om allt utom fel. Om du har ditt
 k�rn-k�llkods-tr�d n�gon annanstans �n i /usr/src/linux, s� patchar
 patch -p1 allt korrekt (i den katalogen). Andra patch-alternativ finns
 v�l-dokumenterade p� man-sidan.




 5.2.  Om n�got g�r snett


 (Observera: detta avsnitt h�nvisar mestadels till ganska gamla k�rnor)


 Det vanligaste problemet som brukade uppst�, var n�r en patch
 modifierade en fil som heter `config.in', och den inte s�g riktigt
 r�tt ut, eftersom du �ndrade alternativen f�r att passa din maskin.
 Det h�r har man tagit hand om, men man kan fortfarande st�ta p� det
 hos �ldre utg�vor.  F�r att fixa det, ta en titt p� config.in.rej-
 filen, och se efter vad som finns kvar av original-patchen.
 F�r�ndringarna �r vanligtvis markerade med `+' och `-' i b�rjan av
 raderna. Ta en titt p� raderna f�re och efter, och t�nk efter om de
 var satta till `y' eller `n'. Editera nu config.in, och �ndra `y' till
 `n' och `n' till `y', d�r det ska vara s�.  G�r en

     patch -p0 < config.in.rej


 och om det rapporteras att det lyckades (inga fel), s� kan du
 forts�tta med konfigurering och kompilering. config.in.rej kommer
 finnas kvar, men du kan ta bort den.


 Om du st�ter p� vidare problem, s� kan du ha lagt till en patch i fel
 ordning.  Om patch s�ger `previously applied patch detected: Assume
 -R?', s� f�rs�ker du antagligen l�gga till en patch som �r under ditt
 aktuella versionsnummer; om du svarar `y', s� kommer patch f�rs�ka
 nedgradera din k�llkod, och kommer antagligen misslyckas; d� kommer du
 allts� beh�va skaffa ett helt nytt k�llkodstr�d (vilket kanske inte
 skulle ha varit en s� dum id� fr�n b�rjan).


 F�r att backa ut (ta bort) en patch, anv�nd `patch -R' p� original-
 patchen.



 Det b�sta du kan g�ra n�r patchningar verkligen g�r snett �r att b�rja
 om igen, med ett rent och opatchat k�llkodstr�d (fr�n en av linux-
 x.y.z.tar.gz-filerna, t.ex.) och b�rja om.




 5.3.  Bli av med .orig-filer


 Efter bara n�gra f� patchar kommer .orig-filerna vara ganska m�nga.
 T.ex. s� hade ett 1.1.51-k�llkodstr�d jag hade blivit rensat vid
 1.1.48.  Att ta bort .orig-filerna sparade mig mer �n en halv meg.

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


 tar hand om det �t dig. De versioner av patch som anv�nder # f�r miss�
 lyckaden, anv�nder en tilde ist�llet f�r .orig.


 Det finns b�ttre s�tt att bli av med .orig-filerna, vilka �r baserade
 p� GNU xargs:

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


 eller "ganska s�ker men en aning mer pratig"-metoden:

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





 5.4.  Andra patchar

 Det finns andra patchar (jag kallar dem "icke-standard") �n de som
 Linus distribuerar. Om du l�gger till dessa s� kanske inte Linus
 patchar fungerar korrekt, och du blir tvungen att antagligen backa ut,
 fixa k�llkoden eller patchen, installera ett nytt k�llkodstr�d eller
 en kombination av dessa saker.  Detta kan bli v�ldigt frustrerande, s�
 om du inte vill modifiera k�llkoden (med m�jligheten av v�ldigt d�liga
 resultat), ta bort icke-standard-patcharna innan du l�gger till Linus,
 eller installera helt enkelt ett nytt tr�d. Sen kan du se efter om
 icke-standard-patcharna fortfarande fungerar. Om de inte g�r det, s�
 �r du antingen fast med en gammal k�rna, och blir tvungen att greja en
 massa med patcharna eller k�llkoden, f�r att f� det att fungera, eller
 tvingas v�nta p� (eller m�jligtvis be om) en ny version av patchen.

 Hur vanliga �r patcharna, som inte ing�r i standard-distributionen? Du
 kommer antagligen h�ra talas om dem. Jag brukade anv�nda noblink-
 patchen f�r min virtuella konsoll, eftersom jag hatar blinkande
 mark�rer (denna patch blir (eller blev, �tminstone) uppdaterad f�r
 varje ny utg�va av k�rnan). Eftersom de flesta nya enhets-drivrutiner
 utvecklas som laddningsbara moduler, s� minskar dock antalet icke-
 standard-patchar en hel del.



 6.  Ytterligare paket

 Din Linux-k�rna har m�nga funktioner som inte f�rklaras i sj�lva
 k�llkoden; dessa funktioner anv�nds i typfallet av externa paket.
 N�gra av de vanligaste r�knas upp h�r.


 6.1.  kbd

 Linux-konsollen har fler funktioner �n den f�rtj�nar. Bland dessa
 finns m�jligheten att byta typsnitt, definiera om tangentbordet, byta
 grafik-l�gen (i nyare k�rnor) osv. kbd-paketet har program som l�ter
 anv�ndaren g�ra allt detta, plus m�nga typsnitt och tangentbords-
 tabeller f�r i stort sett alla tangentbord, och �r tillg�ngligt fr�n
 samma sajter som har k�rn-k�llkoden.



 6.2.  util-linux

 Rik Faith ([email protected]) plockade ihop en stor samling Linux-
 verktyg vilka, av ett underligt sammantr�ffande, kallas util-linux.
 Dessa utvecklas nu av Nicolai Langfeldt ([email protected]).  Det
 �r tillg�ngligt via anonym ftp fr�n sunsite.unc.edu, i
 /pub/Linux/system/misc, och inneh�ller program s�som setterm, rdev och
 ctrlaltdel, vilka �r relevanta f�r k�rnan. Som Rik s�ger, installera
 inte utan att t�nka efter; du beh�ver inte installera allt i paketet,
 och det kan mycket v�l skapa stora problem, om du g�r det.



 6.3.  hdparm

 Som med m�nga andra paket, s� var detta en g�ng i tiden en k�rn-patch
 och st�d-program. Patcharna blev inplockade i den officiella k�rnan,
 och programmen f�r att optimera och leka med h�rddisken distribueras
 separat.




 6.4.  gpm


 gpm st�r f�r general purpose mouse. Detta program till�ter dig att
 klippa och klistra text mellan virtuella konsoller och g�ra andra
 saker, med en stor upps�ttning olika mus-typer.

 7.  N�gra fallgropar



 7.1.  make clean


 Om din nya k�rna g�r riktigt knasiga saker, efter en rutin-
 uppgradering av k�rnan, s� finns det en m�jlighet att du gl�mt att
 make clean, innan du kompilerade den nya k�rnan. Symptomen kan vara
 allt fr�n att ditt system helt enkelt kraschar och konstiga in/ut-
 problem, till d�lig prestanda. Se till att du g�r en make dep ocks�.



 7.2.  Enorma eller l�ngsamma k�rnor

 Om din k�rna suger �t sig en massa minne, �r f�r stor och/eller bara
 tar en evighet att kompilera, �ven n�r du har f�tt din nya 786DX6/440
 att fungera med den, s� har du antagligen konfigurerat in en massa
 on�diga saker (drivrutiner, filsystem osv.). Det du inte anv�nder ska
 du inte ta med, f�r det tar upp minne. De mest uppenbara symptomen p�
 f�r stora k�rnor �r extrem swappning till och fr�n h�rddisken; om din
 h�rddisk f�r en massa ov�sen, och den inte �r en s�dan d�r gammal
 Fujitsu Eagle, som l�t som en jumbo-jet som var p� v�g att landa n�r
 du slog av dem, s� ta en titt p� din k�rn-konfigurering.


 Du kan ta reda p� hur mycket minne k�rnan anv�nder genom att ta den
 totala m�ngden minne i din maskin och subtrahera summan av "total mem"
 i /proc/meminfo, eller utdatan fr�n kommandot `free'. Du kan ocks� ta
 reda p� det genom att k�ra `dmesg' (eller genom att titta p� k�rnans
 log-fil, var den nu finns p� ditt system). D�r finns en rad som ser ut
 n�gonting i stil med detta:

 Memory: 15124k/16384k available (552k kernel code, 384k reserved, 324k
 data)


 Min 386 (vilken har en aning mindre skr�p in-konfigurerat) s�ger:

 Memory: 7000k/8192k available (496k kernel code, 384k reserved, 312k
 data)


 Om du bara `m�ste' ha en stor k�rna, men systemet inte l�ter dig ha
 det, s� kan du testa `make bzimage'. Du kan mycket v�l bli tvungen att
 installera en ny version av LILO f�r att f� detta att fungera.



 7.3.  K�rnan kompilerar inte

 Om den inte kompilerar s� �r det troligt att en patch misslyckades,
 eller att din k�llkod �r korrupt p� n�got s�tt. Det kan ocks� vara
 n�got fel p� din version av gcc, eller den kan vara korrupt (det kan
 t.ex. vara n�got fel p� include-filerna). Se till att de symboliska
 l�nkar, som Linus beskriver i README-filen ser ut som de ska. Rent
 generellt kan man s�ga, att om en standard-k�rna inte kompilerar, s�
 �r det n�got stort fel p� ditt system, och en ominstallering av vissa
 saker �r antagligen n�dv�ndig.

 Eller du kanske kompilerar en 1.2.x-k�rna med en ELF-kompilator (gcc
 2.6.3 eller h�gre). Om du f�r en h�g det-och-det undefined-meddelanden
 under kompileringen, s� finns det vissa m�jligheter att det �r detta
 som �r ditt problem. L�sningen �r i de flesta fall v�ldigt enkel. L�gg
 till f�ljande rader i b�rjan av arch/i386/Makefile:

 AS=/usr/i486-linuxaout/bin/as
 LD=/usr/i486-linuxaout/bin/ld -m i386linux
 CC=gcc -b i486-linuxaout -D__KERNEL__ -I$(TOPDIR)/include


 K�r sedan make dep och zImage igen.


 I s�llsynta fall kan gcc krascha p.g.a. h�rdvaru-problem. Fel-
 meddelandet kommer vara n�got i stil med "xxx exited with signal 15",
 och det kommer oftast se mystiskt ut. Jag skulle antagligen inte n�mna
 detta, om det inte hade h�nt mig en g�ng - jag hade d�ligt cache-
 minne, och kompilatorn kunde beg� slumpm�ssiga fel. Pr�va f�rst med
 att ominstallera gcc, om du f�r problem. Du b�r endast b�rja bli
 misst�nksam om din k�rna kompilerar bra med "external cache" avslaget,
 en mindre m�ngd RAM osv.


 Det brukar irritera folk, n�r det s�gs att det kan vara n�got problem
 med deras h�rdvara. Tja, jag sitter inte och hittar p� det h�r. Det
 finns en FAQ om detta -- den finns p� http://www.bitwizard.nl/sig11/.



 7.4.  Den nya versionen av k�rnan verkar inte starta (boot)

 Du k�rde inte LILO, eller konfigurerade det inte korrekt. En sak som
 "fick" mig en g�ng, var ett problem med konfigurerings-filen; den sa
 `boot = /dev/hda1', ist�llet f�r `boot = /dev/hda'. (Detta kan f�rst
 vara v�ldigt irriterande, men s� fort du har en fungerande
 konfigurerings-fil s� beh�ver du inte g�ra n�gra �ndringar i den.)



 7.5.  Du gl�mde k�ra LILO, eller systemet startar inte alls

 Hoppsan! Det b�sta du kan g�ra h�r �r att starta upp med en diskett
 och preparera en till start-diskett (som `make zdisk' skulle g�ra).
 Du m�ste veta var ditt rot-filsystem (/) finns, och vilken sort det �r
 (t.ex. second extended, minix). I exemplet nedan m�ste du ocks� veta
 vilket filsystem ditt /usr/src/linux-k�llkodstr�d finns p�, dess typ
 och var det vanligtvis monteras.


 I det f�ljande exemplet �r / /dev/hda1, och filsystemet som inneh�ller
 /usr/src/linux �r /dev/hda3, och monteras vanligtvis p� /usr. B�da
 filsystemen �r second extended. Den fungerande k�rnan i
 /usr/src/linux/arch/i386/boot heter zImage.


 Id�n �r, att om det finns en fungerande zImage, s� �r det m�jligt att
 anv�nda den till en ny diskett. Ett annat alternativ, vilket kan
 fungera b�ttre eller s�mre (det beror p� metoden du anv�nde n�r du
 st�kade till i filsystemet), diskuteras efter detta exempel.


 F�rst och fr�mst, starta fr�n en start/rot-diskett-kombination eller
 en r�ddnings-diskett och montera filsystemet vilket inneh�ller den
 fungerande k�rnan:





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



 Om mkdir s�ger �t dig att katalogen redan existerar, ignorera det
 bara. cd-a nu till st�llet d�r den fungerande k�rnan finns.  Observera
 att

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


 S�tt i en formatterad diskett i diskett-station "A:" (inte din start-
 eller rot-diskett!), dumpa k�rnan p� disketten och konfigurera den f�r
 ditt rot-filsystem:


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



 cd-a till / och avmontera det vanliga /usr-filsystemet:


     cd /
     umount /mnt



 Du ska nu kunna starta om ditt system som vanligt fr�n denna diskett.
 Gl�m inte att k�ra lilo (eller vad det nu var som gick snett) efter
 att du startat om!


 Som n�mndes ovan, s� finns det ett annat vanligt alternativ. Om du
 r�kade ha en fungerande k�rna i / (/vmlinuz t.ex.), s� kan du anv�nda
 den till en start-diskett. Om vi f�ruts�tter alla de ovann�mnda
 omst�ndigheterna, och att k�rnan �r /vmlinuz, g�r bara f�ljande
 �ndringar i exemplet ovan: �ndra /dev/hda3 till /dev/hda1
 (/-filsystemet), /mnt/src/linux till /mnt, och if=zImage till
 if=vmlinuz. Anm�rkningen som f�rklarar hur du tar reda p�
 /mnt/src/linux kan du hoppa �ver.

 Att anv�nda LILO med stora h�rddiskar (mer �n 1024 cylindrar) kan leda
 till problem. See LILO mini-HOWTO eller dokumentationen f�r hj�lp om
 det.



 7.6.  Jag f�r `warning: bdflush not running'


 Det h�r kan vara ett allvarligt problem. Fr�n och med en k�rn-utg�va
 efter 1.0 (runt 20 april 1994), uppgraderas/utbyttes ett program som
 heter `update', vilket regelbundet spolar ur (flushes) filsystemets
 buffrar. Skaffa k�llkoden till `bdflush' (du kan hitta det d�r du
 hittade k�llkoden till k�rnan), och installera det (det �r b�st att
 k�ra systemet med den gamla k�rnan, d� du g�r detta). Det installerar
 sig sj�lvt som `update', och efter att du startat om ska den nya
 k�rnan inte l�ngre klaga.




 7.7.  Den s�ger saker om "undefined symbols" och kompilerar inte


 Du har antagligen en ELF-kompilator (gcc 2.6.3 eller senare) och
 k�llkoden till k�rna 1.2.x (eller tidigare). Den vanliga l�sningen �r
 att l�gga till f�ljande tre rader i b�rjan av arch/i386/Makefile:


 AS=/usr/i486-linuxaout/bin/as
 LD=/usr/i486-linuxaout/bin/ld -m i386linux
 CC=gcc -b i486-linuxaout -D__KERNEL__ -I$(TOPDIR)/include



 Detta kommer kompilera en 1.2.x-k�rna med a.out-bibliotek.



 7.8.  Jag f�r inte min IDE/ATAPI CD-ROM-spelare att fungera

 Konstigt nog s� �r det m�nga som inte kan f� sina ATAPI-spelare att
 fungera, antagligen f�r att det finns ett antal saker som kan g�
 snett.

 Om din CD-ROM-spelalre �r den enda enheten p� ett visst IDE-gr�nssnitt
 s� m�ste de jumpras som "master" eller "single". Detta p�st�s vara det
 vanligaste felet.

 Creative Labs (som ett exempel) har satt IDE-gr�nssnitt p� sina
 ljudkort nu.  Detta leder dock till det intressanta problemet att,
 medan vissa bara har ett gr�nssnitt fr�n b�rjan, s� har m�nga IDE-
 gr�nssnitt inbyggda i sina moderkort (vanligen p� IRQ15), s� en vanlig
 praxis �r att g�ra soundblaster-gr�nssnittet till en tredje IDE-port
 (IRQ11, �tminstone �r det vad jag har h�rt).


 Detta skapar problem med Linux, genom att version 1.2.x inte st�djer
 ett tredje IDE-gr�nssnitt (st�det dyker upp n�gonstans i 1.3.x-serien,
 men det �r en utvecklings-serie och den auto-s�ker inte). F�r att
 komma runt detta, kan du v�lja mellan n�gra olika metoder.


 Om du redan har en andra IDE-port, s� finns det risk att du inte
 anv�nder den, eller att den redan inte har tv� enheter. Ta ATAPI-
 spelaren fr�n ljudkortet och s�tt det p� det andra gr�nssnittet. Sedan
 kan du st�nga av ljudkortets gr�nssnitt, vilket i alla fall sparar in
 en IRQ.

 Om du inte har ett andra gr�nssnitt, jumpra ljudkortets gr�nssnitt
 (inte ljudkortets ljud-delar) som IRQ15, det andra gr�nssnittet. Detta
 b�r fungera.

 Om den, av n�gon anledning, absolut m�ste vara p� ett s� kallat
 "tredje" gr�nssnitt, eller om det finns andra problem, skaffa en
 1.3.x-k�rna (1.3.57 har det, t.ex.) och l�s igenom
 drivers/block/README.ide.  Det finns mycket mer information d�r.



 7.9.  Den s�ger konstiga saker om "obsolete routing requests"

 Skaffa nya versioner av route-programmet och alla andra program som
 sysslar med route-manipulering. /usr/include/linux/route.h (vilken
 faktiskt �r en fil i /usr/src/linux) har �ndrats.


 7.10.  Brandv�gg fungerar inte i 1.2.0


 Uppgradera till �tminstone version 1.2.1.



 7.11.  ``Not a compressed kernel Image file''

 Anv�nd inte vmlinux-filen, vilken skapas i /usr/src/linux som k�rna;
 [..]/arch/i386/boot/zImage �r den r�tta.



 7.12.  Problem med konsoll-terminalen efter uppgradering till 1.3.x

 �ndra ordet dumb till linux i konsollens termcap-rad i /etc/termcap.
 Du kan ocks� bli tvungen att skapa en terminfo-avdelning.



 7.13.  Verkar inte som om jag kan kompilera saker efter k�rn-upp�
 gradering

 K�llkoden till Linux-k�rnan inneh�ller ett antal include-filer
 (sakerna som slutar med .h), vilka h�nvisas till av standard-
 versionerna i /usr/include. De h�nvisas vanligtvis till p� detta s�tt
 (d�r xyzzy.h skulle vara n�got i /usr/include/linux):

     #include <linux/xyzzy.h>


 Vanligtvis finns det en l�nk, som heter linux i /usr/include till
 include/linux-katalogen i din k�rn-k�llkod
 (/usr/src/linux/include/linux i ett vanligt system). Om denna l�nk
 inte finns d�r, eller pekar till fel st�lle, s� kommer det mesta att
 v�gra kompilera. Om du best�mmer dig f�r att k�llkoden till k�rnan tar
 upp f�r mycket plats p� h�rddisken, och tar bort den, s� �r detta
 uppenbarligen ett problem. Ett annat s�tt det kan g� fel p� �r med
 fil-r�ttigheter; om din root har en umask, som inte till�ter andra
 anv�ndare att se dess filer som standard, och du packade upp k�rn-
 k�llkoden med p-parametern (bevara fil-l�gen), s� kommer de andra
 anv�ndarna inte att kunna anv�nda C-kompilatorn. �ven om du skulle
 kunna anv�nda chmod-kommandot f�r att fixa detta, s� �r det antagligen
 enklare att packa upp include-filerna igen. Du kan g�ra detta p� samma
 s�tt som du packade upp hela k�llkoden fr�n b�rjan, men med en
 ytterligare parameter:


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


 Observera: "make config" kommer �terskapa /usr/src/linux-l�nken, om
 den inte finns d�r.



 7.14.  Ut�ka gr�nser

 De f�ljande f� exempel-kommandona kan vara hj�lpsamma f�r de som
 undrar hur man kan ut�ka vissa "mjuka" gr�nser, som s�tts av k�rnan:

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

 8.  Anm�rkning om att uppgradera till version 2.0.x

 Version 2.0.x av k�rnan introducerade en hel del f�r�ndringar, vad
 g�ller installering av k�rnan. Filen Documentation/Changes i
 k�llkodstr�det till 2.0.x inneh�ller information om saker du b�r veta,
 n�r du uppgraderar till version 2.0.x. Du kommer antagligen beh�va
 uppgradera flera viktiga paket, s�som gcc, libc och SysVInit, och
 kanske modifiera vissa system-filer, s� r�kna med detta. Ta det bara
 lugnt.



 9.  Moduler

 Laddningsbara k�rn-moduler kan spara minne och g�ra konfigureringen
 enklare.  Modulernas omfattning har v�xt till att inkludera filsystem,
 drivrutiner till ethernet-kort, bandspelare, drivrutiner till skrivare
 m.m.



 9.1.  Installera modul-verktygen

 Modul-verktygen �r tillg�ngliga fr�n samma st�lle som du hittar
 k�llkoden till k�rnan, som modules-x.y.z.tar.gz; v�lj den h�gsta
 patch-niv�n x.y.z, som �r lika med eller under den till din aktuella
 k�rna.  Packa upp det med `tar zxvf modules-x.y.z.tar.gz', cd-a till
 katalogen det skapar (modules-x.y.z), ta en titt p� README-filen och
 utf�r det du instrueras att g�ra (vilket vanligtvis �r n�got enkelt,
 som make install). Du ska nu ha programmen insmod, rmmod, ksyms,
 lsmod, genksyms, modprobe och depmod i /sbin. Om du vill s� kan du
 testa verktygen med "hw"-exempel-drivrutinen i insmod; titta till
 INSTALL-filen i den underkatalogen, f�r detaljer.

 insmod infogar en modul i en k�rna som k�rs. Moduler har vanligtvis en
 .o-�ndelse; exempel-drivrutinen, som n�mns ovan, heter drv_hello.o, s�
 f�r att infoga denna skriver du `insmod drv_hello.o'. F�r att ta reda
 p� vilka moduler k�rnan anv�nder f�r tillf�llet, anv�nd lsmod. Utdatan
 ser ut s� h�r:

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


 `drv_hello' �r namnet p� modulen, det anv�nder en minnes-sida (page)
 (4k), och inga andra k�rn-moduler �r beroende av den f�r tillf�llet.
 F�r att ta bort den h�r modulen, anv�nd `rmmod drv_hello'. Observera
 att rmmod vill ha ett modul-namn, inte ett filnamn; du f�r reda p�
 detta fr�n lsmods uppr�kning. De andra modul-verktygen dokumenteras i
 sina man-sidor.



 9.2.  Moduler som distribueras med k�rnan

 I version 2.0.30 �r n�stan allt tillg�ngligt som laddningsbara
 moduler. F�r att anv�nda dem m�ste du f�rst se till att inte
 konfigurera in dem i den vanliga k�rnan; s�ga allts� inte y till dem
 under `make config'. Kompilera en ny k�rna och starta om med den.  cd-
 a sedan till /usr/src/linux igen och k�r en `make modules'. Detta
 kompilerar alla de moduler som du inte specificerade i k�rn-
 konfigureringen, och placerar l�nkar till i /usr/src/linux/modules. Du
 kan anv�nda dem direkt fr�n den katalogen, eller k�ra `make
 modules_install', vilket installerar dem i /lib/modules/x.y.z, d�r
 x.y.z �r versionen av k�rnan.
 Detta kan vara s�rskilt praktiskt med filsystem. Du kanske inte
 anv�nder minix- eller msdos-filsystemen s� ofta. Om jag t.ex. st�tte
 p� en msdos-diskett (usch d�), s� skulle jag insmod
 /usr/src/linux/modules/msdos.o, och sedan rmmod msdos n�r jag var
 klar. Denna procedur spara runt 50k RAM i k�rnan, under normal
 anv�ndning. En liten anm�rkning �r p� sin plats ang�ende minix-
 filsystemet: du ska alltid konfigurera in det direkt i k�rnan, f�r
 anv�ndning p� "r�ddnings"-disketter.



 10.  Andra konfigurerings-alternativ

 Detta avsnitt inneh�ller beskrivningar av utvalda konfigurerings-
 alternativ (i make config), vilka inte tas upp i konfigurerings-
 avsnittet.  De flesta enhets-drivrutiner tas inte upp h�r.



 10.1.  Vanliga inst�llningar (General setup)


 Normal floppy disk support - �r precis det (st�d f�r vanliga floppy-
 diskar). Du kan ta en titt p� filen drivers/block/README.fd; detta �r
 extra viktigt f�r IBM Thinkpad-anv�ndare.


 XT harddisk support - om du vill anv�nda den d�r 8-bitars XT-
 controllern, som ligger i h�rnet och samlar damm.


 PCI bios support - om du har PCI, s� kan du pr�va p� det h�r; ta det
 f�rsiktigt, bara, eftersom vissa gamla PCI-moderkort kommer krascha av
 det h�r. Mer information om PCI-bussen under Linux finns i PCI-HOWTOn.


 Kernel support for ELF binaries - ELF �r ett f�rs�k att l�ta bin�r-
 filer fungera p� olika arkitekturer och operativ-system; Linux verkar
 vara p� v�g i den riktningen, s� du vill antagligen ha detta.


 Set version information on all symbols for modules - f�rut
 kompilerades alltid k�rn-modulerna om med varje ny k�rna. Om du s�ger
 y s� kommer det bli m�jligt att anv�nda moduler som kompilerats under
 en annan patch-niv�. L�s README.modules f�r mer detaljer.



 10.2.  Networking options

 Networking options (n�tverks-alternativ) beskriv i NET-3-HOWTOn (eller
 NET-n�gonting-HOWTOn).


 11.  Tips och knep



 11.1.  Omdirigera utdatan fr�n make- eller patch-kommandona

 Om du skulle vilja ha log-filer, om vad de d�r `make'- eller
 `patch'-kommandona gjorde, s� kan du omdirigera utdatan till en fil.
 Ta f�rst reda p� vilket skal du k�r: `grep root /etc/passwd' och leta
 efter n�gonting i stil med `/bin/csh'.


 Om du anv�nder sh eller bash, k�r

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


 vilket placerar en kopia av (kommando)s utdata i filen `(output
 file)'.


 F�r csh eller tcsh, anv�nd

     (command) |& tee (output file)




 F�r rc (Observera: du anv�nder antagligen inte rc) �r det

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





 11.2.  Villkorlig k�rn-installering

 F�rutom att anv�nda disketter, s� finns det ett flertal metoder f�r
 att pr�va en ny k�rna, utan att r�ra den gamla. I motsats till flera
 andra Unix-varianter s� kan LILO starta en k�rna fr�n var som helst p�
 h�rddisken (om du har en stor (500 MB eller mer) h�rddisk, l�s igenom
 LILO-dokumentationen, om hur detta kan leda till problem). Allts�, om
 du l�gger till n�got i stil med

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


 till slutet av LILOs konfigurerings-fil, s� kan du v�lja att k�ra en
 nyligen kompilerad k�rna, utan att r�ra din gamla /vmlinuz (efter att
 du k�rt lilo naturligtvis). Det enklaste s�ttet att s�ga �t LILO att
 starta en ny k�rna att trycka ner shift-tangenten d� systemet startas
 (n�r det st�r LILO, och inget annat, p� sk�rmen), vilket ger dig en
 prompt. Nu kan du skriva `new_kernel' f�r att starta den nya k�rnan.


 Om du vill ha flera olika k�rn-k�llkodstr�d p� ditt system, p� samma
 g�ng (detta kan ta upp en massa h�rddisk-utrymme; var f�rsiktig), s�
 �r det vanligaste s�ttet att kalla dem /usr/src/linux-x.y.z, d�r x.y.z
 �r k�rn-versionen. Du kan sedan "v�lja" ett k�llkodstr�d med en
 symbolisk l�nk; t.ex. s� skulle `ln -sf linux-1.2.2 /usr/src/linux'
 g�ra 1.2.2 till det aktuella tr�det. Innan du skapar en s�dan
 symbolisk l�nk, se till s� att det sista parametern till ln inte �r en
 riktig katalog (gamla symboliska l�nkar g�r bra); resultatet kanske
 inte blir vad du v�ntat dig.



 11.3.  Uppdateringar av k�rnan


 Russell Nelson ([email protected]) sammanfattar f�r�ndringarna i nya
 utg�vor av k�rnan. Dessa �r korta och du kan ta en titt p� dem innan
 du utf�r en uppgradering. De �r tillg�ngliga via anonym ftp fr�n
 ftp.emlist.com i pub/kchanges, eller genom URLen


     http://www.crynwr.com/kchanges





 12.  Andra relevanta HOWTOn, som kan vara anv�ndbara


 �  Sound-HOWTO: ljud-kort och -verktyg

 �  SCSI-HOWTO: allt om SCSI-controllers och -verktyg

 �  NET-2-HOWTO: n�tverk

 �  PPP-HOWTO: PPP-n�tverk

 �  PCMCIA-HOWTO: om drivrutinerna till din b�rbara dator

 �  ELF-HOWTO: ELF: vad det �r, konvertering...

 �  Hardware-HOWTO: �versikt av st�dd h�rdvara

 �  Module-HOWTO: mer om k�rn-moduler

 �  Kerneld mini-HOWTO: om kerneld

 �  BogoMips mini-HOWTO: ifall du undrade


 13.  Diverse



 13.1.  F�rfattare


 F�rfattaren och utvecklaren av Linux Kernel-HOWTO �r Brian Ward
 ([email protected]). Var v�nlig skicka mig kommentarer,
 till�gg, r�ttelser (r�ttelser �r speciellt viktiga f�r mig).


 Du kan ta en titt p� min `hemsida' p� en av dessa URLer:

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




 �ven om jag f�rs�ker ta s� mycket h�nsyn som m�jligt till e-post, var
 v�nlig kom ih�g att jag f�r en massa e-post varje dag, s� det kan ta
 ett tag att svara. Speciellt om du skickar mig en fr�ga, f�rs�k extra
 mycket att vara klar och detaljerad i ditt meddelande. Ifall du inte
 skriver om icke fungerande h�rdvara (eller n�got �t det h�llet), s�
 beh�ver jag veta hur din h�rdvaru-konfigurering ser ut. Om du
 rapporterar ett fel, s�g inte bara "Jag f�rs�kte det h�r men fick ett
 fel". Jag beh�ver veta vad det var f�r fel. Jag skulle ocks� vilja
 veta vilka versioner av k�rnan, gcc och libc du anv�nder. Om du bara
 s�ger att du anv�nder den-eller-den distributionen, s� s�ger det mig
 inte s� mycket. Jag bryr mig inte om att du fr�gar enkla fr�gor; kom
 ih�g att, om du inte fr�gar, s� f�r du aldrig reda p� svaret!  Jag
 vill tacka alla som har gett mig respons.



 Om du har skickat mig ett e-brev och inte f�tt n�got svar inom rimlig
 tid (tre veckor eller s�), s� finns det en m�jlighet att jag av
 misstag har raderat ditt meddelande eller n�got (urs�kta mig). F�rs�k
 igen.


 Jag f�r en massa e-brev om saker som faktiskt �r h�rdvaruproblem. Det
 �r okej, men f�rs�k komma ih�g att jag inte k�nner till all h�rdvara i
 hela v�rlden och att jag inte vet hur hj�lpsam jag kan vara;
 personligen anv�nder jag en maskin med IDE- och SCSI-h�rddiskar, SCSI
 CD-ROM, 3Com och WD ethernet-kort, seriella m�ss, moderkort med PCI,
 NCR 810 SCSI-controllers, AMD 386DX40 med Cyric hj�lp-processor,
 AMD5x86, AMD 486DX4 och Intel 486DX4-processorer (detta �r en
 �verblick �ver vad jag anv�nder och k�nner till, definitivt inte en
 rekommendation, men om det �r vad du vill ha s� �r du mer �n v�lkommen
 att fr�ga :-)).

 Version -0.1 skrevs 3 oktober 1994. Detta dokument �r tillg�ngligt som
 SGML, PostScript, TeX, roff och ren text.




 13.2.  Att g�ra

 "Tips och knep"-avsnittet �r lite litet. Jag hoppas kunna ut�ka det
 med f�rslag fr�n andra.

 Samma med "Ytterligare paket".

 Mer information om hur man klarar av avlusning/krash-�terh�mtning
 beh�vs.



 13.3.  Bidrag

 En liten del av Linux README (k�rn-hackning-alternativet) �r
 inkluderad.  (Tack Linus!)

 [email protected] (Ulrich Callmeier): patch -s and xargs.

 [email protected] (Daniel Quinlan): r�ttelser och till�gg i m�nga
 avsnitt.

 nat@[email protected] (Nat Makarevitch): mrproper, tar -p, m�nga
 fler saker

 [email protected] (Axel Boldt): samlade beskrivningar av
 konfigurerings-alternativ p� n�tet; gav mig sedan listan

 [email protected] (Steve Lembark): flera uppstarts-f�rslag
 (boot suggestions) [email protected] (Keith Briggs): n�gra
 r�ttelser och f�rslag

 [email protected] (Ryan McGuire): make-till�gg

 [email protected] (Eric Dumas): fransk �vers�ttning

 [email protected] (Yasutada Shimazaki): japansk
 �vers�ttning

 [email protected] (Juan Jose Amor Iglesias): spansk �vers�ttning

 [email protected] (Martin Wahlen): svensk �vers�ttning

 [email protected] (Zoltan Vamosi): ungersk �vers�ttning

 [email protected] (Bartosz Maruszewski): polsk �vers�ttning

 [email protected] (Michael J Donahue): skrivfel, vinnare i
 "skivat br�d-t�vlingen"

 [email protected] (Richard Stallman): dokumentation om "fri"
 dokumentation och kommentarer om detta

 [email protected] (David Kastrup): NFS-saker

 [email protected] (Eric Raymond): diverse sm�saker


 De som har skickat mig e-brev med fr�gor och problem har ocks� varit
 ganska hj�lpsamma.



 13.4.  Upphovsr�tt, licens och s�dana grejer

 Copyright � Brian Ward, 1994-1997.

 Till�telse ges att g�ra och distribuera kopior av den h�r manualen,
 f�rusatt att upphovsr�tten och denna till�telse bevaras i alla kopior.


 Till�telse ges att kopiera och distribuera modifierade versioner av
 den h�r manualen, under villkoren f�r ordagrann kopiering, f�rutsatt
 att det h�rledda verket distribueras under villkor som �r identiska
 med dessa.  �vers�ttningar faller under kategorin "modifierade
 versioner".


 Garanti: ingen.


 Rekommendationer: Kommersiell vidaredistribuering �r till�ten och
 uppmuntras; det rekommenderas dock starkt att distribut�ren tar
 kontakt med f�rfattaren innan vidaredistribueringen, f�r att kunna
 h�lla saker och ting aktuella (du kan g�rna skicka mig ett exemplar av
 saker du tillverkar n�r du �nd� h�ller p�).  �vers�ttare rekommenderas
 ocks� att ta kontakt med f�rfattaren innan de �vers�tter. Den tryckta
 versionen ser snyggare ut. �teranv�nd.