








			      Kernel HOWTO Ķ

		 @: Brian Ward bri@blah.math.tu-graz.ac.at

			 Ķ: C.W.Huang & Asd L. Chen

	       v0.80, 26 May 1997.  ½Ķ: 25-29 August 1997



				   Abstract

     oO@ptmBsĶBɯŮ֤ߥHαѯɪԲӫޡD



1.  ²

AO_ݭn\Ūo? pGAUCg@ܡAOG

     ``urIoM wizzo-46.5.6 n黡ݭn 1.8.193 ֤ߡAӧګoMu
     1.0.9 I''

     s֤ߤ@حAnݭn@ӳ]Xʵ{D

     ApsĶ֤߯u@LҪD

     ``b README ɮ׸̭uNOƤF?''

     AӡAAաA٬OʡD

     AݭnYƵ@nDAL̦wˮ֤ߪH̡D

1.1  Хݦ!

o󤤪YǽdҰ]A GNU tarAfind H xargsD oǬO Linux
M̪зǤuAӤODD
󤤤]]ADAtΪɮרtά[cApGAäDA̦nּgU@ mount
ObtΥ`B@UAܪG@Ѧ(Ϊ̬O@ /etc/fstab
CApGAݱo)D
oǸTܭnAӥBADAsΩΥ[JsϺСAsw˧AtΥHΰѦpާ@A_h̤|ܰʡD

g@ɳ̷s``~''֤ߪXO
2.0.30A]NO媺ѦҤΨҤlOӪD
Mڹog峹q򪩥LA֤߫o_aboiD
]pGAo@sAiקKa|@ǤPD
MAoӤ|yjDAi|sy@ǲVcD

ت Linux ֤߭lXA``~'' P ``oi'' D ~q 1.0.x
}lӥBثeOHƽso; 1.0.x O~A1.2.x O~A 2.0.x
]ODoǪӤíwAboɬOS(bug)D oi֤
(1.1.x, 1.3.x )


Kernel HOWTO Ķ							      1





Kernel HOWTO Ķ							      2



O@եΪAǷQnճ̷sӥBi঳\hΪHΪD wgĵiLAFD

1.2  峹满

ݰ_ӹo text rΪ̬OY˱NX{AùWFA@ɦWA
άOY˥iQJFAOROAΩROﶵ(pGAݪO¤rɮסAݰ_ӨS򤣦P)D
ROP䥦Jg`Qذ_(` ')Aog`ް_嫬IŸD:
pGo˪إX{byl̫᭱AḪɱ`|bRO᭱[W@y `.'A
]H޸ߺDNyJ޸̭D
Yϥα`(ӤOAo]F֦```''HOߺDꦡ޸)Q]DNoIhAܦhH`OѰOD
ҥHbΤUڱNyb޸~YDyܻAڥsAn ``make config'' ɡA
ڷ|g `make config'AӤO `make config.'D


2.  nDPѵ

2.1  ޫˡA֤ߨ쩳O?

b Unix tΤAOA{Pw骺@ӥ̡D
AҦ椤{({)O޲zA
åBTO̳(ΤApGA@N)ɳBzB귽D
~AٴѤF@Ө}n责쪺{zLPAw鷾qD

֤ߩҳBzu@o٭n@ǡALoǰ򥻪\O̥nDD

2.2  ڬns֤?

s֤ߤ@ӻ|ѧjOӻPhة__ǩǪw鷾q(]NOA֦̾h]Xʵ{)A
̯n{޲zA̯檺ª󦳮ĲvḀiªӪíwAӥB̭ץFª̪@ǿ~D
jHO]L̻ݭnǷs]Xʵ{Hο~ץӧs֤ߡD

2.3  s֤ߤ䴩ǵw?

Ь Hardware-HOWTO D t@ӤkOAAiHd Linux l{X `con
fig.in' ɡA Ϊ̴NbAյۥh `make config' ɧXӡD `make config'
N|AݨзǪ֤߭l{X䴩ҦwAoäO Linux
Ҥ䴩wF \hq]Xʵ{(O PCMCIA
Xʵ{HάYǺϱaXʵ{)OӧO@εo檺iJҲաD

2.4  ڻݭnӪ gcc άO libc ?

Linus oӰDĳb Linux l{ README ɮYD
pGASӪάOsAs gcc ӷ|iDAO_ݭns libc
D oӾާ@|DAunӵۻNiHFD

2.5  OiJҲ?

̬O֤ߪ@(q`O]Xʵ{)AOèSsĶ֤߸̭hD
̳QOsĶAMXGiHbɭԱN̴JB@֤ߩαqXD
ѩ󥦪KQʡAowg@ؼW[F֤߸̥hn覡D
\h`Ϊ]Xʵ{AҦp PCMCIA Xʵ{H QIC-80/40
ϱaXʵ{NOiJҲաD










Kernel HOWTO Ķ							      3



2.6  ڻݭnhjϺЪŶ?

oPAtΪStmDAYL᪺ Linux l{Xb 2.0.10 ɬ 6
MBD \hxbYᤴ|Od@DYHoN 24 MBD
o٤O w AN|ݭnhϺЪŶӹڽsĶoǪFD
oPAtmh֪FA֤߸YhDҦpAbYWAڦA3Com
3C503 Xʵ{A åBtmFTɮרtΡAӳo@ݭn 30 MBD[WYL
linux  l{XAoӰtmjݭnαA 36MB D
bt~@ӨtΤWAݭn䴩](Mݭn䴩)A[WĥdAGYhŶD
٦A@ӷs֤ߴXG`OªjŶD
ҥHA@ӻApGA\hصw]ƪܡATwAwЪŶӮeǳoӰtmD
(H骺ӻAxsŶDڤणĳAAR@xϺоD)

2.7  oݭnh[ɶ?

jHӨA׬O``ܤ[''DABztצh֡AHΧA֦OƶqhֱNOMwһݮɶDn]A
OAbh֪Ftm֤߸Yho譱٬OiHIVOD b@x 16 MB
O骺 486DX4-100 qWA@ӦɮרtΡB䴩BHέĥdXʵ{
1.2 ֤ߥiHbGQHD tmAb@x 386DX/40(8 MB
O)Wjݭnn 1.5 ӤpɡD
bsĶ֤߮ɳq`@ǦnĳOhܤ@I@ءAIqA´ǤuAΥAwơD
pGAuܺCܧA]Ӵx֪D


3.  pui֤ߪtm?

3.1  ol{X

AiHgѰΦW ftp q ftp.funet.fi  /pub/Linux/PEOPLE/LinusA άO䥦 MIR
ROR oD([Ķ] xWiq ftp.edu.tw oD) ɮצW٤@OHаO linux-
x.y.z.tar.gz NA䤤 x.y.z OsD
s(n?)Hέ׸ɤ@Ob `v1.1' H `v1.2' o˪lؿUD
Ʀr̤jO̷sAӥBq`O``ժ''A]NOpGA beta  alpha
P줣wܡAAӰdbDno檩WD

jPĳAh mirror  ftp `IAӤn ftp.funet.fi h!  UO@
mirrors HΨL`I²nC:

     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

@ӻAsunsite.unc.edu  mirror Oܦn䪺D ɮ /pub/Linux/MIRRORS
]tFw mirror `ID pGASkW ftp AӦs linux  BBS
tΦC|wZnb comp.os.linux.announce WAյۨ쨺h@UD

pGAQM@몺 Linux TPMAh D










Kernel HOWTO Ķ							      4



3.2  Ѷ}l{X]

TwAOH`root'ñJAM cd  /usr/srcD pGAw Linux
ɤwgwˤF֤߭l{XAboӥؿUӤwgsb@ӥs `linux'
lؿD oOª linux
l{XDpGA٦ϺЪŶӥBQnow@IAA|QnOdoӤlؿD
ӦnDNOھڧAثeϥΪ֤ߪӭקoӤlؿW١D `uname -r'
oӫON|iDAثe֤ߪD ҥHApG `uname -r' 
`1.0.9'AANiH `linux' W( `mv') `linux-1.0.9'D
pGAOӾ|HANoӤlؿMD
L׬O@رpAϥunTwbѶ}l{XeA/usr/src ؿUS
`linux' oӤlؿNFD

b /usr/src ؿUA `tar zxpvf linux-x.y.z.tar.gz' ӸѶ}l{X]
(pGA쪺O .tar ɮסA᭱S[W .gzAN `tar xpvf linux-
x.y.z.tar')D AN|ݨl{euӹLDHAb /usr/src
N|X{@ӷs `linux' lؿD cd  linux ؿUMd README ɡA
̭ӷ|@qD `INSTALLING the kernel' rD
pGAܡA̷ӻ̪ w إ߸ӦŸ쵲ALɪ .o
ɮ׵Ѧpu@D

3.3  tm֤

`NGoeǬO Linus  README ɮפ`Υ[H׭qD

b /usr/src/linux U `make config' oөRON|ҩl@ӫOZA
ӳoӫOZ|ݧAUذDDݭn bash AҥHnTw bash O /bin/bashA/bin/sh
 $BASHD

٦䥦 `make config' 覡Ai|ıoeϥΡD 墨ǰ X Window
HApG Tk ܥiHյۥ `make xconfig'D `make menuconfig'
OǦ (n)curses ӥBwrҦ檺HΪD oǬɭө㪺nB:
pGbtmL{ApߥǤFAiH²a^hץD

A{bӷǳƦn^oǰDAq` `y'  `n' NiHFD
]Xʵ{q`|@ `m' ﶵD o``Ҳ(mod
ule)''AܻtαN|sĶA|i֤߸̡AӬO@iJҲաD
@Ӧ쪺kO``maybe''D@ǫܩάOnﶵN|b[HD
Ш``䥦tmﶵ (section 10., page 17)''@`䤤²uD

b 2.0.x ΥH᪺@ `?' ﶵAѤFoӰtmѼƪ²uyzD
oǸTӳO̷sD

3.3.1  Kernel math emulation (֤ߪƾǹB)

pGASƾǻUBBz(Au@xª 386  486SX)AAb
o̭n^ `y'DpGAwgƾǻUBBzo٦^ `y'A ]Ӿ w
linux ٬O|hϥΥө֤ߪ{D
ߤ@vTOsĶXӪ֤ܤjF(αhO)D ťƾǹB²ܺC;
MM`LӤjYA٬OӪ`No X Window tΪĲv|ܤjvTD

3.3.2  Normal (MFM/RLL) disk and IDE disk/cdrom support (зǵwФ䴩)

Abo̮tho^ `y'DNNO֤߱N|䴩зǪ PC wСA








Kernel HOWTO Ķ							      5



ҦpjhƤHϥΪ IDE ɭwСDo]A SCSI ]ƪ䴩; oNb᭱]wD

MA|Qݨ ``old disk-only'' P ``new IDE'' Xʵ{ơD
AӨ̿@; DntOOªXʵ{u䴩@ɭⳡϺоA
ӷsXʵ{䴩ĤGɭ IDE/ATAPI оDsXʵ{ªjh 4KA
ӥBӬO``}''A]NOFi]tǳ\~~Aӷ|ﵽAϺЮĲvASOOpGAs
EIDE w骺ܡD

3.3.3  Networking support (䴩)

hWApGAsAĴpAA Internet suAάOANϥ
SLIPAPPPAterm Ψ䥦覡 Internet WܡA^ `y'D
MӡAYǳnM(Ҧp X Window
t)ݭn䴩AYϧAäusWDoΧA]Ӧ^ `y'D
MAA|QݨO_ݭn䴩 TCP/IP ApGAQTwAN^ `y'D

3.3.4  Limit memory to low 16MB (Ob 16 MB)

i|@Ǥ} 386 DMA LkTaw} 16 MB HWO}F
pGAno(u)pɡAA]Nun^ y FD

3.3.5  System V IPC

@ IPC ({qTAInterprocess Communication) wqNb Perl ѤѡD
oäj_ǡA@ Perl
{]p̥Υ{۷qAN\h䥦M(̵ۦWp DOOM)@ˡD
]DAFѧAbAM̦nO^ nD

3.3.6  Processor type (386, 486, Pentium, PPro)     (LBz)

(bª֤ߤ: Use -m486 flag for 486-specific optimizationsAϥ
-m486 Xаw 486 ̨Τ)

ӺDҦaAoO@SOLBzYس̨Τ;
֤ߤib䥦W]oܦnAi|jǡD
LAbs֤ߤWAwgOoӼˤlFD]AӥTa^AnsĶLBzD
``386'' ֤ߥiHbҦWu@D

3.3.7  SCSI support (SCSI 䴩)

pGA SCSI ]ơAN^ `y'D
۷|ܭnDi@BTAOAO_n䴩оAϺоA٦AϥΪO@
SCSI dD oаѾ\ SCSI-HOWTOAԲӪD

3.3.8  Network device support (]Ƥ䴩)

pGAdAΪ̧AQnϥ SLIPAPPPAάOæCɭdAN^ `y'D
۷|ܰݧAϥΪO@غdAέnϥΨ@سqTwD

3.3.9  Filesystems (ɮרt)

oN|ܭnA^ҭn䴩ɮרtκApG

Standard (minix) w sM󤣦Aإ minix








Kernel HOWTO Ķ							      6



ɮרtΡAӥBܦhHϥΥAO⥦tmb֤߸̤MOӦnDND
Y``ϺϤ''{|Ψ쥦AӥBM\hnкϤi minix ɮרtΡA]
minix ɮרtιBznФ譱LDD

Extended fs w
oOXRɮרtΪĤ@A{bwgAϥΡDϥΪɾOApGAݭnAAN|DDpGAıoháAANݭnD

Second extended w
oO{bso檺MҼsxĥΪɮרtΡAAi|䤤@ءAҥH^
`y'D

xiafs filesystem w
oɮרtδg@׫ܴMAObgoɡAڤwgDHbϥΥFD

msdos w pGAQnb linux UϥΧAwФ MS-DOS ΰϡAάOQN MS-DOS
榡ƪnФiӪܡA^ `y'D

ums-dos w oɮרtί MS-DOS ɮרtξ֦h Unix
SʡAOɦWDo墨Ǥϥ MS-DOS H()äOܦΡD

/proc w t@د_F(ڲqoӷOLaqǸ̰LӪ)D
OAwФΰϸ̪FAӬO֤߻P{ǤɮרtΤD\h{Ǥu(
`ps')|Ψ쥦D ɥiHյۥ `cat /proc/meminfo'  `cat /proc/devices'D
Y shell (SOO rc) ϥΤF /proc/self/fd (b䥦tθ̥s /dev/fd)
ӰXJʧ@D AXGӦ^ `y'; \hn Linux u㳣̿०ӹB@D

NFS w pGAbҤUӥBQn NFS ӨϥΨ䥦ɮרtΡA^ `y'D

ISO9660 w jФϥγoɮרtΡDpGAоӥBQb Linux
UϥΡA^ `y'D

OS/2 HPFS w bsgo󪺮ɭԡAoɮרt٥u䴩 OS/2 HPFS ŪD

System V and Coherent w oO System V H Coherent
tΪΰϦӳ](̬Ot@ئb PC W Unix t)D

3.3.9.1  OڤDڻݭnɮרt!

naAJ `mount'Dݰ_ӷ|oˡG

	 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)

JӬݬݨC@Fb `type' ᭱ӦrNOɮרtΪ榡D boӨҤlAڪ /
M /usr ΰϬO second extended 榡A ڨϥΤF /proc AӥB@iH msdos
(bleah) ɮרtή榡ϤD

pGAϥ /procAiHո `cat /proc/filesystems'D
|A@ثeϥΪ֤ߩҤ䴩ɮרtΦCD

otmä`ϥΡDnɮרtη|Ϯ֤os~;








Kernel HOWTO Ķ							      7



ѨiJҲդ@`HקKpAH`` (section 7., page
11)''@`s~֤ߤnD

3.3.10	Character devices (r])

bo̡AAN|o{\h]ƦW١AΨӳ]wALA׬yƷƹAPS/2
ƹ(jOqϥΤت PS/2 ƹ)A
HΤ@ǺϱaXʵ{AHΨ䥦``r'']ơDXAﶵɡA^ `y'D

`NGSelection oӵ{ϧAiHb X window
~ϥηƹbUӵxŶKʧ@D
pGACƹܡAouܴΡA]P X window q}nA
LpGAΨ䥦ƹNݭnIޥFDSelection
g@׬OܪtmtAL{bwgOзǤFD

`NG: Selection {bwgLɤFD{bs{Ws ``gpm''D
వ󯫩_ơAOഫƹwABzhƹKK

3.3.11	Sound card (ĥd)

pGAQť biff {jsܡA^ `y'D
Mᵥ@U|sĶt@Ӱtm{øԲӸ߰ݧAҦ󭵮ĥdDD (`N:
ݧAO_w˧㪩Xʵ{ɡAAiH^ `n'
H֧A֤߰OåuΧAuݭnD) pGAĥdڱjPĳݤ@U Sound-
HOWTO HDhӸ`D

3.3.12	䥦tmﶵ

SNҦﶵCXӡA]Ǹg`ܡAάO۷۩(Ҧp  3Com 3C509
support NOsĶoدSOAӺdXʵ{)A
@ӤQezѪҦﶵC(]AN̩ Configure OZk)ibo
URL ( Axel Boldt axel@uni-paderborn.de Ҧ):




θgѰΦW FTP :




䤤 x.yz OXD

Ӫ֤ߤ(2.0.x Ψ᪺)AowQXl{XD

3.3.13	Kernel hacking

>oOq Linus  README ̺KG

``kernel hacking'' tmӸ`q`|ͤ@ӧjάOC֤(Ϊ̬OSjSC)A
ӥBi]N@Ǳ`tmܬDahդ_@Ǥ}{XHKX֤߸̪D]
kmalloc() ^A
Өϱo֤ܱoíwDҥHnͤ@Ӯ֤``~''ܡAAboӦ^
`n'D








Kernel HOWTO Ķ							      8



3.4  {bO? (The Makefile)

bA make config Aӷ|@ӰTiDA֤ߤwgtmnFA
HέnAh``check the top-level Makefile for additional configuration''
TD

ҥHdݤ@U MakefileDAӤܥAOݬݵLD
@s֤ߧAA]iH `rdev' Oӧܨ䤤ﶵD


4.  sĶ֤

4.1  MPT{

ΨӶitmOZ槹ɡA|iDAh `make dep' H `clean'D
ҥHn`make dep'DoNTOҦۨYAҦp include files SDD
DAquܺCA_h|Ӥ[ɶD
Abª֤ߤAӰ `make clean'D
o|M֤߽sĶҦتɥHΨ䥦FDbؤ@Ӯ֤ߤenѰOoӨBJD

4.2  sĶɴ

b `make dep'  `make clean' u@AA{biH `make zImage' 
`make zdisk' (oݭnɶ)D `make zImage' N|sĶ֤ߡAåBb
arch/i386/boot dA@ӥs `zImage' ɮסDoNOsY֤ߡD `make
zdisk' Ƥ]@ˡAO|֤ߩAҧƱ檺ϤhAunoiϤb
``A:''D
`zdisk'շs֤߫ܤKFpG(Τu@`)AunϤAª֤߱ҰʧYiD
pGAN~aRF֤ߩάO򪺡A]OӤKҰʿkD
A@xϺЪeɭ˨t~@xhɡAA]iHΥӦw˷st(FoǤ~٦hγ~I)

ҦӪ֤߳OYLAҥH `z'
bWreDYL֤߰檺ɭԷ|۰ʱNۤvYD

4.3  LiH``make''F

`make mrproper' N|sx `M' u@D
oӰʧ@ɭԬOAҥHAi|ƱbC׸ɪɭ԰楦D `make
mrproper' ٷ|NAtmɮױAҥHpGA{nӥ@ƥ(b
.config)D

`make oldconfig' |եѤ@ªtmɮרӰtmA֤ߡD|A `make con
fig'D
pGA٥sĶL֤ߩΨSªtmɮסAAiणӰoӡA]AXGTw|w]tmD

ѨiJҲդ@` `make modules' D

4.4  wˮ֤

bAwgo@Ӭݰ_ӯӧAƱB@s֤ߤA{bOw˥ɭԤFD
jHϥ LILO (Linux Loader) ӰoơD `make zlilo'
N|wˮ֤ߡAM復 LILOAϧAҦ}ǳơA Ooub LILO
wgHUCoؤ覡tmnɭԤ~iHG֤߬ /vmlinuz A lilo b /sbin
UAӥBPA LILO tm(/etc/lilo.conf)@PD








Kernel HOWTO Ķ							      9



t@譱AAiݭnϥ
LILODoO@Ӭ۷ew˪nAMӡAtmɱ`ϤHxZD
dݰtm(Oª /etc/lilo/config NOs
/etc/lilo.conf)Aݬݸ̭ǤD ݰ_ӹoˤlFG

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

A`image =' ]wwgw˪֤ߡDjHG /vmlinuzD `label'
hO lilo ΨӨMw{bnҰʪOӮ֤ߩΧ@~tΡA  `root'
hOoӯSO@~tΪڥؿ /D ƥ@ª֤ߡAMNA zImage
ih(ҦpApGA `/vmlinuz' ܡANo `cp zImage /vmlinuz')D
MA `lilo'AObªtΤWAAiॲ /etc/lilo/install
άƦܬO /etc/lilo/lilo -C /etc/lilo/configD

pGAQDh LILO tmAάOAèS LILO OAQnw˪ܡA
qAw ftp `Io̷sM̻ơD

nqwбҰʧA®֤ߨ䤤@(oOt@Ӧbs֤ߥXppUO@Aۤvk)A
 LILO tmɤҦ(]A) `image = xxx' ɮת̩ݡA M `image =
xxx' 令 `image = yyy' 䤤 `yyy' OAƥ®֤ߩҦsɪWrD ۡA
`label = zzz' 令O `label = linux-backup' M᭫s liloD
Aion[W@ `delay=x'A䤤 x OHQ@쪺ɶA oOiD
LILO bҰʫe@UAҥHAiH_(Ҧp shift )D
MJҳƥҰʬM label (boͤFYǥOHr֪ƱpU)D


5.  ׸ɮ֤

5.1  ϥέ׸

֤ߪpTsOH׸ɪ覡oDҦpApGAO 1.1.45 A
ӥBA`NX{F@ `patch46.gz' iHΨӤɯťA
oNAiHǥѨϥγoӭ׸ɱNɯŨ 1.1.46D
A]\|Qnƥl{X(`make clean' M `cd /usr/src; tar zcvf old-
tree.tar.gz linux' N|AyX@ tar
YɡA̭NOӭl{XPɮ׬[c)D

{b~WҤlA]AwgoF `patch46.gz' éb /usr/src UD cd
 /usr/src M `zcat patch46.gz | patch -p0'
(pGäOYL׸ɡAN `patch -p0 < patch46')A
AN|ݨ\hF譸uӹL(άOCCLApGAquܺC)iDAյۭ׸ɵ{AHάO_\D
q`AoӹL{ֱoLkJӬݲMʧ@AҥHA|LkTw쩳S\aD
ҥHAi|Qb patch O[W -s ﶵAiD patch {ui~TNnD
(o˧AN|o\h``!
ڪqbYǧ!''PıALAi@oˡK)
Noݤ@ǥiणO򶶧QơDcd  /usr/src/linux çMɦW
.rej ɮסD YǪ
patch]ªḀiObɮרtΤWsĶ^|oǨS\ާ@ObɦW
# ɮ׸̡D AiH `find' ӴAF

	 find .  -name '*.rej' -print








Kernel HOWTO Ķ							     10



|N{ؿΤlؿUҦ .rej ɦWLзǿXD

pG@TL~ܡAĤT`ĥ|`ҰQת `make clean'A`config' H
`dep'D

 patch Ot~٦@ǿﶵDpeҭzApatch -s
N|F~H~ҦLTD pGA֤߭l{Xb /usr/src/linux
H~aAbӥؿU patch -p1 ]iHbW׸ɥȡD 䥦 patch
ﶵbuWU(man page)̳ܸԲӪyzD

5.2  pG~o

(`N: `쪺jOª֤)

q`̱`oͪDO patch ק@ӥs `config.in'
ɮ׮ɡAoɮ׬ݰ_ӤlA
]AקF@ǿﶵӰtXADoӰDwgpߪ`NLFA٬Oi঳H|bªWDJoӰDD
nץoӰDܡAd config.in.rej oɮ׸̯dUǤTD
קL`ӻ|bC@}laФW `+' M `-'D
dݦаOXAMOo̬O] `y' άO `n'D {bs config.in
ɡAMbAa  `y' 令 `n' H `n' 令 `y'D

	 patch -p0 < config.in.rej


pG\(S~)AANiH~tmPsĶu@D o config.in.rej
٬O|db̡AOAiH屼D

pGAMDJ䥦DAiOAwˤF@la׸ɡD pG patch 
`previously applied patch detected: Assume -R?'A
AiϥΤF@ǤAثes٧C׸; pGA^
`y'A|ձNA{XšAӥBXG@w|;
pAANݭnso@sl{XD

n٭׸ɫeAܡAb׸ɤW `patch -R'D

׸ɯuѪɭԡA̦nkOq@Ӱbl{X(Ҧpq linux-
x.x.x.tar.gz ɮר䤤@)}lAAsD

5.3  屼 .orig ɮ

unLX׸ɥHA .orig ɮױN|}lnD ҦpAڪ@ 1.1.51
{X̫@MOb 1.1.48 ]ڷQOa^D Ro .orig
ɮ׷|`ٳ\hϺЪŶD

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


N|AӮƳoơDYǪ patch | ~ ӥN .origD

䥦nki屼o .orig ɡANOQ GNU  xargs:

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









Kernel HOWTO Ķ							     11



άOwo۪k:

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

5.4  䥦׸

@ǨäO Linus o檺䥦׸ɥX{(ڱN٤``DзǪ'')D
pGAϥΤF̡ALinus ׸ɥi|ӵLkTaA
AOoN٭NOo]ӥhקl{XάO׸ɡDoӤu@Ǫ̳q`OܰQA
ҥHpGAQhקl{X(Gq`jn)Abϥ Linus
׸ɤe٭oǫDзǪ׸ɡAέsw˷s{XD
MոճoDзǪ׸ɯणΡDpG઺ܡAnAN~ϥª֤ߡA
յۭק׸ɨϨΡAnN(iO^D)sDзǭ׸ɥX{D

DзǪ׸ɦhM? AiിgťL̡Dڨϥ Bill Paul
{{׸ɨӭקڪxA]ڰQ|{{(oӭ׸ɸg`s֤ߦӧs)D
ѩjs]Xʵ{wgQoiiJҲէΦA]\hDзǪ׸ɪnʤwvCD


6.  [M

A Linux ֤ߦ\hbl{X̭èSSʡF
oǯSʤ@Ogѥ~ӪnӧQΡAbo̦CX@̴MG

6.1  kbd

Linux
xۤAүYhSDo]ArAsMALAܼҦ(s֤)OD
kbd
oMn̦ϥΪ̰oǰʧ@䴩{A٥[W@j諸rHδXGHAΥL@LMD
ibm֤߭lXP@xD

6.2  util-linux

Rik Faith (faith@cs.unc.edu) F@j Linux uAs util-linuxD
{bO Nicolai Langfeldt (util-linux@math.uio.no) Һ@D iq sun
site.unc.edu  /pub/Linux/system/misc oD ]AF settermArdev H
ctrlaltdel P֤ߦuD N Rik һAnQQN⥦ˤWh!
Aݭnw˦M󤤪C@ӪFAӥBpGAo˰ܥi|ް_YDD

6.3  hdparm

ܦhn@ˡAogO@Ӯ֤߭׸ɤΨ䴩{D
oǭ׸ɳQJӷ~֤ߤAӥΨӳ̨ΤƥHνվAAwЪ䴩{@O}o檺D

6.4  gpm

gpm O general purpose mouse ²gD
oӵ{iHAϥΤPƹbxŶKAHΰ@Ǩ䥦ƱD


7.  @ǳ










Kernel HOWTO Ķ							     12



7.1  make clean

pGAs֤߷|@ǯuܩ_ǪơAiO]bsĶ֤߫eAѤFM make
cleanD
gqA֤ߤ`aY_ǪXJDA@iĲv@ӨAiHOơD
̦n]nTwA make depD

7.2  jνwC֤

pGA֤ߦΤFjqOAΪ̥uOܤjܤjA]Ϊ̬OYϥΧAs
786DX6/440 ӽsĶoٹOûsĶܡA
򦳥iO]AtmFӦhnF(]Xʵ{Aɮרtε)D
pGA|ΨYǪFANntmA]u|ΰOD
֤߹Ls~̩㪺gNOoͰOPϺФ`jqƥ洫D
pGAOΨnť_ӦnOQg« Fujitsu Eagles
wСAˬd@UA֤߰tmD

AiHXAWO骺ƶqAM /proc/meminfo ̭ ``total mem''
 `free' OұoOƶqӱo֤ߨϥΤFhְOD A]iH `dmesg'
(Ϊ̤]iHdݮ֤ߪOɡA@wb|Atθ)Dݰ_ӴNo@G

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

ڪ 386 (tmܤ֩U)ܦpUG

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

pGA`'o@j֤ߦtΫoAAAiHո `make bzimage'D
Aiॲw˷s LILO ӰoơD

7.3  ֤ߵLksĶ

pGSQsĶAiOӭ׸ɥѤFAΪ̬OAqYӦa讳쪺l{XDD
]iO]A gcc TaF(ҦptJɦ~)D Tw Linus b
README ̩ҴyzŸ쵲TإߡD
@뻡ӡApG֤ߨSsĶAoܦbYǦa観Y~AswˬYǤuiOD

Ϊ̥iA ELF sĶ (gcc 2.6.3 ΥH᪺) ӽsĶ 1.2.x ֤ߡD
pGsĶL{Ao@j諸 xxxx undefined TAoiOADD
ץkj²DNoX[ arch/i386/Makefile :
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


M᭫s make dep P zImageD

bּƱpUAgcc i|ѩwDӷD~T| ``xxx exited with sig
nal 15'' AӥB|ݰ_ӫܩ_ǡD
ڥӤQoIALbڨW]o͹L@ - ڦ@a cache
OAsĶɱ`|HaD pGADܥյۭsw
gccDpGAN~ cache A֤@ RAM








Kernel HOWTO Ķ							     13



֤ߴNsĶ\FAAju|ıoiáD

iDH̥Lw馳D`|ϤHxZDLAoOڵoD oO@ FAQ --
iHb	E

7.4  s֤ߦGҰ

AS LILO AάOSTtmD@ڴgI쪺DOXbtmɸ̡A
ڥΤF `boot = /dev/hda1' ӤO `boot = /dev/hda'
(ob}lɯuOܰQAO@AF@ӥiHΪtmɡAӤݭnhAhܥ)D

7.5  AѤF LILOAΨtήڥҰ

I{b̦nkOκϤҰʡAåBǳƥt@iiHҰʪϤ(O`make
zdisk'ɰϤ)D AoDAڥؿ(/)ҦbΰϥHΥ榡(second
extended, minix )D bUҤlAA]oDA /usr/src/linux
l{XbӤΰϡA榡AHΥ@|bD

boӨҤlA ڥؿ / O /dev/hda1Aӫ /usr/src/linux ΰϬO
/dev/hda3A@|b /usr UD ̳O second extended
ɮרtΡDiHB@֤߬Ms zImage Ab /usr/src/linux/arch/i386/boot
UD

oӥDNOo˪AY@ӥiHB@֤߬Ms zIm
ageAiiH⥦ΦbsϤWD
t~@Ӥ@w|nܳqk(oAtΫզ)boӨҤl|QרD

Aq boot/root ϤΪ̬OϺϤ}AMNiB@֤ߪΰϱWӡG

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

pG mkdir OܸӥؿwgsbAz|D {bAcd
iB@֤ߪaD`N:

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


@i榡ƹLϤi ``A:'' Ϻо(TwOA boot/root Ϥ!)A
Mɶɭ˨Ϥ̥hAMtmAڥؿΰ:

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

cd ڥؿ / åBUз /usr ΰ:

	 cd /
	 umount /mnt

A{bӥiHqoiϤ`}FDbo}ᤣnѰO lilo
(άO䥦Ag)!

pPegLA٦t~@ثܴMܳq覡D








Kernel HOWTO Ķ							     14



pGpOA@ӥiHB@֤ߦbb / (Ҧp /vmlinuz)AA]iHϥΥD
wҦ󳣸WҤl@ˡAӧڪ֤߬MO
/vmlinuzAunWҤloǧ:  /dev/hda3 令 /dev/hda1 (/ ΰ)A
 /mnt/src/linux 令 /mntAåB if=zImage 令 if=vmlinuzD
ܩe`NpɥX /mnt/src/linux/arch/i386/boot ӳiHD

N LILO ϥΦbjwФW(WL 1024 ϬW)i|DD аѨ LILO mini-HOWTO
Ψ䥦󪺻D

7.6  tΪ `warning: bdflush not running'

oiHO@Ӭ۷YDDq 1.0 H᪺֤߶}l(jOb 1994
~|GQ饪k)A ӷ|gʦasɮרtνwİϪ{s `update'
QɯũΨNFD o `bdflush'
l{X(AӥiHqAo֤ߪa)A
MsĶ(Ai|Ʊbª֤ߤUsĶΦw)D |H `update'
Ww˥ۤvåBb}HAs֤ӷ|B@}nD

7.7  tλ undefined symbols ӥBLksĶ

Ai঳@ ELF sĶ(gcc 2.6.3 ΥH᪺)ӥBO 1.2.x (Χ󦭪)֤߭lXD
@ץkONoX[ 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

o|H a.out {wӽsĶ 1.2.x ֤ߡD

7.8  Lkڪ IDE/ATAPI CD-ROM `u@

ܩ_ǡA@jHLkL̪ ATAPI оu@AiO]ӦhƮeXD

AоOb@SO IDE ɭWߤ@]ơAQվ㬰 ``master''  ``sin
gle''D oiO̱`~D

Creative Labs {bN IDE ɭḼĥd̡D
MӡAoNɭP@Ӧ쪺DAMǤHu@ IDE
ɭA\hHbDOWӤت IDE ɭ(q`b IRQ15)A
]@ѨMkONnQdɭզĤT IDE (HiDڬO IRQ11)D

ob 1.2.x  Linux ֤ߤW|DA]䴩ĤT IDE ɭ(q 1.3.x
tCw}l䴩A٦boiAӥB|۰ʰ)D
nѨMDAA@ǿܡD

pGAwgĤG IDE ApGASΥΨSⳡ]ƦbWܴN|D N
ATAPI
оqĥdWUӨéĤGӬɭWDMAiHĥdWɭAoNiH٤U@
IRQD

pGASĤG IDE ɭAվ㭵ĥdɭ(Oĥdĳ)ĤGɭΪ
IRQ15Aoӷ|ʡD

pG]YǲzѫDoϥ``ĤT''ɭiAάO䥦DA o 1.3.x








Kernel HOWTO Ķ							     15



֤(Ҧp 1.3.57 N)A\Ū drivers/block/README.ide ɮסD
̦hTD

7.9  t obsolete routing requests _ǰT

os route {Ψ䥦P route {D /usr/include/linux/route.h
(oO /usr/src/linux U@ɮ)wgFקD

7.10  Lkb 1.2.0 Wu@

ܤ֤ɯŨ 1.2.1 D

7.11  ``Not a compressed kernel Image file'' (DY֤߬M)

nΦb /usr/src/linux ͪ vmlinux AҰʮ֤߬M;
[..]/arch/i386/boot/zImage ~OTD

7.12  ɯŦ 1.3.x bx׺ݾWD

Nx]w /etc/termcap  dumb אּ linuxD Ai|W[@ ter
minfoD

7.13  ֤ߤɯūGLksĶF

Linux ֤߭l{X]tF\htJ(NO .h ɮ)зǪ
/usr/include ҰѦҡD ̳q`γoؤkQѦ(䤤 xyzzy.h Ob
/usr/include/linux U):

	 #include <linux/xyzzy.h>


`pUAb /usr/include U|@s linux sA֤߭lX
include/linux ؿ(@tΦb /usr/src/linux/include/linux)D
pGoӳsSFAΫ~aAjF賣NLksĶD
pGAıo֤߭lXFӦhŶӬ屼AoM|޵oDD
t@ӥi઺~Oɮv; pGA root w]䥦ϥΪ̬ݨLɮסA
ӥBAѶ}֤߭lXɨS[W p (Odɮ׼Ҧ)ﶵA䥦ϥΪ̤]|Lkϥ C
sĶD MAiH chmod OӭץALekOsѶ}tJɡD
AiH@}lAѶ}ӭlXPˤkALh[F@ӰѼ:

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


Ъ`N: pG /usr/src/linux sb ``make config'' |ؤD

7.14  W[W

U@ǽdҫOiDApW[֤ߴѪW:

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










Kernel HOWTO Ķ							     16



8.  ɯŦ 2.0.x `Nƶ

֤ 2.0.x bwˤWޤJF\hܡD bl{X̪ Documentation/Changes
ɮץ]tFɯŦ 2.0.x DTD AiٻݭnɯŤ@䪺MAҦp
gccAlibc P SysVInitAçܤ@ǨtɮסDLA]OiD


9.  iJҲ

iJҲկ`ٰOAӥBܮe]wD
Ҳժdwg]tFɮרtΡAAӺdXʵ{AϱaALXʵ{A٦hD

9.1  w˼Ҳդu

ҲդuiHqAo֤ߪaAp modules-x.y.z.tar.gz;
ܻPAثe֤ߪ۵εyC̱ x.y.zD  `tar zxvf modules-
x.y.z.tar.gz' Ѷ}D cd 쥦ͪؿ(modules-x.y.z)Aݤ@U
READMEAMӦw˫ܰ (q`²AN make install )D MAb
/sbin ӷ|oǵ{ insmod, rmmod, ksyms, lsmod, genksyms, modprobe, H
depmodD pGAQܡAiH insmod ̪dXʵ{``hw''ӴճoǤu; Ѩ
INSTALL ɸ̪Ӹ`D

insmod ON@ӼҲմJB椤֤ߡDҲճq|H .o ;
W쪺dҵ{Ns drv_hello.oA]nJҲաAN `insmod
drv_hello.o'D nFѥثe֤ߥbϥΪҲաA lsmod ODXݰ_ӹo:

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


`drv_hello' OoҲժW١AΤF@ (4K)
OAӥBثeS䥦֤߼Ҳը̿󥦡D nҲաA `rmmod
drv_hello'D`N rmmod ݭnOҲզW١AӤOɮצW; NOAq lsmod
OCXӪDlu㪺@ΦbuWUD

9.2  P֤ߵo檺Ҳ

b 2.0.30 AXGҦF賣iHܦiJҲաD
nϥΥiJҲաATwASNtm쥿`֤߸̡A]NOAb `make con
fig' ɤO^ yD sĶs֤ߨåΥӶ}DMAA cd 
/usr/src/linuxAM `make modules'D
oNsĶҦAwb֤߰tm̪ҲաAñNs /usr/src/linux/modulesD
AiHѦؿϥΡAάO `make modules_install' Nw˨ /lib/mod
ules/x.y.zA䤤 x.y.z O֤ߪD

oBzɮרtΤWSOKQDAiäg`ϥ minix  MS-DOS ɮרtΡD
ҦpApGڹJ@ MS-DOS nФAڷ| insmod /usr/src/linux/mod
ules/msdos.oAæbϥΧ rmmod msdos ONhD
L{jiH`ٮ֤ 50K kOD minix
ɮרtΦ@In`NNOA
Fnϥ``ϺϤ''AA`ONtm֤ߤD










Kernel HOWTO Ķ							     17



10.  䥦tmﶵ

`]AFbtm@`CX֤߰tmﶵ(b make config )D
j]Xʵ{åCXD

10.1  General setup (@]w)

Normal floppy disk support (@nФ䴩) - NOoӡD Ai|Qݤ@U
drivers/block/README.fd oɮ;  IBM Thinkpad ϥΪ̨ӻSOnD

XT harddisk support (XT wФ䴩) - pGAQΦѥjK줸 XT ܡD

PCI bios support (PCI bios 䴩) - pGA PCIAAi|Q}ﶵD
npߡAYª PCI DObﶵUi|Dh PCI ׬yƦb Linux
UϥΪTiHb PCI-HOWTO ̧D

Kernel support for ELF binaries (֤ߤ䴩 ELF ) - ELF
O@طsGiɡD Linux G¦VeiAҥHAi|noӡD

Set version information on all symbols for modules -
bLhA֤߼ҲջPCӷs֤ߤ@_QsĶD pGA^ yAiAϥΤP
patchlevel UsĶҲաD Ѩ README.modules ԲӻD

10.2  Networking options (ﶵ)

ﶵb NET-3-HOWTO (άO NET--HOWTO)yzD


11.  ZMޥ

11.1   make άO patch OX

pGAQnOo `make' άO `patch' O쩳FǤA
AiHùXɨ@ɮץhDAnDAΪOO@ shellG `grep
root /etc/passwd' MMݰ_ӹ `/bin/csh' @FD

pGAϥΪO sh άO bashA

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


N|@ (command) X `(output file)' oɮץhD

pGO csh  tcshA

	 (command) |& tee (output file)


oӻykD

pGO rc (`NGAӤ|O rc)AykO

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









Kernel HOWTO Ķ							     18



11.2  󦡪֤ߦw

FϥγnФA٦ƺئb®֤ߪpUշs֤ߪkD 䥦 Unix
tΡALILO 㦳qaҰʮ֤ߪOD (LpGAjwСAWL 500 MB
AаѦ LILO 󻡩Niް_DD) ]ApGAb LILO
tmɮפιo˪

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


AiHb®֤ /vmlinuz pUܰssĶ֤(MAb槹 lilo
)D s LILO Ұʷs֤߳²檺kNObҰʮɫU shift (Abùuݨ
LILO )A o|A@ܲŸDɧAiHJ `new_kernel' ӱҰʷs֤ߡD

pGAQbtΤPɫOƺؤP֤߭l{X(pߡAo|αjqwЪŶ)A
̴qkNONRW /usr/src/linux-x.y.zA䤤 x.y.z O֤ߪD
MAiHβŸs``''@lX; ҦpA `ln -sf linux-1.2.2
/usr/src/linux' | 1.2.2 ثe֤߾D bإ߲ŸseATw ln
O̫@ӰѼƤO@ӯuؿ(ªŸsSY);
_hGiण|OAҹwD

11.3  ֤ߧs

Russell Nelson (nelson@crynwr.com) `Fs֤ߪܡD
oǬO²uAӥBAbɯūeiӥݤ@UDiHqΦW FTP  ftp.emlist.com
 pub/kchangesA


12.  䥦iΪ HOWTOs

     Sound-HOWTO: ĥdPu

     SCSI-HOWTO: Ҧ SCSI dP]ƪT

     NET-2-HOWTO: 

     PPP-HOWTO: SO PPP 

     PCMCIA-HOWTO: OqXʵ{

     ELF-HOWTO: O ELFApഫK

     Hardware-HOWTO: 䴩w骺n

     Module-HOWTO: hP֤߼Ҳզ

     Kerneld mini-HOWTO:  kerneld

     BogoMips mini-HOWTO: Ai|쪺












Kernel HOWTO Ķ							     19



13.  

13.1  @

Linux Kernel-HOWTO @̤κ@HO Brian Ward (bri@blah.math.tu-graz.ac.at)D
бNסAɥRP󥿱H(󥿹ڨӻOSOn)D

AiHqo URL ڪ:





MھiahBzqllAаOڨCѳjqHAҥHin@Iɶ~|^ЧAD
SOOHHӰݧڰDAоqD`MPԺɦayzATD
pGAOYӵLkB@w()AڻݭnDAwtmOD
pGAn^~AnuO``ڳo˸զڷ|~T'';
ڻݭnDoӿ~TOD ڥi]QDA֤ߡAgccAlibc
OApGAuOiDڧAΪOoөΨӮMASΡD
ڤNAݧ²檺D; аOApGAݡAANû|oѵD
ڭnP¨Cӵڦ^XH̡D

pGAgHڦb@qXzɶSo^(TPΧ[)Aiڤp߬屼FAHνѦp(p)D
ЦAդ@D

ڦ\hHOwDDoSDAФFѧڨäOx@ɤWҦw骺HӥBڤ]Dگh֦D
ڭӤHϥΪ IDE P SCSI wСASCSI оA3Com P WD
AӺdACƹA PCI DOANCR 810 SCSI AAMD 386DX40 w/Cyrix
UBzAAMD 5x86AAMD 486DX4 P Intel 486DX4 Bz
(ouOڦbϥΦӥBxwKnAäOĳApGAQnΡAwӸ߰ :-)
)D

0.1  1994 ~QTDiH SGML, PostScript, TeX, roff
P¤r榡oD

13.2  wwؼ

``ZMޥ'' @`Ӥ֤FDڧƱαqOHo쪺ĳXRD

``[M'' @`]OD

ٻݭnh/^_TD

13.3  ^m

]tF@p Linus  README ɮ (kernel hacking ﶵ)DP Linus!

uc@brian.lunetix.de (Ulrich Callmeier): patch -s and xargs.

quinlan@yggdrasil.com (Daniel Quinlan): corrections and additions in many sec
tions.

nat@nat@nataa.fr.eu.org (Nat Makarevitch): mrproper, tar -p, many other things









Kernel HOWTO Ķ							     20



boldt@math.ucsb.edu (Axel Boldt): collected descriptions of kernel configura
tion options on the net; then provided me with the list

lembark@wrkhors.psyber.com (Steve Lembark): multiple boot suggestion

kbriggs@earwax.pd.uwa.edu.au (Keith Briggs): some corrections and suggestions

rmcguire@freenet.columbus.oh.us (Ryan McGuire): makeables additions

dumas@excalibur.ibp.fr (Eric Dumas): French translation

simazaki@ab11.yamanashi.ac.jp (Yasutada Shimazaki): Japanese translation

jjamor@lml.ls.fi.upm.es (Juan Jose Amor Iglesias): Spanish translation

mva@sbbs.se (Martin Wahlen): Swedish translation

jzp1218@stud.u-szeged.hu (Zoltan Vamosi): Hungarian translation

bart@mat.uni.torun.pl (Bartosz Maruszewski): Polish translation

donahue@tiber.nist.gov (Michael J Donahue): typos, winner of the ``sliced bread
competition''

rms@gnu.ai.mit.edu (Richard Stallman): ``free'' documentation concept/distribu
tion notice

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

esr@snark.thyrsus.com (Eric Raymond): various tidbits

HHڰݰDH]ܤjUD

13.4  vnAiAѦp

Copyright  Brian Ward, 1994-1997.

Permission is granted to make and distribute copies of this manual provided the
copyright notice and this permission notice are preserved on all copies.

Permission is granted to copy and distribute modified versions of this manual
under the conditions for verbatim copying, provided that the derived work is
distributed under the terms of a permission notice identical to this one.
Translations fall under the catagory of ``modified versions.''

Warranty: None.

Recommendations: Commercial redistribution is allowed and encouraged; however,
it is strongly recommended that the redistributor contact the author before the
redistribution, in the interest of keeping things up-to-date (you could send me
a copy of the thing you're making while you're at it). Translators are also
advised to contact the author before translating. The printed version looks
nicer. Recycle.









Kernel HOWTO Ķ							     21





































































				   CONTENTS



1.  ² .................................................................... 1
    1.1  Хݦ! .......................................................... 1
    1.2  峹满 ....................................................... 2

2.  nDPѵ .......................................................... 2
    2.1  ޫˡA֤ߨ쩳O? .................................... 2
    2.2  ڬns֤?  ............................................... 2
    2.3  s֤ߤ䴩ǵw? ............................................ 2
    2.4  ڻݭnӪ gcc άO libc ? ................................... 2
    2.5  OiJҲ? .................................................. 2
    2.6  ڻݭnhjϺЪŶ? .............................................. 3
    2.7  oݭnh[ɶ? .................................................. 3

3.  pui֤ߪtm? ................................................. 3
    3.1  ol{X ..................................................... 3
    3.2  Ѷ}l{X] ............................................... 4
    3.3  tm֤ ........................................................... 4
    3.4  {bO? (The Makefile)  ............................................ 8

4.  sĶ֤ ................................................................ 8
    4.1  MPT{ ......................................................... 8
    4.2  sĶɴ ........................................................... 8
    4.3  LiH``make''F ............................................. 8
    4.4  wˮ֤ ........................................................... 8

5.  ׸ɮ֤ ................................................................ 9
    5.1  ϥέ׸ ......................................................... 9
    5.2  pG~o .................................................... 10
    5.3  屼 .orig ɮ ................................................... 10
    5.4  䥦׸ ...................................................... 11

6.  [M ............................................................. 11
    6.1  kbd ............................................................... 11
    6.2  util-linux ........................................................ 11
    6.3  hdparm ............................................................ 11
    6.4  gpm ............................................................... 11

7.  @ǳ ............................................................... 11
    7.1  make clean  ....................................................... 12
    7.2  jνwC֤ .................................................. 12
    7.3  ֤ߵLksĶ ...................................................... 12
    7.4  s֤ߦGҰ ............................................ 13
    7.5  AѤF LILOAΨtήڥҰ ............................... 13
    7.6  tΪ `warning: bdflush not running'  .......................... 14
    7.7  tλ undefined symbols ӥBLksĶ ............................. 14
    7.8  Lkڪ IDE/ATAPI CD-ROM `u@ .............................. 14
    7.9  t obsolete routing requests _ǰT ................. 15
    7.10 Lkb 1.2.0 Wu@ ...................................... 15
    7.11 ``Not a compressed kernel Image file'' (DY֤߬M) ......... 15
    7.12


				       i









	 ɯŦ 1.3.x bx׺ݾWD ............................. 15
    7.13 ֤ߤɯūGLksĶF ........................................ 15
    7.14 W[W .......................................................... 15

8.  ɯŦ 2.0.x `Nƶ ................................................ 16

9.  iJҲ ............................................................. 16
    9.1  w˼Ҳդu ...................................................... 16
    9.2  P֤ߵo檺Ҳ .................................................. 16

10. 䥦tmﶵ ........................................................... 17
    10.1 General setup (@]w) .......................................... 17
    10.2 Networking options (ﶵ) ..................................... 17

11. ZMޥ ............................................................. 17
    11.1  make άO patch OX ................................... 17
    11.2 󦡪֤ߦw .................................................. 18
    11.3 ֤ߧs .......................................................... 18

12. 䥦iΪ HOWTOs .............................................. 18

13.  ................................................................... 19
    13.1 @ .............................................................. 19
    13.2 wwؼ .......................................................... 19
    13.3 ^m ............................................................ 19
    13.4 vnAiAѦp ......................................... 20






























				       ii


