<!doctype linuxdoc system>
<!-- This is the Linux Kernel HOWTO, SGML source -- >
<!-- ¤¤¤åÂ½Ä¶ ¶À§Ó°¶ -->
<!-- doctype linuxdoc system -->

<article>

<title>Kernel HOWTO ¤¤Ä¶ª©

<author>
§@ªÌ: Brian Ward <tt><htmlurl url="mailto:bri@blah.math.tu-graz.ac.at" name="bri@blah.math.tu-graz.ac.at"></tt><newline>

Ä¶ªÌ: <htmlurl url="http://www.phys.ntu.edu.tw/~cwhuang/pub/" name="C.W.Huang">
&amp; <htmlurl url="http://ultima.ncnu.edu.tw/~asdchen/" name="Asd L. Chen">

<date>v0.80, 26 May 1997.
Â½Ä¶¤é´Á: 25-29 August 1997

<abstract>
³o¬O¤@¥÷Ãö©ó¦p¦ó°t¸m¡B½sÄ¶¡B¤É¯Å®Ö¤ß¥H¤Î±ÆÃø¸Ñ¯Éªº¸Ô²Ó«ü¤Þ¡D
</abstract>

<toc>

<sect>Â²¤¶
<p>
§A¬O§_»Ý­n¾\Åª³o¥÷¤å¥ó? ¦pªG§A¦³¤U¦C¥ô¦ó¯gª¬¤§¤@ªº¸Ü¡A¬Oªº¡G
<p>
<itemize>
<item> ``«u§r¡I³o®M wizzo-46.5.6 ³nÅé»¡¥¦»Ý­n 1.8.193 ª©ªº®Ö¤ß¡A¦Ó§Ú«o¤´µM¥u¦³ 1.0.9 ª©¡I''
<item> ¤ñ¸û·sªº®Ö¤ß¤§¤@ùØ­±¦³§A¥¿¦n»Ý­nªº¤@­Ó³]³ÆÅX°Êµ{¦¡¡D
<item> §A¹ï©ó¦p¦ó½sÄ¶®Ö¤ß¯uªº¤@µL©Òª¾¡D
<item> ``¦b README ÀÉ®×¸Ì­±<it>¯uªº</it>´N¬O¥þ³¡ªº¸ê®Æ¤F¶Ü?''
<item> §A¨Ó¡A§A¸Õ¡A¥¦ÁÙ¬O¤£°Ê¡D
<item> §A»Ý­n¬Y¨Æµ¹¤©¤@ª½­n¨D§A¬°¥L­Ì¦w¸Ë®Ö¤ßªº¤H­Ì¡D
</itemize>

<sect1>½Ð¥ý¬Ý¦¹!
<p>
³o¥÷¤å¥ó¤¤ªº¬Y¨Ç½d¨Ò°²³]§A¦³ GNU <tt>tar</tt>¡A<tt>find</tt> ¥H¤Î <tt>xargs</tt>¡D
³o¨Ç¬O Linux ®M¥ó¸Ìªº¼Ð·Ç¤u¨ã¡AÀ³¸Ó¤£¬O°ÝÃD¡D
¤å¥ó¤¤¤]°²³]§Aª¾¹D§A¨t²ÎªºÀÉ®×¨t²Î¬[ºc¡A¦pªG§A¨Ã¤£ª¾¹D¡A³Ì¦n»°§Ö¼g¤U¤@¥÷ mount «ü¥O¦b¨t²Î¥¿±`¹B§@¤U¡A©ÒÅã¥Üªºµ²ªG§@¬°°Ñ¦Ò(©ÎªÌ¬O¤@¥÷ /etc/fstab ªº¦Cªí¡A¦pªG§A¯à°÷¬Ý±oÀ´)¡D
³o¨Ç¸ê°T«Ü­«­n¡A¦Ó¥B¡A°£«D§A­«·s¤À³Î©Î¥[¤J·sªººÏºÐ¡A­«·s¦w¸Ë§Aªº¨t²Î¥H¤Î°µ½Ñ¦p¦¹Ãþªº¾Þ§@¡A§_«h¥¦­Ì¤£·|ÅÜ°Ê¡D
<p>
¥»¤å¼g§@®É³Ì·s``²£«~''ªº®Ö¤ßª©¥»¸¹½X¬O 2.0.30¡A¤]´N¬O»¡¥»¤åªº°Ñ¦Ò¤Î¨Ò¤l¬O¹ïÀ³©ó¸Óª©¥»ªº¡D
ÁöµM§Ú¹Á¸ÕÅý³o½g¤å³¹¾¨¶q¸òª©¥»µLÃö¡A®Ö¤ß«o¤£Â_¦a¦bµo®i¤¤¡D
¦]¦¹¦pªG§A¨ú±o¤@·sªºª©¥»¡A¥¦¤£¥iÁ×§K¦a·|¦³¤@¨Ç¤£¦P¡D
·íµM¡A³oÀ³¸Ó¤£·|³y¦¨¤j°ÝÃD¡A¦ý¥¦¥i¯à·|»s³y¤@¨Ç²V²c¡D
<p>
¦³¨âºØª©¥»ªº Linux ®Ö¤ß­ì©l½X¡A``²£«~'' »P ``µo®i¤¤'' ªº¡D
²£«~ª©¥»±q 1.0.x ¶}©l¦Ó¥B¥Ø«e¬O¥H°¸¼Æ½s¸¹µoªíªº; 1.0.x ¬O²£«~¡A1.2.x ¬O²£«~¡A
2.0.x ¤]¬O¡D³o¨Çª©¥»À³¸Ó¤ñ¸ûÃ­©w¡A¦bµoªí®É¬O¨S¦³¯äÂÎ(bug)ªºª©¥»¡D
µo®i¤¤ªº®Ö¤ß (1.1.x, 1.3.x µ¥µ¥) ¬O§@¬°´ú¸Õ¥Îªº¡Aµ¹¨º¨Ç·Q­n´ú¸Õ³Ì·s¦Ó¥B¥i¯à¦³³\¦h¯äÂÎªº¤H¥Îªº¡D
¤w¸gÄµ§i¹L§A¤F¡D

<sect1>¤å³¹­·®æ»¡©ú
<p>
¬Ý°_¨Ó¹³³o¼Ë <tt>text</tt> ªº¤å¦r©ÎªÌ¬O¬Y¼Ë±N¥X²{§Aªº¿Ã¹õ¤WªºªF¦è¡A¤@­ÓÀÉ¦W¡A
©Î¬O¬Y¼Ë¥i³Qª½±µÁä¤JªºªF¦è¡A¹³¬O©R¥O¡A©Î©R¥Oªº¿ï¶µ(¦pªG§A¬Ýªº¬O¯Â¤å¦rÀÉ®×¡A¥¦¬Ý°_¨Ó¨S¤°»ò¤£¦P)¡D
©R¥O»P¨ä¥¦ªº¿é¤J¸g±`³Q®Ø°_¨Ó(¥Î` ')¡A³o¸g±`¤Þ°_¨å«¬ªº¼ÐÂI²Å¸¹°ÝÃD:
¦pªG³o¼Ëªº¶µ¥Ø¥X²{¦b¥y¤lªº³Ì«á­±¡A¤H­Ì®É±`·|¦b©R¥O«á­±¥[¤W¤@¥y¸¹ `.'¡A
¦]¬°¬ü°ê¤Hªº¤Þ¸¹²ßºD±N¥y¸¹©ñ¤J¤Þ¸¹¸Ì­±¡D
§Y¨Ï¥Î±`ÃÑ(¦Ó¤£©¯ªº¬O¡A³o°²³]¤F¾Ö¦³¦¹``±`ÃÑ''ªº¤H¬O²ßºD©ó¬ü°ê¦¡ªº¤Þ¸¹)·Q¤]ª¾¹DÀ³¥ý±N³o¼ÐÂI¥h±¼¡A¦ý«Ü¦h¤HÁ`¬O§Ñ°O¡D
©Ò¥H¦b¦¹±¡§Î¤U§Ú±N¥y¸¹©ñ¦b¤Þ¸¹¥~ÀY¡D´«¥y¸Ü»¡¡A·í§Ú¥s§A­n¥´ ``<tt>make config</tt>'' ®É¡A
§Ú·|¼g `<tt>make config</tt>'¡A¦Ó¤£¬O `<tt>make config</tt>.'¡D

<sect>­«­n°ÝÃD»P¸Ñµª
<p>
<sect1>¤£ºÞ«ç»ò¼Ë¡A®Ö¤ß¨ì©³¬O°µ¤°»òªº?
<p>
¦b Unix ¨t²Î¤¤¡A¹³¬O§Aªºµ{¦¡»PµwÅéªº¤@­Ó¥òµôªÌ¡D
­º¥ý¡A¥¦¬°©Ò¦³°õ¦æ¤¤ªºµ{¦¡(µ{§Ç)°µ°O¾ÐÅéºÞ²z¡A
¨Ã¥B½T«O¥¦­Ì³£¯à°÷¥­§¡(©Î¤£¥­§¡¡A¦pªG§AÄ@·N)ªº¤À¨É³B²z¾÷ªº¹Bºâ¸ê·½¡D
¦¹¥~¡A¥¦ÁÙ´£¨Ñ¤F¤@­Ó¨}¦nªº¤¶­±Åý­è­è´£¨ìªºµ{¦¡¯à³z¹L¥¦»P§AªºµwÅé·¾³q¡D
<p>
¨ä¹ê®Ö¤ß©Ò³B²zªº¤u§@¤ñ³oÁÙ­n§ó½ÆÂø¤@¨Ç¡A¤£¹L³o¨Ç°ò¥»ªº¥\¯à¬O³Ì¥²­nª¾¹Dªº¡D

<sect1>§Ú¬°¤°»ò­n§ó·s®Ö¤ß? 
<p>
¤ñ¸û·sªº®Ö¤ß¤@¯ë¨Ó»¡·|´£¨Ñ§ó±jªº¯à¤O¨Ó»P§ó¦hºØ©_©_©Ç©ÇªºµwÅé·¾³q(¤]´N¬O»¡¡A¥¦­Ì¾Ö¦³§ó¦hªº³]³ÆÅX°Êµ{¦¡)¡A
¥¦­Ì¯à°÷¦³§ó¦nªº¦æµ{ºÞ²z¡A¥¦­Ì¯à°÷°õ¦æªº¤ñÂÂªºª©¥»§ó¦³®Ä²v¡A¥¦­Ì¥i¯à¤ñÂÂªºª©¥»¨Óªº§óÃ­©w¡A¦Ó¥B¥¦­Ì­×¥¿¤FÂÂª©¸Ìªº¤@¨Ç¿ù»~¡D
¤j³¡¤Àªº¤H¬O¦]¬°¥L­Ì»Ý­n¨º¨Ç·sªº³]³ÆÅX°Êµ{¦¡¥H¤Î¿ù»~­×¥¿ªº³¡¥÷¦Ó§ó·s®Ö¤ß¡D

<sect1>¸û·sªº®Ö¤ß¤ä´©¨º¨ÇµwÅé?
<p>
½Ð¬Ý <htmlurl url="Hardware-HOWTO.html" name="Hardware-HOWTO"> ¤å¥ó¡D
¥t¤@­Ó¤èªk¬O¡A§A¥i¥H¬d¬Ý Linux ­ì©lµ{¦¡½X¤¤ªº `<tt>config.in</tt>' ÀÉ¡A
©ÎªÌ´N¦b·í§A¸ÕµÛ¥h `<tt>make config</tt>' ®É§ä¥X¨Ó¡D
`<tt>make config</tt>' ±N·|Åý§A¬Ý¨ì¼Ð·Çªº®Ö¤ß­ì©lµ{¦¡½X¤ä´©ªº©Ò¦³µwÅé¡A¦ý³o¨Ã¤£¬O Linux ©Ò¤ä´©ªº¥þ³¡µwÅé¡F
³\¦h´¶³qªº³]³ÆÅX°Êµ{¦¡(¹³¬O PCMCIA ÅX°Êµ{¦¡¥H¤Î¬Y¨ÇºÏ±a¾÷ªºÅX°Êµ{¦¡)¬O­Ó§OºûÅ@¤Îµo¦æªº¥i¸ü¤J¼Ò²Õ¡D

<sect1>§Ú»Ý­n¨º­Óª©¥»ªº gcc ©Î¬O libc ?
<p>
Linus ¹ï³o­Ó°ÝÃDªº«ØÄ³©ñ¦b Linux ­ì©lµ{¦¡ªº <tt>README</tt> ÀÉ®×ùØÀY¡D
¦pªG§A¨S¦³¸Óª©¥»©Î¬O§ó·sªºª©¥»¡A·sª©ªº gcc À³¸Ó·|§i¶D§A¬O§_»Ý­n§ó·s libc ªºª©¥»¡D
³o¨â­Ó¾Þ§@³£¤£·|¦³¤°»ò°ÝÃD¡A¥u­n·ÓµÛ»¡©ú°µ´N¥i¥H¤F¡D

<sect1>¤°»ò¬O¥i¸ü¤J¼Ò²Õ?
<p>
¥¦­Ì¬O®Ö¤ßªº¤@³¡¤À(³q±`¬O³]³ÆÅX°Êµ{¦¡)¡A¦ý¬O¨Ã¨S¦³½sÄ¶¨ì®Ö¤ß¸Ì­±¥h¡D
¥¦­Ì³Q¤À§O½sÄ¶¡AµM«á´X¥G¥i¥H¦b¥ô¦ó®É­Ô±N¥¦­Ì´¡¤J¹B§@¤¤ªº®Ö¤ß©Î±q¤¤¨ú¥X¡D
¥Ñ©ó¥¦ªº«K§Q©Ê¡A³o¤w¸g¦¨¬°¤@ºØ¼W¥[ªF¦è¨ì®Ö¤ß¸Ì¥hªº¸û¦n¤è¦¡¡D
³\¦h±`¥Îªº³]³ÆÅX°Êµ{¦¡¡A¨Ò¦p PCMCIA ÅX°Êµ{¦¡¥H¤Î QIC-80/40 ºÏ±a¾÷ªºÅX°Êµ{¦¡´N¬O¥i¸ü¤J¼Ò²Õ¡D

<sect1>§Ú»Ý­n¦h¤jªººÏºÐªÅ¶¡?
<p>
³o»P§A¨t²Îªº¯S®í°t¸m¦³Ãö¡D­º¥ý¡AÀ£ÁY¹L«áªº Linux ­ì©lµ{¦¡½X¦b 2.0.10 ª©®É¬ù¦û 6 MB¡D
³\¦h¯¸¥x¦b¸ÑÀ£ÁY«á¤´·|«O¯d¤@¥÷¡D¸ÑÀ£ÁY¥H«á³o±N¦û±¼¬ù 24 MB¡D
¦ý³oÁÙ¤£¬O¥þ³¡ ¢w §A±N·|»Ý­n§ó¦hªººÏºÐªÅ¶¡¨Ó¹ê»Ú½sÄ¶³o¨ÇªF¦è¡D
³o»P§A°t¸m¦h¤ÖªF¦è¨ì§Aªº®Ö¤ß¸ÌÀY¥h¦³Ãö¡D¨Ò¦p¡A¦b¬Y³¡¾÷¾¹¤W¡A§Ú¦³ºô¸ô¡A3Com 3C503 ªºÅX°Êµ{¦¡¡A
¨Ã¥B°t¸m¤F¤TºØÀÉ®×¨t²Î¡A¦Ó³o¥þ³¡¦@»Ý­n 30 MB¡D¥[¤WÀ£ÁY¹Lªº linux  ­ì©lµ{¦¡½X¡A³o­Ó°t¸m¤j·§»Ý­n¥Î±¼§A 36MB ¡D
¦b¥t¥~¤@­Ó¨t²Î¤W¡A¤£»Ý­n¤ä´©ºô¸ô³]³Æ(¦ý¤´µM»Ý­n¤ä´©ºô¸ô)¡A¥[¤W­µ®Ä¥d¡Aµ²ªG¦Y±¼§ó¦hªÅ¶¡¡D
ÁÙ¦³¡A¤@­Ó·sª©¥»ªº®Ö¤ß´X¥GÁ`¬O¤ñÂÂª©¥»ªº¦û§ó¤jªºªÅ¶¡¡D
©Ò¥H¡A¤@¯ë¨Ó»¡¡A¦pªG§A¦³³\¦hºØµwÅé³]³Æªº¸Ü¡A½T©w§A¦³¨¬°÷ªºµwºÐªÅ¶¡¨Ó®e¯Ç³o­Ó°t¸m¡D
(¥H¤µ¤éªº»ù®æ¨Ó»¡¡A¹ï©óÀx¦sªÅ¶¡ªº°ÝÃD§Ú¤£¯à¤£«ØÄ³§A¦A¶R¤@¥xºÏºÐ¾÷¡D)

<sect1>³o»Ý­n¦h¤[ªº®É¶¡?
<p>
¹ï¤j³¡¥÷ªº¤H¦Ó¨¥¡Aµª®×¬O``«Ü¤[''¡D§Aªº³B²z¾÷³t«×¦³¦h§Ö¡A¥H¤Î§A¾Ö¦³ªº°O¾ÐÅé¼Æ¶q¦³¦h¤Ö±N¬O¨M©w©Ò»Ý®É¶¡ªº¥D­n¦]¯À¡A
¦ý¬O¡A¦b§â¦h¤ÖªF¦è°t¸m¨ì®Ö¤ß¸ÌÀY¥h³o¤è­±ÁÙ¬O¥i¥H°µÂI§V¤O¡D
¦b¤@¥x¦³ 16 MB °O¾ÐÅéªº 486DX4-100 ¹q¸£¤W¡A¤@­Ó¦³¤­ºØÀÉ®×¨t²Î¡B¤ä´©ºô¸ô¡B¥H¤Î­µ®Ä¥dÅX°Êµ{¦¡ªº 1.2 ª©®Ö¤ß¥i¥H¦b¤G¤Q¤ÀÄÁ¥H¤º§¹¦¨¡D
Ãþ¦üªº°t¸m¡A¦b¤@¥x 386DX/40(8 MB °O¾ÐÅé)¤W¤j¬ù»Ý­n­n 1.5 ­Ó¤p®É¡D
¦b½sÄ¶®Ö¤ß®É³q±`¤@¨Ç¦nªº«ØÄ³¬O¥h³Ü¤@ÂI©@°Ø¡A¬ÝÂI¹qµø¡AÂ´¨Ç¤ò½u¡A©Î¥ô¦ó§A³ßÅwªº¨Æ¡D
¦pªG§Aªº¾÷¾¹¯uªº«ÜºCªº¸Ü§A¤]¸Ó´«¥x¸û§Öªº¾÷¾¹¡D

<sect>¦p¦ó¯u¥¿¶i¦æ®Ö¤ßªº°t¸m?
<p>
<sect1>¨ú±o­ì©lµ{¦¡½X
<p>
§A¥i¥H¸g¥Ñ°Î¦W ftp ¯¸±q <tt>ftp.funet.fi</tt> ªº <tt><htmlurl url="ftp://ftp.funet.fi/pub/Linux/PEOPLE/Linus" name="/pub/Linux/PEOPLE/Linus"></tt>¡A
©Î¬O¨ä¥¦ MIRROR ¯¸¨ú±o¡D([<tt/Ä¶µù/] ¥xÆW¥i±q <tt><htmlurl url="ftp://ftp.edu.tw/OS/Linux/kernel" name="ftp.edu.tw"></tt> ¨ú±o¡D)
ÀÉ®×¦WºÙ¤@¯ë¬O¥H¼Ð°O¦¨ <tt>linux-x.y.z.tar.gz</tt> ¬°¥Nªí¡A¨ä¤¤ªº <tt>x.y.z</tt> ¬Oª©¥»½s¸¹¡D
¸û·sªº(§ó¦nªº?)ª©¥»¥H¤Î­×¸ÉÀÉ¤@¯ë¬O©ñ¦bÃþ¦ü `<tt>v1.1</tt>' ¥H¤Î `<tt>v1.2</tt>' ³o¼Ëªº¤l¥Ø¿ý¤U¡D
¼Æ¦r³Ì¤jªº¬O³Ì·sªºª©¥»¡A¦Ó¥B³q±`¬O``´ú¸Õª©''¡A¤]´N¬O»¡¦pªG§A¹ï beta ©Î alpha ª©·P¨ì¤£¦wªº¸Ü¡A§AÀ³¸Ó°±¯d¦b¥D­nªºµo¦æª©¥»¤W¡D
<p>
<it>±j¯P</it>«ØÄ³§A¥h§ä mirror ªº ftp ¸`ÂI¡A¦Ó¤£­nª½±µ¨ì <tt>ftp.funet.fi</tt> ¥h! 
©³¤U¬O¤@¨Ç mirrors ¥H¤Î¨ä¥L¸`ÂIªºÂ²­n¦Cªí:
<p>
<verb>
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
</verb>

¤@¯ë¨Ó»¡¡A<tt>sunsite.unc.edu</tt> ªº mirror ¯¸¬O«Ü¦n§äªº¡D
ÀÉ®× <tt>/pub/Linux/MIRRORS</tt> ¥]§t¤F¤wª¾ªº mirror ¸`ÂI¡D
¦pªG§A¨S¦³¿ìªk¤W ftp ¡A¦³­Ó¦s©ñ linux ªº BBS ¨t²Î¦Cªí·|©w´Á¥Zµn¦b comp.os.linux.announce ¤W¡A¸ÕµÛ¨ì¨ºÃä¥h§ä¤@¤U¡D
<p>
¦pªG§A·Q´M§ä¤@¯ëªº Linux ¸ê°T»P®M¥ó¡A¥h <tt><htmlurl url="http://www.linux.org/" name="http://www.linux.org/"></tt>¡D

<sect1>¸Ñ¶}­ì©lµ{¦¡½Xªº¥]¸Ë
<p>
½T©w§A¬O¥H`<tt>root</tt>'ªº¨­¥÷Ã±¤J¡AµM«á <tt>cd</tt> ¨ì <tt>/usr/src</tt>¡D 
¦pªG§A¦w¸Ë Linux ®É¤w¸g¦w¸Ë¤F®Ö¤ß­ì©lµ{¦¡½X¡A¦b³o­Ó¥Ø¿ý©³¤UÀ³¸Ó¤w¸g¦s¦b¤@­Ó¥s°µ `<tt>linux</tt>' ªº¤l¥Ø¿ý¡D
³o¬OÂÂª©ªº linux ­ì©lµ{¦¡½X¡D¦pªG§AÁÙ¦³ºÏºÐªÅ¶¡¦Ó¥B·Q­nª±±o¦w¥þ¤@ÂI¡A¨º»ò§A·|·Q­n«O¯d³o­Ó¤l¥Ø¿ýªº¡D
¦³­Ó¦n¥D·N¬O®Ú¾Ú§A¥Ø«e¨Ï¥Îªº®Ö¤ßª©¥»¨Ó­×§ï³o­Ó¤l¥Ø¿ýªº¦WºÙ¡D
`<tt>uname -r</tt>' ³o­Ó«ü¥O±N·|§i¶D§A¥Ø«eªº®Ö¤ßª©¥»¡D
©Ò¥H¡A¦pªG `<tt>uname -r</tt>' Åã¥Ü `<tt>1.0.9</tt>'¡A§A´N¥i¥H§â `<tt>linux</tt>' §ï¦W(¥Î `<tt>mv</tt>')¬° `<tt>linux-1.0.9</tt>'¡D
¦pªG§A¬O­Ó¾|²õ«¬ªº¤H¡A¨º´Nª½±µ§â³o­Ó¤l¥Ø¿ý²M°£±¼¡D
µL½×¬O­þ¤@ºØ±¡ªp¡A¤Ï¥¿¥u­n½T©w¦b¸Ñ¶}¥þ³¡ªº­ì©lµ{¦¡½X¤§«e¡A<tt>/usr/src</tt> ¥Ø¿ý¤U¨S¦³ `<tt>linux</tt>' ³o­Ó¤l¥Ø¿ý´N¹ï¤F¡D

<p>
¦b <tt>/usr/src</tt> ¥Ø¿ý¤U¡A¥Î `<tt>tar zxpvf linux-x.y.z.tar.gz</tt>' ¨Ó¸Ñ¶}­ì©lµ{¦¡½Xªº¥]¸Ë
(¦pªG§A®³¨ìªº¬O <tt>.tar</tt> ªºÀÉ®×¡A«á­±¨S¦³¥[¤W <tt>.gz</tt>¡A¨º´N¥Î `<tt>tar xpvf linux-x.y.z.tar</tt>')¡D
§A±N·|¬Ý¨ì­ì©lµ{¦¡ªº¤º®e­¸³u¦Ó¹L¡D·í¥¦§¹¦¨¥H«á¡A¦b <tt>/usr/src</tt> ±N·|¥X²{¤@­Ó·sªº `<tt>linux</tt>' ¤l¥Ø¿ý¡D
<tt>cd</tt> ¨ì <tt>linux</tt> ¥Ø¿ý¤UµM«á¬d¬Ý <tt>README</tt> ÀÉ¡A
¸Ì­±À³¸Ó·|¦³¤@¬q¼ÐÃD¬° `<tt>INSTALLING the kernel</tt>' ©ÎÃþ¦üªº¤å¦r¡D
¦pªG¾A·íªº¸Ü¡A¥ý¨Ì·Ó»¡©ú¸Ìªº«ü¥Ü ¢w «Ø¥ß¸Ó¦³ªº²Å¸¹Ãìµ²¡A²¾°£¹L®Éªº .o ÀÉ®×µ¥µ¥µ¥½Ñ¦p¦¹Ãþªº¤u§@¡D

<sect1>°t¸m®Ö¤ß
<p>
ª`·N¡G³o³¡¥÷¤º®e¦³¨Ç¬O­«ÂÐ Linus ªº <tt>README</tt> ÀÉ®×¤¤ªº¬ÛÀ³³¹¸`©Î¥[¥H­×­q¡D

<p>
¦b <tt>/usr/src/linux</tt> ¤U°õ¦æ `<tt>make config</tt>' ³o­Ó©R¥O±N·|±Ò©l¤@­Ó«ü¥O½Z¡A
¦Ó³o­Ó«ü¥O½Z·|°Ý§A¦UºØ°ÝÃD¡D¥¦»Ý­n bash ¡A©Ò¥H­n½T©w bash ¬O <tt>/bin/bash</tt>¡A<tt>/bin/sh</tt> ©Î <tt>&dollar;BASH</tt>¡D

<p>
ÁÙ¦³¨ä¥¦ºØ `<tt>make config</tt>' ªº¤è¦¡§A¥i¯à·|Ä±±o§ó®e©ö¨Ï¥Î¡D
¹ï¨º¨Ç°õ¦æ X Window ªº¤H§A¦pªG¦³¸Ë Tk ªº¸Ü¥i¥H¸ÕµÛ¥Î `<tt>make xconfig</tt>'¡D
`<tt>make menuconfig</tt>' ¬Oµ¹¨º¨Ç¦³¸Ë (n)curses ¦Ó¥B³ßÅw¤å¦r¼Ò¦¡¿ï³æªº¤H¥Îªº¡D
³o¨Ç¬É­±¦³­Ó©úÅãªº¦n³B: ¦pªG¦b°t¸m¹Lµ{¤¤§A¤£¤p¤ß¥Ç¤F¿ù¡A¥i¥HÂ²³æ¦a¦^¥h­×¥¿¡D

<p>
§A²{¦b¸Ó·Ç³Æ¦n¦^µª³o¨Ç°ÝÃD¡A³q±`¥Î `<tt>y</tt>' ©Î `<tt>n</tt>' ´N¥i¥H¤F¡D
³]³ÆÅX°Êµ{¦¡³q±`·|¦³¤@­Ó `<tt>m</tt>' ¿ï¶µ¡D
³oªí¥Ü``¼Ò²Õ(module)''¡Aªí¥Ü»¡¨t²Î±N·|½sÄ¶¥¦¡A¦ý¤£·|ª½±µ©ñ¶i®Ö¤ß¸Ì¡A¦Ó¬O°µ¬°¤@¥i¸ü¤J¼Ò²Õ¡D
¤@­Ó¦³½ìªº»¡ªk¬Oªí¥Ü``maybe''¡D¦³¤@¨Ç«Ü©úÅã©Î¬O¤£­«­nªº¿ï¶µ±N¤£·|¦b¦¹¥[¥H»¡©ú¡D
½Ð¨£``<ref id="other-options" name="¨ä¥¦°t¸m¿ï¶µ">''¤@¸`¹ï¨ä¤¤ªºÂ²µu»¡©ú¡D

<p>
¦b 2.0.x ©Î¥H«áªºª©¥»¤¤¦³¤@­Ó `?' ¿ï¶µ¡A´£¨Ñ¤F³o­Ó°t¸m°Ñ¼ÆªºÂ²µu´y­z¡D
³o¨Ç¸ê°TÀ³¸Ó³£¬O³Ì·sªº¡D

<sect2>Kernel math emulation (®Ö¤ßªº¼Æ¾Ç¹Bºâ¼ÒÀÀ)
<p>
¦pªG§A¨S¦³¼Æ¾Ç»²§U¹Bºâ³B²z¾÷(§A¥u¦³¤@¥x³æ¯Âªº 386 ©Î 486SX)¡A¨º»ò§A¦b
³o¸Ì­n¦^µª `<tt>y</tt>'¡D¦pªG§A¤w¸g¦³¼Æ¾Ç»²§U¹Bºâ³B²z¾÷«oÁÙ¦^µª `<tt>y</tt>'¡A
¨º¤]¤£¥²¤Ó¾á¤ß ¢w linux ÁÙ¬O·|¥h¨Ï¥Î¥¦¦Ó©¿²¤±¼®Ö¤ßªº¼ÒÀÀµ{¦¡¡D
°ß¤@ªº¼vÅT¬O½sÄ¶¥X¨Óªº®Ö¤ßÅÜ¤j¤F(¥Î±¼§ó¦hªº°O¾ÐÅé)¡D
§ÚÅ¥»¡¼Æ¾Ç¹BÂ²¼ÒÀÀ«ÜºC; ÁöµM©M¥»¸`µL¤Ó¤jÃö«Y¡AÁÙ¬OÀ³¸Óª`·N³o¹ï X Window ¨t²Îªº®Ä²v·|¦³«Ü¤j¼vÅT¡D

<sect2>Normal (MFM/RLL) disk and IDE disk/cdrom support (¼Ð·ÇµwºÐ¤ä´©)
<p>
§A¦b³o¸Ì®t¤£¦h³£±o¦^µª `<tt>y</tt>'¡D¥¦¥Nªíªº·N«ä¬O®Ö¤ß±N·|¤ä´©¼Ð·Çªº PC µwºÐ¡A
¨Ò¦p¤j¦h¼Æ¤H¨Ï¥Îªº IDE ¬É­±µwºÐ¡D³o¤£¥]¬A SCSI ³]³Æªº¤ä´©; ³o±N¦b«á­±³]©w¡D

<p>
µM«á§A·|³Q°Ý¨ìÃö©ó ``old disk-only'' »P ``new IDE'' ÅX°Êµ{¦¡ªº¨Æ¡D
§AÀ³¸Ó¨âªÌ¿ï¤@; ¥D­nªº®t§O¬OÂÂªºÅX°Êµ{¦¡¥u¤ä´©³æ¤@¬É­±¨â³¡ºÏºÐ¾÷¡A
¦Ó·sªºÅX°Êµ{¦¡¤ä´©²Ä¤G¬É­±¤Î IDE/ATAPI ¥úºÐ¾÷¡D·sªºÅX°Êµ{¦¡¤ñÂÂªº¤j¬ù¦h 4K¡A
¦Ó¥BÀ³¸Ó¬O``§ï¨}ªº''¡A¤]´N¬O»¡°£¤F¥i¯à¥]§t¨Ç³\¿ù»~¤§¥~¡A¥¦À³¸Ó·|§ïµ½§AªººÏºÐ®Ä²v¡A¯S§O¬O¦pªG§A¦³¸û·sªº EIDE µwÅéªº¸Ü¡D

<sect2>Networking support (ºô¸ô¤ä´©)
<p>
­ì«h¤W¡A¦pªG§A¦³³s±µºô¸ô¡AÄ´¦p»¡¡A§A¦³ Internet ³s½u¡A©Î¬O§A±N¨Ï¥Î SLIP¡APPP¡Aterm ©Î¨ä¥¦¤è¦¡¼·±µ¨ì Internet ¤Wªº¸Ü¡A¦^µª `<tt>y</tt>'¡D
µM¦Ó¡A¬Y¨Ç³nÅé®M¥ó(¨Ò¦p X Window ¨t²Î)»Ý­nºô¸ô¤ä´©¡A§Y¨Ï§Aªº¾÷¾¹¨Ã¤£¯u¥¿³s±µ¨ìºô¸ô¤W¡D³o±¡§Î§A¤]À³¸Ó¦^µª `<tt>y</tt>'¡D
µM«á¡A§A·|³Q°Ý¨ì¬O§_»Ý­n¤ä´© TCP/IP ºô¸ô¡A¦pªG§A¤£¤Q¤À½T©w¡A´N¦^µª `<tt>y</tt>'¡D

<sect2>Limit memory to low 16MB (¨î°O¾ÐÅé¦b 16 MB)
<p>
¥i¯à·|¦³¤@¨Ç¤£¨}ªº 386 DMA ±±¨î¾¹µLªk¥¿½T¦a©w§}¨ì 16 MB ¥H¤Wªº°O¾ÐÅé¦ì§}¡F
¦pªG§Aªº¾÷¾¹­è¦n¦³³oºØ(¨u¨£)±¡ªp®É¡A¨º»ò§A¤]´N¥u¦n¦^µª¡ª y ¡ª¤F¡D

<sect2>System V IPC 
<p>
¤@­Ó IPC (¦æµ{¤º³q°T¡AInterprocess Communication) ªº©w¸q´N¦b Perl ®Ñ¤¤ªºµù¸Ñ¡D
³o¨Ã¤£¤j©_©Ç¡A¤@¨Ç Perl µ{¦¡³]­pªÌ¥Î¥¦¨ÓÅý¦æµ{¤§¶¡¤¬¬Û·¾³q¡A´N¹³³\¦h¨ä¥¦®M¥ó(³ÌµÛ¦W¦p DOOM)¤@¼Ë¡D
¦]¦¹°£«D§A§¹¥þ¤F¸Ñ§A¦b°µ¤°»ò¡A¤£µM³Ì¦n§O¦^µª <tt>n</tt>¡D

<sect2>Processor type (386, 486, Pentium, PPro)	(·L³B²z¾÷ºØÃþ)
<p>
(¦b¸ûÂÂª©¥»ªº®Ö¤ß¤¤¬°: Use -m486 flag for 486-specific optimizations¡A¨Ï¥Î -m486 ºX¼Ð°w¹ï 486 °µ³Ì¨Î¤Æ)
<p>
«ö·ÓºD¨Ò¦a¡A³o¬O¹ï¤@¯S§Oªº·L³B²z¾÷°µ¬YºØ³Ì¨Î¤Æ; ®Ö¤ß¤´¥i¦b¨ä¥¦´¹¤ù¤W¶]±o«Ü¦n¡A¦ý¥i¯à·|¤ñ¸û¤j¨Ç¡D
¤£¹L¡A¦b¸û·sª©¥»ªº®Ö¤ß¤W¡A¤w¸g¤£¬O³o­Ó¼Ë¤l¤F¡D¦]¦¹§AÀ³¸Ó¥¿½T¦a¦^µª§A­n½sÄ¶ªº·L³B²z¾÷ºØÃþ¡D
``386'' ªº®Ö¤ß¥i¥H¦b©Ò¦³ªº¾÷¾¹¤W¤u§@¡D

<sect2>SCSI support (SCSI ªº¤ä´©)
<p>
¦pªG§A¦³ SCSI ³]³Æ¡A¨º»ò´N¦^µª `<tt>y</tt>'¡D
±µµÛ·|¦³´£¥Ü­n¨D§ó¶i¤@¨Bªº¸ê°T¡A¹³¬O§A¬O§_­n¤ä´©¥úºÐ¾÷¡AºÏºÐ¾÷¡AÁÙ¦³§A¨Ï¥Îªº¬O¨º¤@ºØ SCSI ¤¶­±¥d¡D
³o³¡¥÷½Ð°Ñ¾\ <htmlurl url="HOWTO/SCSI-HOWTO.html" name="SCSI-HOWTO">¡A¦³§ó¸Ô²Óªº»¡©ú¡D

<sect2>Network device support (ºô¸ô³]³Æ¤ä´©)
<p>
¦pªG§A¦³ºô¸ô¥d¡A©ÎªÌ§A·Q­n¨Ï¥Î SLIP¡APPP¡A©Î¬O¨Ã¦C°ð¬É­±¥d¡A¨º´N¦^µª `<tt>y</tt>'¡D
±µµÛ·|¦³´£¥Ü°Ý§A¨Ï¥Îªº¬O¨º¤@ºØºô¸ô¥d¡A©Î­n¨Ï¥Î¨º¤@ºØ³q°T¨ó©w¡D

<sect2>Filesystems (ÀÉ®×¨t²Î)
<p>
³o±N·|¦³´£¥Ü­n§A¦^µª©Ò­n¤ä´©ªºÀÉ®×¨t²ÎºØÃþ¡A­p¦³¡G
<P>
Standard (minix) ¢w ·sªº®M¥ó¤£¦A«Ø¥ß minix ÀÉ®×¨t²Î¡A¦Ó¥B«Ü¦h¤H¤£¨Ï¥Î¥¦¡A¦ý¬O§â¥¦°t¸m¦b®Ö¤ß¸Ì¤´µM¬O­Ó¦n¥D·N¡D
¬Y¨Ç``«æ±ÏºÏ¤ù''µ{¦¡·|¥Î¨ì¥¦¡A¦Ó¥B¤´µM¦³³\¦h³nºÐºÏ¤ù¥i¯à¥Î minix ÀÉ®×¨t²Î¡A¦]¬° minix ÀÉ®×¨t²Î¹ï©ó³B²z³nºÐ¤ù¤è­±¸ûµL°ÝÃD¡D
<p>
Extended fs ¢w ³o¬OÂX¥RÀÉ®×¨t²Îªº²Ä¤@ª©¡A²{¦b¤w¸g¤£¦A¨Ï¥Î¡D¨Ï¥Îªº®É¾÷¬O¡A¦pªG§A¦³»Ý­n¡A§A´N·|ª¾¹Dªº¡D¦pªG§AÄ±±oÃhºÃ¡A§A´N¤£»Ý­n¥¦¡D
<p>
Second extended ¢w ³o¬O²{¦b·sµo¦æªº®M¥ó©Ò¼sªx±Ä¥ÎªºÀÉ®×¨t²Î¡A§A¥i¯à·|¦³¨ä¤¤¤@ºØ¡A©Ò¥H¥²¶·¦^µª `<tt>y</tt>'¡D
<p>
xiafs filesystem ¢w ³o­ÓÀÉ®×¨t²Î´¿¸g¤@«×«Ü´¶¹M¡A¦ý¬O¦b¼g³o¥÷¤å¥ó®É¡A§Ú¤w¸g¤£ª¾¹D¦³¥ô¦ó¤H¦b¨Ï¥Î¥¦¤F¡D
<p>
msdos ¢w ¦pªG§A·Q­n¦b linux ¤U¨Ï¥Î§AµwºÐ¤¤ªº MS-DOS ¤À³Î°Ï¡A©Î¬O·Q±N¥Î MS-DOS ®æ¦¡¤Æªº³nºÐ¤ù±¾¶i¨Óªº¸Ü¡A¦^µª `<tt>y</tt>'¡D
<p>
ums-dos ¢w ³oºØÀÉ®×¨t²Î¯à¨Ï MS-DOS ÀÉ®×¨t²Î¾Ö¦³§ó¦h¹³ Unix ªº¯S©Ê¡A¹³¬OªøÀÉ¦Wµ¥µ¥¡D³o¹ï¨º¨Ç¤£¨Ï¥Î MS-DOS ªº¤H(¹³§Ú)¨Ã¤£¬O«Ü¦³¥Î¡D
<p>
/proc ¢w ¥t¤@ºØ¯«©_ªºªF¦è(§Ú²q³o­Ó·§©À¬OµL®¢¦a±q¨©º¸¹êÅç«Ç¸Ì°½¹L¨Óªº)¡D
¥¦¤£¬O§AµwºÐ¤À³Î°Ï¸Ìªº¥ô¦óªF¦è¡A¦Ó¬O®Ö¤ß»Pµ{§Ç¤§¶¡ªºÀÉ®×¨t²Î¤¶­±¡D³\¦hµ{§Ç¤u¨ã(¹³ `<tt>ps</tt>')³£·|¥Î¨ì¥¦¡D
¦³®É¥i¥H¸ÕµÛ¥Î `<tt>cat /proc/meminfo</tt>' ©Î `<tt>cat /proc/devices</tt>'¡D
¬Y¨Ç shell (¯S§O¹³¬O rc) ¨Ï¥Î¤F <tt>/proc/self/fd</tt> (¦b¨ä¥¦¨t²Î¸Ì¥s°µ <tt>/dev/fd</tt>) ¨Ó°µ¿é¥X¿é¤J°Ê§@¡D
§A´X¥GÀ³¸Ó¦^µª `<tt>y</tt>'; ³\¦h­«­nªº Linux ¤u¨ã³£¨Ì¿à¥¦¨Ó¹B§@ªº¡D
<p>
NFS ¢w ¦pªG§A¦bºô¸ôÀô¹Ò¤U¦Ó¥B·Q­n¥Ñ NFS ¨Ó¨Ï¥Î¨ä¥¦¾÷¾¹ªºÀÉ®×¨t²Î¡A¦^µª `<tt>y</tt>'¡D
<p>
ISO9660 ¢w µ´¤j³¡¤Àªº¥úºÐ¤ù³£¨Ï¥Î³o­ÓÀÉ®×¨t²Î¡D¦pªG§A¦³¥úºÐ¾÷¦Ó¥B·Q¦b Linux ¤U¨Ï¥Î¡A¦^µª `<tt>y</tt>'¡D
<p>
OS/2 HPFS ¢w ¦b½s¼g³o¥÷¤å¥óªº®É­Ô¡A³o­ÓÀÉ®×¨t²ÎÁÙ¥u¤ä´©¨ì OS/2 HPFS ªºÅª¨ú¡D
<p>
System V and Coherent ¢w ³o¬O¬° System V ¥H¤Î Coherent ¨t²Îªº¤À³Î°Ï¦Ó³]ªº(¥¦­Ì¬O¥t¤@ºØ¦b PC ¤Wªº Unix ¨t²Î)¡D

<sect3>¦ý¬O§Ú¤£ª¾¹D§Ú»Ý­n¨º¨ÇÀÉ®×¨t²Î!
<p>
¦n§a¡AÁä¤J `<tt>mount</tt>'¡D¥¦¬Ý°_¨Ó·|¹³³o¼Ë¡G
<p>
<tscreen><verb>
    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)
</verb></tscreen>

¥J²Ó¬Ý¬Ý¨C¤@¦æ¡F¦b `<tt>type</tt>' «á­±ªº¨º­Ó¦r´N¬OÀÉ®×¨t²Îªº®æ¦¡¡D
¦b³o­Ó¨Ò¤l¤¤¡A§Úªº <tt>/</tt> ©M <tt>/usr</tt> ¤À³Î°Ï¬O second extended ®æ¦¡¡A
§Ú¨Ï¥Î¤F /proc ¡A¦Ó¥B±¾¦³¤@±i¥H msdos (bleah) ¬°ÀÉ®×¨t²Î®æ¦¡ªººÏ¤ù¡D
<p>
¦pªG§A¦³¨Ï¥Î <tt>/proc</tt>¡A¥i¥H¸Õ¸Õ `<tt>cat /proc/filesystems</tt>'¡D
¥¦·|µ¹§A¤@¥÷¥Ø«e¨Ï¥Îªº®Ö¤ß©Ò¤ä´©ªºÀÉ®×¨t²Î¦Cªí¡D
<p>
³o°t¸m¨Ã¤£±`¨Ï¥Î¡D¤£­«­nªºÀÉ®×¨t²Î·|¨Ï®Ö¤ßÅã±oÁs¸~; 
°Ñ¨£¥i¸ü¤J¼Ò²Õ¤@¸`ªº»¡©ú¥HÁ×§K¦¹±¡ªp¡A¥H¤Î``<ref id="pitfalls" name="³´¨À">''¤@¸`»¡©ú¬°¦óÁs¸~ªº®Ö¤ß¤£¦n¡D

<sect2>Character devices (¦r¤¸³]³Æ)
<p>
¦b³o¸Ì¡A§A±N·|µo²{³\¦h³]³Æ¦WºÙ¡A¥Î¨Ó³]©w§Aªº¦Lªí¾÷¡A¶×¬y±Æ·Æ¹«¡APS/2 ·Æ¹«(¤j³¡¤Àµ§°O«¬¹q¸£¨Ï¥Î¤º«Øªº PS/2 ·Æ¹«)¡A
¥H¤Î¤@¨ÇºÏ±a¾÷ÅX°Êµ{¦¡¡A¥H¤Î¨ä¥¦ªº``¦r¤¸''³]³Æ¡D·í¦³¦X¾Aªº¿ï¶µ®É¡A¦^µª `<tt>y</tt>'¡D
<p>
ª`·N¡GSelection ³o­Óµ{¦¡¨Ï§A¥i¥H¦b X window ¤§¥~¨Ï¥Î·Æ¹«¦b¦U­ÓµêÀÀ±±¨î¥x¶¡°µ°Å¶Kªº°Ê§@¡D
¦pªG§A¦³¦ê¦C·Æ¹«ªº¸Ü¡A³o¯uªº«Ü´Î¡A¦]¬°¥¦»P X window ¤§¶¡ªº·¾³q¨}¦n¡A
¤£¹L¦pªG§A¥Î¨ä¥¦ºØÃþªº·Æ¹«´N»Ý­nÂI§Þ¥©¤F¡DSelection ´¿¸g¤@«×¬O¿ï¾Üªº°t¸m°t¶µ¡A¤£¹L²{¦b¤w¸g¬O¼Ð·Ç¤F¡D
<p>
ª`·N¤G: Selection ²{¦b¤w¸g¹L®É¤F¡D²{¦b·sªºµ{¦¡¦W¥s ``gpm''¡D
¥¦¯à°µ§ó¯«©_ªº¨Æ¡A¹³¬OÂà´«·Æ¹«¨ó©w¡A³B²z¦h­«·Æ¹«µ¥¡K¡K

<sect2>Sound card (­µ®Ä¥d)
<p>
¦pªG§A·QÅ¥¨ì <tt>biff</tt> µ{¦¡¤j¥sªº¸Ü¡A¦^µª `<tt>y</tt>'¡D
µM«áµ¥¤@¤U·|½sÄ¶¥t¤@­Ó°t¸mµ{¦¡¨Ã¸Ô²Ó¸ß°Ý§A©Ò¦³Ãö©ó­µ®Ä¥dªº°ÝÃD¡D
(ª`·N: ·í¥¦°Ý§A¬O§_¦w¸Ë§¹¾ãª©¥»ªºÅX°Êµ{¦¡®É¡A§A¥i¥H¦^µª `<tt>n</tt>' ¥H´î¤Ö§A®Ö¤ß°O¾ÐÅé¨Ã¥u¿ï¥Î§A¯u¥¿»Ý­nªº¡D)
¦pªG§A¦³­µ®Ä¥d§Ú±j¯P«ØÄ³¬Ý¤@¤U <htmlurl url="Sound-HOWTO.html" name="Sound-HOWTO"> ¥Hª¾¹D§ó¦hªº²Ó¸`¡D

<sect2>¨ä¥¦°t¸m¿ï¶µ<p>
¨S¦³±N©Ò¦³ªº¿ï¶µ³£¦C¥X¨Ó¡A¦]¬°¦³¨Ç¸g±`§ïÅÜ¡A©Î¬O¬Û·í¦Û©úªº(¨Ò¦p	3Com 3C509 support ´N¬O½sÄ¶³oºØ¯S§O¤A¤Óºô¸ô¥dªºÅX°Êµ{¦¡)¡A
¦³¤@­Ó¤Q¤À®e©ö²z¸Ñªº©Ò¦³¿ï¶µ¦Cªí(¥]¬A±N¥¦­Ì©ñ¨ì <tt>Configure</tt> «ü¥O½Zªº¤èªk)¥i¦b³o­Ó URL §ä¨ì(¥Ñ Axel Boldt <tt><htmlurl url="mailto:axel@uni-paderborn.de" name="axel@uni-paderborn.de"></tt> ©Ò¦¬¶°):
<tscreen>
     <tt><htmlurl url="http://math-www.uni-paderborn.de/~axel/config_help.html" name="http://math-www.uni-paderborn.de/~axel/config_help.html"></tt>
</tscreen>
©Î¸g¥Ñ°Î¦W FTP ¯¸:
<tscreen>
     <tt><htmlurl url="ftp://sunsite.unc.edu/pub/Linux/kernel/config/krnl_cnfg_hlp.x.yz.tgz" name="ftp://sunsite.unc.edu/pub/Linux/kernel/config/krnl_cnfg_hlp.x.yz.tgz"></tt>
</tscreen>
¨ä¤¤ <tt>x.yz</tt> ¬Oª©¥»¸¹½X¡D
<p>
¨ä«á¨Óªº®Ö¤ß¤¤(2.0.x ¤Î¨ä«áªº)¡A³o¤w³Q¾ã¦X¨ì­ì©lµ{¦¡½X¤¤¡D

<sect2>Kernel hacking 
<p>
>³o¬O±q Linus ªº README ¸ÌºK¿ýªº¡G
<p>
``kernel hacking'' °t¸mªº²Ó¸`³q±`·|²£¥Í¤@­Ó§ó¤j©Î¬O§óºCªº®Ö¤ß(©ÎªÌ¬O¤S¤j¤SºC)¡A
¦Ó¥B¥i¯à¦]¬°±N¤@¨Ç±`¦¡°t¸m¦¨«Ü¬¡ÅD¦a¥h¹Á¸Õ¤¤Â_¤@¨Ç¤£¨}ªºµ{¦¡½X¥H«K§ä¥X®Ö¤ß¸Ìªº°ÝÃD¡] kmalloc() ¡^¡A
¦Ó¨Ï±o®Ö¤ßÅÜ±o¤ñ¸û¤£Ã­©w¡D©Ò¥H­n²£¥Í¤@­Ó®Ö¤ß``²£«~''ªº¸Ü¡A§A¦b³o¸ÌÀ³¸Ó¦^µª `n'¡D

<sect1>²{¦b©O? (The Makefile) 
<p>
¦b§A§¹¦¨ <tt>make config</tt> ¤§«á¡AÀ³¸Ó·|¦³¤@­Ó°T®§§i¶D§A®Ö¤ß¤w¸g°t¸m¦n¤F¡A
¥H¤Î­n§A¥h``check the top-level Makefile for additional configuration'' µ¥µ¥°T®§¡D
<p>
©Ò¥H¬d¬Ý¤@¤U <tt>Makefile</tt>¡D§AÀ³¸Ó¤£¥²§ïÅÜ¥¦¡A¦ý¬O¬Ý¬ÝµL§«¡D
¤@¥¹·s®Ö¤ß§¹¦¨¡A§A¤]¥i¥H¥Î `<tt>rdev</tt>' «ü¥O¨Ó§ïÅÜ¨ä¤¤ªº¿ï¶µ¡D

<sect>½sÄ¶®Ö¤ß
<p>

<sect1>²M°£»P½T»{
<p>
·í¥Î¨Ó¶i¦æ°t¸mªº«ü¥O½Z°õ¦æ§¹¦¨®É¡A¥¦·|§i¶D§A¥h `<tt>make dep</tt>' ¥H¤Î `<tt>clean</tt>'¡D
©Ò¥H­n°õ¦æ`<tt>make dep</tt>'¡D³o±N½T«O©Ò¦³ªº¬Û¨ÌÃö«Y¡A¨Ò¦p include files ³£¨S°ÝÃD¡D
°£«D§Aªº¹q¸£¯uªº«ÜºC¡A§_«h¥¦¤£·|ªá¤Ó¤[®É¶¡ªº¡D
§¹¦¨«á¡A¦b¸ûÂÂª©¥»ªº®Ö¤ß¤¤§AÁÙÀ³¸Ó°µ `<tt>make clean</tt>'¡D
³o·|²M°£®Ö¤ß½sÄ¶ªº©Ò¦³¥ØªºÀÉ¥H¤Î¨ä¥¦ªF¦è¡D¦b­««Ø¤@­Ó®Ö¤ß¤§«e<it>¤£­n</it>§Ñ°O³o­Ó¨BÆJ¡D

<sect1>½sÄ¶®É´Á
<p>
¦b§¹¦¨ `<tt>make dep</tt>' ¤Î `<tt>make clean</tt>' ¤u§@¤§«á¡A§A²{¦b¥i¥H°õ¦æ `<tt>make zImage</tt>' ©Î `<tt>make zdisk</tt>' (³o³¡¥÷»Ý­nªø®É¶¡)¡D
`<tt>make zImage</tt>' ±N·|½sÄ¶®Ö¤ß¡A¨Ã¥B¦b <tt>arch/i386/boot</tt> ¯dµ¹§A¤@­Ó¥s°µ `<tt>zImage</tt>' ªºÀÉ®×¡D³o´N¬O·sªºÀ£ÁY®Ö¤ß¡D
`<tt>make zdisk</tt>' °µªº¨Æ¤]¤@¼Ë¡A¦ý¬O¥¦·|§â®Ö¤ß©ñ¨ì§A©Ò§Æ±æªººÏ¤ù¥h¡A¥u­n§â³o±iºÏ¤ù©ñ¦b ``A:''¡D
`<tt>zdisk</tt>'¹ï©ó´ú¸Õ·s®Ö¤ß«Ü¤è«K¡F¦pªG¥¦·í±¼(©Î¤u§@¤£¥¿±`)¡A¥u­n§âºÏ¤ù®³±¼¦A¥ÎÂÂªº®Ö¤ß±Ò°Ê§Y¥i¡D
¦pªG§A·N¥~¦a§R°£¤F®Ö¤ß©Î¬O¤°»òªº¡A¥¦¤]¬O­Ó¤è«Kªº±Ò°Ê¿ìªk¡D
·í§A§â¤@¥xºÏºÐªº¤º®e¶É­Ë¨ì¥t¥~¤@¥x¥h®É¡A§A¤]¥i¥H¥Î¥¦¨Ó¦w¸Ë·sªº¨t²Î(°£¤F³o¨Ç¤§¥~ÁÙ¦³§ó¦h¥Î³~¡I)
<p>
©Ò¦³ªñ¨Óªº®Ö¤ß³£¬OÀ£ÁY¹Lªº¡A©Ò¥H¦³­Ó `<tt>z</tt>' ¦b¦W¦r«e­±¡DÀ£ÁY¹Lªº®Ö¤ß°õ¦æªº®É­Ô·|¦Û°Ê±N¦Û¤v¸ÑÀ£ÁY¡D

<sect1>¨ä¥L¥i¥H``make''ªºªF¦è
<p>
`<tt>make mrproper</tt>' ±N·|°µ§ó¼sªxªº `²M°£' ¤u§@¡D
³o­Ó°Ê§@¦³®É­Ô¬O¥²¶·ªº¡A©Ò¥H§A¥i¯à·|§Æ±æ¦b¨C¦¸­×¸Éªº®É­Ô°õ¦æ¥¦¡D
`<tt>make mrproper</tt>' ÁÙ·|±N§Aªº°t¸mÀÉ®×±þ±¼¡A©Ò¥H¦pªG§A»{¬°¥¦­«­nªº¸ÜÀ³¸Ó¥ý°µ¤@³Æ¥÷(¦b <tt>.config</tt>)¡D
<p>
`<tt>make oldconfig</tt>' ·|¹Á¸Õ¥Ñ¤@ÂÂªº°t¸mÀÉ®×¨Ó°t¸m§Aªº®Ö¤ß¡D¥¦·|¬°§A°õ¦æ `<tt>make config</tt>'¡D
¦pªG§AÁÙ¥¼´¿½sÄ¶¹L®Ö¤ß©Î¨S¦³ÂÂªº°t¸mÀÉ®×¡A¨º»ò§A¥i¯à¤£¸Ó°µ³o­Ó¡A¦]¬°§A´X¥G½T©w·|§ó§ï¹w³]ªº°t¸m¡D
<p>
°Ñ¨£¥i¸ü¤J¼Ò²Õ¤@¸`¹ï `<tt>make modules</tt>' ªº»¡©ú¡D
<p>

<sect1>¦w¸Ë®Ö¤ß
<p>
¦b§A¤w¸gÀò±o¤@­Ó¬Ý°_¨Ó¯à°÷·Ó§A§Æ±æ¹B§@ªº·s®Ö¤ß¤§«á¡A²{¦b¬O¦w¸Ë¥¦ªº®É­Ô¤F¡D
¤j³¡¥÷ªº¤H¨Ï¥Î LILO (Linux Loader) ¨Ó°µ³o¥ó¨Æ¡D
`<tt>make zlilo</tt>' ±N·|¦w¸Ë®Ö¤ß¡AµM«á¹ï¥¦°õ¦æ LILO¡A¨Ï§A§¹¦¨©Ò¦³¶}¾÷ªº·Ç³Æ¡A
¦ý¬O³o¥u¦³¦b LILO ¤w¸g¥H¤U¦C³oºØ¤è¦¡°t¸m¦nªº®É­Ô¤~¥i¥H¡G®Ö¤ß¬° /vmlinuz ¡A lilo ¦b /sbin ¤U¡A¦Ó¥B»P§Aªº LILO °t¸m(<tt>/etc/lilo.conf</tt>)¤@­P¡D
<p>
¥t¤@¤è­±¡A§A¥i¯à»Ý­nª½±µ¨Ï¥Î LILO¡D³o¬O¤@­Ó¬Û·í®e©ö¦w¸Ëªº³nÅé¡AµM¦Ó¡A¥¦ªº°t¸mÀÉ±`¨Ï¤H§xÂZ¡D
¬d¬Ý°t¸mÀÉ(¤£¬OÂÂª©ªº <tt>/etc/lilo/config</tt> ´N¬O·sª©ªº <tt>/etc/lilo.conf</tt>)¡A¬Ý¬Ý¸Ì­±¦³¨Ç¤°»ò¡D
¥¦¬Ý°_¨Ó¹³³o¼Ë¤lªºªF¦è¡G
<p>
<verb>
    image = /vmlinuz
	label = Linux
	root = /dev/hda1
	...
</verb>

­º¥ý¡A`<tt>image =</tt>' ³]©w¬°¤w¸g¦w¸Ëªº®Ö¤ß¡D¤j³¡¥÷ªº¤H¦ü¥G³£¥Î <tt>/vmlinuz</tt>¡D
`<tt>label</tt>' «h¬Oµ¹ lilo ¥Î¨Ó¨M©w²{¦b­n±Ò°Êªº¬O¨º­Ó®Ö¤ß©Î§@·~¨t²Î¡A
¦Ó `<tt>root</tt>' «h¬O³o­Ó¯S§Oªº§@·~¨t²Îªº®Ú¥Ø¿ý <tt>/</tt>¡D
³Æ¥÷¤@¥÷ÂÂªº®Ö¤ß¡AµM«á±N§A°µªº <tt>zImage</tt> «þ¨©¶i¥h(¨Ò¦p¡A¦pªG§A¥Î `<tt>/vmlinuz</tt>' ªº¸Ü¡A´N¹³³o¼Ë `<tt>cp zImage /vmlinuz</tt>')¡D
µM«á¡A°õ¦æ `<tt>lilo</tt>'¡A¦ý¬O¦b¸ûÂÂªº¨t²Î¤W¡A§A¥i¯à¥²¶·°õ¦æ <tt>/etc/lilo/install</tt> ©Î¬Æ¦Ü¬O <tt>/etc/lilo/lilo -C /etc/lilo/config</tt>¡D
<p>
¦pªG§A·Qª¾¹D§ó¦h¦³Ãö©ó LILO ªº°t¸m¡A©Î¬O§A¨Ã¨S¦³ LILO ¦ý¬O§A·Q­n¦w¸Ëªº¸Ü¡A
±q§A³ßÅwªº ftp ¸`ÂI¨ú±o³Ì·sªºª©¥»µM«á¨Ì»¡©ú¦æ¨Æ¡D
<p>
­n¯à°÷±qµwºÐ±Ò°Ê§AªºÂÂ®Ö¤ß¨ä¤¤¤§¤@ªº¸Ü(³o¬O¥t¤@­Ó¦b·s®Ö¤ß¥Xª¬ªpªº±¡ªp¤U«OÅ@§A¦Û¤vªº¤èªk)¡A
§â LILO °t¸mÀÉ¤¤©Ò¦³ªº(¥]¬A) `<tt>image = xxx</tt>' «þ¨©¨ìÀÉ®×ªº³Ì©³ºÝ¡A
µM«á§â `<tt>image = xxx</tt>' §ï¦¨ `<tt>image = yyy</tt>' ¨ä¤¤ªº `<tt>yyy</tt>' ¬O§A³Æ¥÷ÂÂ®Ö¤ß©Ò¦sÀÉªº¦W¦r¡D
±µµÛ¡A§â `<tt>label = zzz</tt>' §ï¦¨¹³¬O `<tt>label = linux-backup</tt>' µM«á­«·s°õ¦æ <tt>lilo</tt>¡D
§A¥i¯à±o­n¥[¤W¤@¦æ `<tt>delay=x</tt>'¡A¨ä¤¤ªº x ¬O¥H¤Q¤À¤§¤@¬í¬°³æ¦ìªº®É¶¡¡A
³o¬O§i¶D LILO ¦b±Ò°Ê«e¥ýµ¥¤@¤U¡A©Ò¥H§A¥i¥H¤¤Â_¥¦ªº°õ¦æ(¨Ò¦p¥Î shift Áä)¡D
µM«áÁä¤J©Ò³Æ¥÷ªº±Ò°Ê¬M¹³¤§ label (¦bµo¥Í¤F¬Y¨Ç¥O¤H¤£´r§Öªº¨Æ±¡ªº±¡ªp¤U)¡D

<sect>­×¸É®Ö¤ß
<p>

<sect1>¨Ï¥Î­×¸ÉÀÉ
<p>
®Ö¤ßªº¤p´T§ó·s¬O¥H­×¸ÉÀÉªº¤è¦¡µo¦æ¡D¨Ò¦p¡A¦pªG§Aªºª©¥»¬O 1.1.45 ¡A
¦Ó¥B§Aª`·N¨ì¥X²{¤F¤@­Ó `<tt>patch46.gz</tt>' ¥i¥H¥Î¨Ó¤É¯Å¥¦¡A
³o¥Nªí§A¥i¥HÂÇ¥Ñ¨Ï¥Î³o­Ó­×¸ÉÀÉ±Nª©¥»¤É¯Å¨ì 1.1.46¡D
§A¤]³\·|·Q­n¥ý³Æ¥÷­ì©lµ{¦¡½X(`<tt>make clean</tt>' µM«á `<tt>cd /usr/src; tar zcvf old-tree.tar.gz linux</tt>' ±N·|¬°§A³y¥X¤@¥÷ tar À£ÁYÀÉ¡A¸Ì­±´N¬O¾ã­Ó­ì©lµ{¦¡½X»P¨äÀÉ®×¬[ºc)¡D
<p>
²{¦b±µµÛÄ~Äò¤W­±ªº¨Ò¤l¡A°²³]§A¤w¸g¨ú±o¤F `<tt>patch46.gz</tt>' ¨Ã©ñ¦b <tt>/usr/src</tt> ¤U¡D
<tt>cd</tt> ¨ì <tt>/usr/src</tt> µM«á°õ¦æ `<tt>zcat patch46.gz | patch -p0</tt>' (¦pªG¨Ã¤£¬OÀ£ÁY¹Lªº­×¸ÉÀÉ¡A¨º»ò´N°õ¦æ `<tt>patch -p0 &lt; patch46</tt>')¡A
§A±N·|¬Ý¨ì³\¦hªF¦è­¸³u¦Ó¹L(©Î¬OºCºC¸õ¹L¡A¦pªG§Aªº¹q¸£¯uªº«ÜºCªº¸Ü)§i¶D§A¥¦¥¿¸ÕµÛ­×¸Éµ{¦¡¡A¥H¤Î¬O§_¦¨¥\¡D
³q±`¡A³o­Ó¹Lµ{§Ö±oµLªk¥J²Ó¬Ý²M·¡¥¦ªº°Ê§@¡A©Ò¥H§A·|µLªk½T©w¥¦¨ì©³¦³¨S¦³¦¨¥\¦a°õ¦æ¡D
©Ò¥H§A¥i¯à·|·Q¦b <tt>patch</tt> «ü¥O¤¤¥[¤W <tt>-s</tt> ¿ï¶µ¡A§i¶D <tt>patch</tt> µ{¦¡¥u³ø§i¿ù»~°T®§´N¦n¡D
(³o¼Ë§A´N¤£·|±o¨ì³\¦h``¶Ù! §Úªº¹q¸£¥¿¦b°µ¬Y¨Ç§ïÅÜ!''ªº·PÄ±¡A¤£¹L§A¥i¯à¹çÄ@³o¼Ë¡K)
¨º»ò´N±o§ä§ä¬Ý¤@¨Ç¥i¯à¤£¬O¨º»ò¶¶§Qªº¨Æ¡D<tt/cd/ ¨ì <tt>/usr/src/linux</tt> ¨Ã§ä´MÀÉ¦Wµ²§À¬° <tt>.rej</tt> ªºÀÉ®×¡D
¬Y¨Çª©¥»ªº <tt>patch</tt>¡]¤ñ¸ûÂÂªºª©¥»¡A¥¦­Ì¥i¯à¬O¦b¤ñ¸û¦­´ÁªºÀÉ®×¨t²Î¤W½sÄ¶ªº¡^·|§â³o¨Ç¨S¦³¦¨¥\ªº¾Þ§@°O¿ý¦bÀÉ¦W¦³ <tt>&num;</tt> ªºÀÉ®×¸Ì¡D
§A¥i¥H¥Î `<tt>find</tt>' ¨Ó´À§A§ä¡F
<verb>
    find .  -name '*.rej' -print
</verb>
·|±N²{¦æ¥Ø¿ý¤Î¤l¥Ø¿ý¤U©Ò¦³¨ã <tt>.rej</tt> µ²§ÀªºÀÉ¦W¦L¨ì¼Ð·Ç¿é¥X¡D
<p>
¦pªG¤@¤Á¥¿½TµL»~ªº¸Ü¡A°õ¦æ²Ä¤T¸`¸ò²Ä¥|¸`©Ò°Q½×ªº `<tt>make clean</tt>'¡A`<tt>config</tt>' ¥H¤Î `<tt>dep</tt>'¡D
<p>
Ãö©ó <tt>patch</tt> «ü¥O¥t¥~ÁÙ¦³¤@¨Ç¿ï¶µ¡D¦p«e©Ò­z¡A<tt>patch -s</tt> ±N·|§í¨î°£¤F¿ù»~¥H¥~ªº©Ò¦³¨ä¥L°T®§¡D
¦pªG§A§â®Ö¤ß­ì©lµ{¦¡½X©ñ¦b <tt>/usr/src/linux</tt> ¥H¥~ªº¦a¤è¡A¦b¸Ó¥Ø¿ý¤U¥Î <tt>patch -p1</tt> ¤]¥i¥H°®²b«W¸¨ªº°õ¦æ­×¸É¥ô°È¡D
¨ä¥¦ªº <tt>patch</tt> ¿ï¶µ¦b½u¤W¤â¥U(man page)¸Ì³£¦³«Ü¸Ô²Óªº´y­z¡D

<sect1>¦pªG¦³¿ù»~µo¥Í
<p>
(ª`·N: ¥»¸`´£¨ìªº¤j³¡¥÷¬O«üÂÂª©ªº®Ö¤ß)
<p>
³q±`³Ì±`µo¥Íªº°ÝÃD¬O·í <tt>patch</tt> ­×§ï¤@­Ó¥s°µ `<tt>config.in</tt>' ªºÀÉ®×®É¡A³o­ÓÀÉ®×¬Ý°_¨Ó¤£«ç»ò¹ï«l¡A
¦]¬°§A­×§ï¤F¤@¨Ç¿ï¶µ¨Ó°t¦X§Aªº¾÷¾¹¡D³o­Ó°ÝÃD¤w¸g¤p¤ßªºª`·N¹L¤F¡A¦ýÁÙ¬O¥i¯à¦³¤H·|¦b¸ûÂÂªºª©¥»¤W¾D¹J³o­Ó°ÝÃD¡D
­n­×¥¿³o­Ó°ÝÃDªº¸Ü¡A¬d¬Ý <tt>config.in.rej</tt> ³o­ÓÀÉ®×¸Ì¯d¤U¨Ç¤°»ò°T®§¡D
¦³­×§ï¹Lªº³¡¥÷¥¿±`¨Ó»¡·|¦b¨C¤@¦æ¶}©lªº¦a¤è¼Ð¤W `<tt>+</tt>' ©M `<tt>-</tt>'¡D
¬d¬Ý¦³¼Ð°Oªºªþªñ´X¦æ¡AµM«á°O±o¥¦­Ì¬O³]¦¨ `<tt>y</tt>' ©Î¬O `<tt>n</tt>'¡D
²{¦b½s¿è <tt>config.in</tt> ÀÉ¡AµM«á¦b¾A·íªº¦a
¤è§â `<tt>y</tt>' §ï¦¨ `<tt>n</tt>' ¥H¤Î `<tt>n</tt>' §ï¦¨ `<tt>y</tt>'¡D°õ¦æ
<verb>
    patch -p0 < config.in.rej
</verb>
¦pªG¦¨¥\ªº¸Ü(¨S¦³¿ù»~)¡A¨º»ò§A´N¥i¥HÄ~Äò°t¸m»P½sÄ¶ªº¤u§@¡D
³o­Ó <tt>config.in.rej</tt> ÀÉÁÙ¬O·|¯d¦b¨º¸Ì¡A¦ý¬O§A¥i¥H¬å±¼¥¦¡D
<p>

¦pªG§A¤´µM¾D¹J¨ä¥¦°ÝÃD¡A¨º»ò¥i¯à¬O§A¦w¸Ë¤F¤@¥÷·lÃaªº­×¸ÉÀÉ¡D
¦pªG patch Åã¥Ü `<tt>previously applied patch detected: Assume -R?</tt>'¡A
§A¥i¯à¨Ï¥Î¤F¤@¨Ç¤ñ§A¥Ø«eªºª©¥»½s¸¹ÁÙ§Cªº­×¸ÉÀÉ; ¦pªG§A¦^µª `<tt>y</tt>'¡A¥¦·|¹Á¸Õ±N§Aªºµ{¦¡½X­°¯Å¡A¦Ó¥B´X¥G¤@©w·|¥¢±Ñ;
¦p¦¹¡A§A´N»Ý­n­«·s¨ú±o¤@¥÷·sªº­ì©lµ{¦¡½X¡D
<p>
­nÁÙ­ì¨ì­×¸É«eªºª¬ºAªº¸Ü¡A¦b­ì¥ýªº­×¸ÉÀÉ¤W°õ¦æ `<tt>patch -R</tt>'¡D
<p>
·í­×¸ÉÀÉ¯uªº¥¢±Ñªº®É­Ô¡A³Ì¦nªº¿ìªk¬O±q¤@­Ó°®²bªº­ì©lµ{¦¡½X(¨Ò¦p±q linux-x.x.x.tar.gz ÀÉ®×¨ä¤¤¤§¤@)¶}©l¡A¦A­«·s°õ¦æ¡D

<sect1>¬å±¼ .orig ÀÉ®×
<p>
¥u­n°µ¹L´X¦¸­×¸É¥H«á¡A¨º¨Ç <tt>.orig</tt> ªºÀÉ®×±N·|¶}©l°ï¿n¡D
¨Ò¦p¡A§Úªº¤@­Ó 1.1.51 ª©ªºµ{¦¡½X³Ì«á¤@¦¸°µ²M±½¬O¦b 1.1.48 ª©¡]§Ú·Q¬O§a¡^¡D
§R°£³o¨Ç <tt>.orig</tt> ÀÉ®×·|¸`¬Ù³\¦hªººÏºÐªÅ¶¡¡D
<verb>
    find .  -name '*.orig' -exec rm -f {} ';'
</verb>
±N·|´À§A·Ó®Æ³o¥ó¨Æ¡D¬Y¨Çª©¥»ªº <tt>patch</tt> ·|¥Î &tilde; ¨Ó¥N´À <tt>.orig</tt>¡D
<p>
¦³¨ä¥¦§ó¦nªºªº¿ìªk¥i¬å±¼³o¨Ç <tt>.orig</tt> ÀÉ¡A´N¬O§Q¥Î GNU ªº <tt>xargs</tt>:
<verb>
    find .  -name '*.orig' | xargs rm
</verb>
©Î¬O§ó¦w¥þ¦ý¦³¨ÇÅo¶Ûªº¤èªk:
<verb>
    find . -name '*.orig' -print0 | xargs --null rm --
</verb>

<sect1>¨ä¥¦ªº­×¸ÉÀÉ
<p>
¦³¤@¨Ç¨Ã¤£¬O¥Ñ Linus µo¦æªº¨ä¥¦­×¸ÉÀÉ¥X²{(§Ú±NºÙ¤§¬°``«D¼Ð·Çªº'')¡D
¦pªG§A¨Ï¥Î¤F¥¦­Ì¡ALinus ªº­×¸ÉÀÉ¥i¯à·|¦ÓµLªk¥¿½T¦a°õ¦æ¡A
¨º»ò§A¤£¬O±o±N¥¦­ÌÁÙ­ì´N¬O±o¦]¦¹¦Ó¥h­×§ï­ì©lµ{¦¡½X©Î¬O­×¸ÉÀÉ¡D³o­Ó¤u§@¹ïªì¾ÇªÌ³q±`¬O«Ü°Q¹½¡A
©Ò¥H¦pªG§A¤£·Q¥h­×§ï­ì©lµ{¦¡½X(µ²ªG³q±`¤£¤j¦n)¡A¦b¨Ï¥Î Linus ªº­×¸ÉÀÉ¤§«e¥ýÁÙ­ì³o¨Ç«D¼Ð·Çªº­×¸ÉÀÉ¡A©Î­«·s¦w¸Ë·sªºµ{¦¡½X¡D
µM«á¸Õ¸Õ³o«D¼Ð·Çªº­×¸ÉÀÉ¯à¤£¯à¥Î¡D¦pªG¤£¯àªº¸Ü¡A¨º»ò­n¤£§A´NÄ~Äò¨Ï¥ÎÂÂªº®Ö¤ß¡A
¸ÕµÛ­×§ï­×¸ÉÀÉ¨Ï¨ä¯à¥Î¡A­n¤£´Nµ¥«Ý(¥i¯à¬O¤^¨D)·sª©«D¼Ð·Ç­×¸ÉÀÉ¥X²{¡D
<p>
«D¼Ð·Çªº­×¸ÉÀÉ¦³¦h´¶¹M? §A¦³¥i¯à´¿¸gÅ¥¹L¥¦­Ì¡D§Ú¨Ï¥Î Bill Paul ªº¤£°{Ã{­×¸ÉÀÉ¨Ó­×§ï§ÚªºµêÀÀ±±¨î¥x¡A¦]¬°§Ú°Q¹½·|°{Ã{ªº´å¼Ð(³o­Ó­×¸ÉÀÉ¸g±`¬°·sª©®Ö¤ß¦Ó§ó·s)¡D
¥Ñ©ó¤j³¡¥÷¸û·sªº³]³ÆÅX°Êµ{¦¡³£¤w¸g³Qµo®i¦¨¥i¸ü¤J¼Ò²Õ§Î¦¡¡A¦]¦¹³\¦h«D¼Ð·Çªº­×¸ÉÀÉªº­«­n©Ê¤w³vº¥­°§C¡D

<sect>ªþ¥[ªº®M¥ó
<p>
§Aªº Linux ®Ö¤ß¦³³\¦h¦b­ì©lµ{¦¡½X¥»¨­¸Ì­±¨Ã¨S¦³»¡©úªº¯S©Ê¡F
³o¨Ç¯S©Ê¤@¯ë¬O¸g¥Ñ¥~¨Óªº³nÅé¨Ó§Q¥Î¡A¦b³o¸Ì¦C¥X¤@³¡¤À³Ì´¶¹Mªº¡G

<sect1>kbd
<p>
Linux ªº±±¨î¥x¦³µÛ¤ñ§A©Ò¯à¦YÅå§ó¦hªº¯S¦â¡D³o¥]¬A¤Á´«¦r«¬¡A­«·s¹ï¬M§AªºÁä½L¡A¤Á´«Åã¥Ü¼Ò¦¡(¸û·sª©ªº®Ö¤ß)ªº¯à¤Oµ¥µ¥¡D
kbd ³o®M³nÅé¸Ì¦³¯à°÷Åý¨Ï¥ÎªÌ°µ³o¨Ç°Ê§@ªº¤ä´©µ{¦¡¡AÁÙ¥[¤W¤@¤j°ïªº¦r«¬¥H¤Î´X¥G¨¬¥H¾A¥Î¥ô¦óÁä½Lªº¤@¨ÇÁä½L¹ï¬Mªí¡D
¥¦¥i¦b©ñ¸m®Ö¤ß­ì©l½Xªº¦P¤@¯¸¥x§ä¨ì¡D

<sect1>util-linux
<p>
Rik Faith (<tt><htmlurl url="mailto:faith@cs.unc.edu" name="faith@cs.unc.edu"></tt>) ¦¬¶°¤F¤@¤j°ï Linux ªº¤u¨ã¡A¥s°µ util-linux¡D
²{¦b¬O¥Ñ Nicolai Langfeldt (<tt><htmlurl url="mailto:util-linux@math.uio.no" name="util-linux@math.uio.no"></tt>) ©ÒºûÅ@¡D
¥i±q sunsite.unc.edu ªº <tt><htmlurl url="ftp://sunsite.unc.edu/pub/Linux/system/misc" name="/pub/Linux/system/misc"></tt> ¨ú±o¡D
¥¦¥]¬A¤F¹³ <tt>setterm</tt>¡A<tt>rdev</tt> ¥H¤Î <tt>ctrlaltdel</tt> »P®Ö¤ß¦³Ãöªº¤u¨ã¡D
´N¹³ Rik ©Ò»¡ªº¡A<it>¤£­n·Q³£¤£·Q´N§â¥¦¸Ë¤W¥h!</it> §A¤£»Ý­n¦w¸Ë¦¹®M¥ó¤¤ªº¨C¤@­ÓªF¦è¡A¦Ó¥B¦pªG§A³o¼Ë°µªº¸Ü¥i¯à·|¤Þ°_ÄY­«ªº°ÝÃD¡D

<sect1>hdparm
<p>
¹³«Ü¦h³nÅé¤@¼Ë¡A³o´¿¸g¬O¤@­Ó®Ö¤ß­×¸ÉÀÉ¤Î¨ä¤ä´©µ{¦¡¡D
³o¨Ç­×¸ÉÀÉ³Q©ñ¤J°Ó·~®Ö¤ß¤¤¡A¦Ó¥Î¨Ó³Ì¨Î¤Æ¥H¤Î½Õ¾A§AµwºÐªº¤ä´©µ{¦¡¤@¯ë¬O¤À¶}µo¦æªº¡D

<sect1>gpm
<p>
gpm ¬O general purpose mouse ªºÂ²¼g¡D
³o­Óµ{¦¡¥i¥HÅý§A¨Ï¥Î¤£¦PºØÃþªº·Æ¹«¦bµêÀÀ±±¨î¥x¤§¶¡°Å¶K¡A¥H¤Î°µ¤@¨Ç¨ä¥¦ªº¨Æ±¡¡D

<sect>¤@¨Ç³´¨À<label id="pitfalls">
<p>

<sect1>make clean 
<p>
¦pªG§Aªº·s®Ö¤ß·|°µ¤@¨Ç¯uªº«Ü©_©Çªº¨Æ¡A¦³¥i¯à¬O¦]¬°¦b½sÄ¶®Ö¤ß«e§A§Ñ¤F°µ²M°£ <tt>make clean</tt>¡D
¯gª¬±q§Aªº®Ö¤ß¤£¥¿±`¦a±Y¼ì¨ì©_©Çªº¿é¥X¤J°ÝÃD¡A¤@ª½¨ì¥i¼¦ªº°õ¦æ®Ä²vµ¥µ¥¤£¤@¦Ó¨¬¡A¥i¥H¬O¥ô¦ó¨Æ¡D
³Ì¦n¤]­n½T©w§A¦³°µ <tt>make dep</tt>¡D

<sect1>¥¨¤j©Î½wºCªº®Ö¤ß
<p>
¦pªG§Aªº®Ö¤ß¦û¥Î¤F¤j¶qªº°O¾ÐÅé¡A©ÎªÌ¥¦¯uªº¬O«Ü¤j«Ü¤j¡A¤]©ÎªÌ¬O§Y¨Ï¥Î§A¥þ·sªº 786DX6/440 ¨Ó½sÄ¶«o³£ÁÙ¹³¬O¥Ã»·½sÄ¶¤£§¹ªº¸Ü¡A
¨º»ò¦³¥i¯à¬O¦]¬°§A°t¸m¤F¤Ó¦h¤£¥²­nªºªF¦è(³]³ÆÅX°Êµ{¦¡¡AÀÉ®×¨t²Îµ¥µ¥)¡D
¦pªG§A¤£·|¥Î¨ì¬Y¨ÇªF¦è¡A¨º´N¤£­n°t¸m¥¦¡A¦]¬°¥¦¯uªº·|¦û¥Î°O¾ÐÅé¡D
®Ö¤ß¹L©óÁs¸~³Ì©úÅãªº¯gª¬´N¬Oµo¥Í°O¾ÐÅé»PºÏºÐ¤§¶¡²§±`¤j¶qªº¸ê®Æ¥æ´«¡D
¦pªG§A¤£¬O¥Î¨ººØÁn­µÅ¥°_¨Ó¦n¹³¬O¼Q®g¾÷­°¸¨ªºÂÂ«¬ Fujitsu Eagles µwºÐ¡AÀË¬d¤@¤U§Aªº®Ö¤ß°t¸m¡D
<p>
§A¥i¥H§ä¥X§A¾÷¾¹¤W¥þ³¡°O¾ÐÅéªº¼Æ¶q¡AµM«á´î±¼ <tt>/proc/meminfo</tt> ¸Ì­±ªº ``total mem'' ©Î `<tt>free</tt>' «ü¥O©Ò±oªº°O¾ÐÅé¼Æ¶q¨Ó±oª¾®Ö¤ß¨Ï¥Î¤F¦h¤Ö°O¾ÐÅé¡D
§A¤]¥i¥H°õ¦æ `<tt>dmesg</tt>' (©ÎªÌ¤]¥i¥H¬d¬Ý®Ö¤ßªº°O¿ýÀÉ¡A¥¦¤@©w¦b·|§Aªº¨t²Î¸Ì)¡D¬Ý°_¨Ó´N¹³³o¤@¦æ¡G
<p>
<tt>
Memory: 15124k/16384k available (552k kernel code, 384k reserved, 324k data)
</tt>
<p>
§Úªº 386 (°t¸m«Ü¤Ö©U§£)Åã¥Ü¦p¤U¡G
<p>
<tt>
Memory: 7000k/8192k available (496k kernel code, 384k reserved, 312k data)
</tt>
<p>
¦pªG§A`¥²¶·'±o¨ì¤@¤j«¬®Ö¤ß¦ý¨t²Î«o¤£Åý§A°µ¡A§A¥i¥H¸Õ¸Õ `<tt>make bzimage</tt>'¡D
§A¥i¯à¥²¶·¦w¸Ë·sª©ªº LILO ¨Ó°µ³o¥ó¨Æ¡D

<sect1>®Ö¤ßµLªk½sÄ¶
<p>
¦pªG¥¦¨S¦³³Q½sÄ¶¡A¨º»ò¥i¯à¬O¦³­Ó­×¸ÉÀÉ¥¢±Ñ¤F¡A©ÎªÌ¬O§A±q¬Y­Ó¦a¤è®³¨ìªº­ì©lµ{¦¡½X¦³°ÝÃD¡D
¤]¦³¥i¯à¬O¦]¬°§Aªº gcc ª©¥»¤£¥¿½T©ÎÃa±¼¤F(¨Ò¦p§t¤JÀÉ¦³¿ù»~)¡D
½T©w Linus ¦b <tt>README</tt> ¸Ì©Ò´y­zªº²Å¸¹Ãìµ²³£¦³¥¿½T«Ø¥ß¡D
¤@¯ë»¡¨Ó¡A¦pªG®Ö¤ß¨S¯à½sÄ¶¡A³oªí¥Ü¦b¬Y¨Ç¦a¤è¦³ÄY­«ªº¿ù»~¡A­«·s¦w¸Ë¬Y¨Ç¤u¨ã¥i¯à¬O¥²¶·ªº¡D
<p>
©ÎªÌ¥i¯à§A¥Î ELF ½sÄ¶¾¹ (gcc 2.6.3 ©Î¥H«áªº) ¨Ó½sÄ¶ 1.2.x ªº®Ö¤ß¡D
¦pªG½sÄ¶¹Lµ{¤¤§A±o¨ì¤@¤j°ïªº <tt>xxxx undefined</tt> ªº°T®§¡A³o¥i¯à¬O§Aªº°ÝÃD¡D
­×¥¿ªº¤èªk¤j³¡¥÷³£«ÜÂ²³æ¡D±N³o´X¦æ¥[¨ì <tt>arch/i386/Makefile</tt> ªº³»ºÝ:
<tt>arch/i386/Makefile</tt>:
<verb>
AS=/usr/i486-linuxaout/bin/as
LD=/usr/i486-linuxaout/bin/ld -m i386linux
CC=gcc -b i486-linuxaout -D__KERNEL__ -I$(TOPDIR)/include
</verb>
µM«á­«·s°õ¦æ <tt>make dep</tt> »P <tt>zImage</tt>¡D
<p>
¦b¤Ö¼Æ±¡ªp¤U¡Agcc ¥i¯à·|¥Ñ©óµwÅé°ÝÃD¦Ó·í±¼¡D¿ù»~°T®§·|¹³ ``xxx exited with signal 15'' ¤§Ãþªº¡A¦Ó¥B·|¬Ý°_¨Ó«Ü©_©Ç¡D
§Ú¥»¨Ó¤£·Q´£³oÂIªº¡A¤£¹L¦b§Ú¨­¤W¤]µo¥Í¹L¤@¦¸ - §Ú¦³¤@¨ÇÃaªº cache °O¾ÐÅé¡A½sÄ¶¾¹®É±`·|ÀH¾÷¦a·í±¼¡D
¦pªG§A¦³¦¹°ÝÃDªº¸Ü¥ý¸ÕµÛ­«·s¦w¸Ë gcc¡D¦pªG§A±N¥~³¡ cache Ãö±¼¡A´î¤Ö¤@¨Ç RAM ¤§«á®Ö¤ß´N½sÄ¶¦¨¥\¤F¡A§A¤j·§¥u·|Ä±±o¥iºÃ¡D
<p>
§i¶D¤H­Ì¥LªºµwÅé¦³°ÝÃD±`·|¨Ï¤H§xÂZ¡D¤£¹L¡A³o¤£¬O§Úµo©úªº¡D
³o¬O¤@­Ó FAQ -- ¥i¥H¦b <tt><htmlurl url="http://www.bitwizard.nl/sig11/" name="http://www.bitwizard.nl/sig11/"></tt> §ä¨ì¡E

<sect1>·sª©ªº®Ö¤ß¦ü¥G¤£¯à±Ò°Ê
<p>
§A¨S¦³°õ¦æ LILO ¡A©Î¬O¨S¦³¥¿½Tªº°t¸m¥¦¡D¦³¤@¦¸§Ú´¿¸g¸I¨ìªº°ÝÃD¬O¥X¦b°t¸mÀÉ¸Ì¡A
§Ú¥Î¤F `<tt>boot = /dev/hda1</tt>' ¦Ó¤£¬O `<tt>boot = /dev/hda</tt>'
(³o¦b­è¶}©l®É¯uªº¬O«Ü°Q¹½¡A¦ý¬O¤@¥¹§A¦³¤F¤@­Ó¥i¥H¥Îªº°t¸mÀÉ¡AÀ³¸Ó¤£»Ý­n¥h¦A¥h§ïÅÜ¥¦)¡D

<sect1>§A§Ñ¤F°õ¦æ LILO¡A©Î¨t²Î®Ú¥»¤£¯à±Ò°Ê
<p>
¾¾¡I²{¦b³Ì¦nªº¿ìªk¬O¥ÎºÏ¤ù±Ò°Ê¡A¨Ã¥B·Ç³Æ¥t¤@±i¥i¥H±Ò°ÊªººÏ¤ù(¹³¬O`<tt>make zdisk</tt>'®É°µªººÏ¤ù)¡D
§A±oª¾¹D§Aªº®Ú¥Ø¿ý(<tt>/</tt>)©Ò¦bªº¤À³Î°Ï¥H¤Î¥¦ªº®æ¦¡(second extended, minix µ¥µ¥)¡D
¦b¤U­±ªº¨Ò¤l¤¤¡A§A¤]±oª¾¹D§Aªº <tt>/usr/src/linux</tt> ­ì©lµ{¦¡½X¦b¨º­Ó¤À³Î°Ï¡A¥¦ªº®æ¦¡¡A¥H¤Î¥¦¤@¯ë·|±¾¦b¨º¨à¡D
<p>
¦b³o­Ó¨Ò¤l¤¤¡A ®Ú¥Ø¿ý <tt>/</tt> ¬O <tt>/dev/hda1</tt>¡A¦Ó«ù¦³ <tt>/usr/src/linux</tt> ªº¤À³Î°Ï¬O <tt>/dev/hda3</tt>¡A¤@¯ë·|±¾¦b <tt>/usr</tt> ¤U¡D
¥¦­Ì³£¬O second extended ÀÉ®×¨t²Î¡D¥i¥H¹B§@ªº®Ö¤ß¬M¹³¥s°µ <tt>zImage</tt> ¡A©ñ¦b <tt>/usr/src/linux/arch/i386/boot</tt> ©³¤U¡D
<p>
³o­Ó¥D·N¬O³o¼Ëªº¡A°²­Y¦³¤@­Ó¥i¥H¹B§@ªº®Ö¤ß¬M¹³¥s°µ <tt>zImage</tt>¡A¥i¯à¥i¥H§â¥¦¥Î¦b·sªººÏ¤ù¤W¡D
¥t¥~¤@­Ó¤£¤@©w·|§ó¦nªºÅÜ³q¿ìªk(³o¸ò§Aªº¨t²Î«ç»ò²Õ¦¨ªº¦³Ãö)¦b»¡©ú³o­Ó¨Ò¤l¤§«á·|°Q½×¨ì¡D
<p>
­º¥ý¡A±q boot/root ºÏ¤ù©ÎªÌ¬O«æ±ÏºÏ¤ù¶}¾÷¡AµM«á±N«ù¦³¥i¹B§@®Ö¤ßªº¤À³Î°Ï±¾¤W¨Ó¡G
<p>
<verb>
    mkdir /mnt
    mount -t ext2 /dev/hda3 /mnt
</verb>

¦pªG <tt>mkdir</tt> «ü¥OÅã¥Ü¸Ó¥Ø¿ý¤w¸g¦s¦b¡A©¿²¤±¼¤£¥²²z·|¥¦¡D
²{¦b¡A<tt>cd</tt> ¨ì«ù¦³¥i¹B§@®Ö¤ßªº¦a¤è¡Dª`·N:
<verb>
/mnt + /usr/src/linux/arch/i386/boot - /usr = /mnt/src/linux/arch/i386/boot
</verb>
§â¤@±i®æ¦¡¤Æ¹LªººÏ¤ù©ñ¶i ``A:'' ºÏºÐ¾÷(½T©w¤£¬O§Aªº boot/root ºÏ¤ù!)¡A
§â¬M¹³ÀÉ¶É­Ë¨ìºÏ¤ù¸Ì¥h¡AµM«á°t¸m§Aªº®Ú¥Ø¿ý¤À³Î°Ï:
<p>
<verb>
    cd /mnt/src/linux/arch/i386/boot
    dd if=zImage of=/dev/fd0
    rdev /dev/fd0 /dev/hda1
</verb>

<tt>cd</tt> ¨ì®Ú¥Ø¿ý <tt>/</tt> ¨Ã¥B¨ø¤U¼Ð·Ç <tt>/usr</tt> ¤À³Î°Ï:<p>
<verb>
    cd /
    umount /mnt
</verb>

§A²{¦bÀ³¸Ó¥i¥H±q³o±iºÏ¤ù¥¿±`ªº¶}¾÷¤F¡D¦b³o¦¸¶}¾÷«á¤£­n§Ñ°O°õ¦æ lilo (©Î¬O¨ä¥¦§A´¿¸g°µ¿ùªº¤°»ò¨Æ)!
<p>
¦p¦P«e­±´¿¸g´£¹Lªº¡AÁÙ¦³¥t¥~¤@ºØ«Ü´¶¹MªºÅÜ³q¤è¦¡¡D
¦pªG±¡ªp¬O§A¦³¤@­Ó¥i¥H¹B§@ªº®Ö¤ß¦b©ñ¦b <tt>/</tt> (¨Ò¦p <tt>/vmlinuz</tt>)¡A§A¤]¥i¥H¨Ï¥Î¥¦¡D
°²©w©Ò¦³ªº±ø¥ó³£¸ò¤W­±ªº¨Ò¤l¤@¼Ë¡A¦Ó§Úªº®Ö¤ß¬M¹³¬O <tt>/vmlinuz</tt>¡A¥u­n¹ï¤W­±ªº¨Ò¤l°µ³o¨Ç§ïÅÜ:
§â <tt>/dev/hda3</tt> §ï¦¨ <tt>/dev/hda1</tt> (<tt>/</tt> ¤À³Î°Ï)¡A
§â <tt>/mnt/src/linux</tt> §ï¦¨ <tt>/mnt</tt>¡A¨Ã¥B§â <tt>if=zImage</tt> §ï¦¨ <tt>if=vmlinuz</tt>¡D
¦Ü©ó«e­±¦³Ãöª`·N¦p¦ó±À¾É¥X <tt>/mnt/src/linux/arch/i386/boot</tt> ªº¨º­Ó³¡¤À¥i¥H©¿²¤¡D
<p>
±N LILO ¨Ï¥Î¦b¤jªºµwºÐ¤W(¶W¹L 1024 ºÏ¬W)¥i¯à·|¦³°ÝÃD¡D
½Ð°Ñ¨£ LILO mini-HOWTO ©Î¨ä¥¦¤å¥óªº»¡©ú¡D

<sect1>¨t²Îªí¥Ü `warning: bdflush not running' 
<p>
³o¥i¥Hºâ¬O¤@­Ó¬Û·íÄY­«ªº°ÝÃD¡D±q 1.0 ª©¥H«áªº®Ö¤ß¶}©l(¤j·§¬O¦b 1994 ¦~¥|¤ë¤G¤Q¤é¥ª¥k)¡A
¦³­Ó·|¶g´Á©Ê¦a§ó·sÀÉ®×¨t²Î½w½Ä°Ïªºµ{¦¡¥s°µ `<tt>update</tt>' ³Q¤É¯Å©Î¨ú¥N±¼¤F¡D
¨ú±o `<tt>bdflush</tt>' ªº­ì©lµ{¦¡½X(§AÀ³¸Ó¥i¥H±q§A¨ú±o®Ö¤ßªº¦a¤è§ä¨ì)¡A
µM«á½sÄ¶¥¦(§A¥i¯à·|§Æ±æ¦bÂÂª©ªº®Ö¤ß¤U°õ¦æ½sÄ¶¤Î¦w¸Ë)¡D
¥¦·|¥H `<tt>update</tt>' ¬°¦W¦w¸Ë¥¦¦Û¤v¨Ã¥B¦b­«¶}¾÷¥H«á¡A·s®Ö¤ßÀ³¸Ó·|¹B§@¨}¦n¡D

<sect1>¨t²Î»¡ undefined symbols ¦Ó¥BµLªk½sÄ¶
<p>
§A¥i¯à¦³¤@ ELF ½sÄ¶¾¹(gcc 2.6.3 ©Î¥H«áªº)¦Ó¥B¬O 1.2.x (©Î§ó¦­ªº)®Ö¤ß­ì©l½X¡D
¤@¯ë­×¥¿ªº¤èªk¬O±N³o´X¦æ¥[¨ì <tt>arch/i386/Makefile</tt> ªº³»ºÝ:
<p>
<verb>
AS=/usr/i486-linuxaout/bin/as
LD=/usr/i486-linuxaout/bin/ld -m i386linux
CC=gcc -b i486-linuxaout -D__KERNEL__ -I$(TOPDIR)/include
</verb>
<p>
³o·|¥H a.out µ{¦¡®w¨Ó½sÄ¶ 1.2.x ®Ö¤ß¡D

<sect1>µLªkÅý§Úªº IDE/ATAPI CD-ROM ¥¿±`¤u§@
<p>
«Ü©_©Ç¡A¤@¤j°ï¤HµLªkÅý¥L­Ìªº ATAPI ¥úºÐ¾÷¤u§@¡A¥i¯à¬O¦]¬°¦³¤Ó¦h¨Æ®e©ö¥X¿ù¡D
<p>
§Aªº¥úºÐ¾÷¬O¦b¤@¯S§O IDE ¬É­±¤Wªº°ß¤@³]³Æ¡A¥¦¥²¶·³Q½Õ¾ã¬° ``master'' ©Î ``single''¡D
³o¥i¯à¬O³Ì±`¨£ªº¿ù»~¡D
<p>
Creative Labs ²{¦b±N IDE ¬É­±©ñ¨ì¥L­Ì­µ®Ä¥d¸Ì¡D
µM¦Ó¡A³o±N¾É­P¤@­Ó¦³½ìªº°ÝÃD¡AÁöµM¦³¨Ç¤H¥u¦³¤@­Ó IDE ¬É­±¡A³\¦h¤H¦b¥D¾÷ªO¤W¦³¨â­Ó¤º«Øªº IDE ¬É­±(³q±`¦b IRQ15)¡A
¦]¦¹¤@¸Ñ¨Mªº¿ìªk¬O±NÁnÅQ¥dªº¬É­±½Õ¦¨²Ä¤T­Ó IDE (¦³¤H§i¶D§Ú¬O IRQ11)¡D
<p>
³o¦b 1.2.x ªº Linux ®Ö¤ß¤W·|¦³°ÝÃD¡A¦]¬°¥¦¤£¤ä´©²Ä¤T­Ó IDE ¬É­±(±q 1.3.x ¨t¦C¤w¶}©l¤ä´©¡A¦ý¥¦ÁÙ¦bµo®i¤¤¡A¦Ó¥B¤£·|¦Û°Ê°»´ú)¡D
­n¸Ñ¨M¦¹°ÝÃD¡A§A¦³¤@¨Ç¿ï¾Ü¡D
<p>
¦pªG§A¤w¸g¦³²Ä¤G­Ó IDE °ð¡A¦pªG§A¨S¥Î¥¦©Î¨S¦³¨â³¡³]³Æ¦b¤W­±ªº¸Ü´N¦³¾÷·|¡D
±N ATAPI ¥úºÐ¾÷±q­µ®Ä¥d¤W®³¤U¨Ó¨Ã©ñ¨ì²Ä¤G­Ó¬É­±¤W¡DµM«á§A¥i¥HÃö±¼­µ®Ä¥d¤Wªº¬É­±¡A³o´N¥i¥H¬Ù¤U¤@­Ó IRQ¡D
<p>
¦pªG§A¨S¦³²Ä¤G­Ó IDE ¬É­±¡A½Õ¾ã­µ®Ä¥dªº¬É­±(¤£¬O­µ®Ä¥dªº­µ®Ä³¡¥÷)¨ì²Ä¤G¬É­±¥Îªº IRQ15¡A³o¼ËÀ³¸Ó·|°Ê¡D
<p>
¦pªG¦]¬°¬Y¨Ç²z¥Ñ«D±o¨Ï¥Î``²Ä¤T­Ó''¬É­±¤£¥i¡A©Î¬O¦³¨ä¥¦°ÝÃD¡A
¨ú±o 1.3.x ªº®Ö¤ß(¨Ò¦p 1.3.57 ´N¦³)¡A¾\Åª <tt>drivers/block/README.ide</tt> ÀÉ®×¡D
¨º¸Ì¦³§ó¦hªº¸ê°T»¡©ú¡D

<sect1>¨t²ÎÅã¥ÜÃö©ó obsolete routing requests ªº©_©Ç°T®§
<p>
¨ú±o·sª©ªº <tt>route</tt> µ{¦¡¤Î¨ä¥¦»P route ¦³Ãöªºµ{¦¡¡D
<tt>/usr/include/linux/route.h</tt> (³o¬O <tt>/usr/src/linux</tt> ¤Uªº¤@­ÓÀÉ®×)¤w¸g°µ¤F­×§ï¡D

<sect1>¨¾¤õÀð¥\¯àµLªk¦b 1.2.0 ¤W¤u§@
<p>
¦Ü¤Ö¤É¯Å¨ì 1.2.1 ª©¡D

<sect1>``Not a compressed kernel Image file'' («DÀ£ÁY®Ö¤ß¬M¹³ÀÉ)
<p>
¤£­n¥Î¦b <tt>/usr/src/linux</tt> ²£¥Íªº <tt>vmlinux</tt> °µ¬°§Aªº±Ò°Ê®Ö¤ß¬M¹³;
<tt>[..]/arch/i386/boot/zImage</tt> ¤~¬O¥¿½Tªº¡D

<sect1>¤É¯Å¦Ü 1.3.x «á¦b±±¨î¥x²×ºÝ¾÷¤Wªº°ÝÃD
<p>
±N±±¨î¥x³]©wÀÉ <tt>/etc/termcap</tt> ¤¤ªº <tt>dumb</tt> §ï¬° <tt>linux</tt>¡D
§A¥i¯à·|¥²¶·¼W¥[¤@¶µ terminfo¡D

<sect1>®Ö¤ß¤É¯Å«á¦ü¥GµLªk½sÄ¶ªF¦è
<p>
Linux ªº®Ö¤ß­ì©lµ{¦¡½X¥]§t¤F³\¦hªº§t¤JÀÉ(´N¬O¥Î <tt>.h</tt> µ²§ÀªºÀÉ®×)¥²¶·¬°¼Ð·Çªº <tt>/usr/include</tt> ©Ò°Ñ¦Ò¡D
¥¦­Ì³q±`¥Î³oºØ¤èªk³Q°Ñ¦Ò(¨ä¤¤ <tt>xyzzy.h</tt> ¬O¦b <tt>/usr/include/linux</tt> ¤U):
<verb>
    #include <linux/xyzzy.h>
</verb>
¥¿±`±¡ªp¤U¡A¦b <tt>/usr/include</tt> ¤U·|¦³¤@¥s°µ <tt>linux</tt> ªº³sµ²¨ì§Aªº®Ö¤ß­ì©l½Xªº <tt>include/linux</tt> ¥Ø¿ý(¤@¯ë¨t²Î¦b <tt>/usr/src/linux/include/linux</tt>)¡D
¦pªG³o­Ó³sµ²¨S¦³¤F¡A©Î«ü¨ì¿ù»~ªº¦a¤è¡A¤j³¡¥÷ªºªF¦è³£±NµLªk½sÄ¶¡D
¦pªG§AÄ±±o®Ö¤ß­ì©l½X¦û¤F¤Ó¦hªºªÅ¶¡¦Ó¬å±¼¥¦¡A³oÅãµM·|¤Þµo°ÝÃD¡D
¥t¤@­Ó¥i¯àªº¿ù»~¬O¥¦ªºÀÉ®×Åv­­; ¦pªG§Aªº <tt>root</tt> ¹w³]¤£Åý¨ä¥¦¨Ï¥ÎªÌ¬Ý¨ì¥LªºÀÉ®×¡A
¦Ó¥B§A¸Ñ¶}®Ö¤ß­ì©l½X®É¨S¦³¥[¤W <tt>p</tt> («O¯dÀÉ®×¼Ò¦¡)¿ï¶µ¡A¨ä¥¦¨Ï¥ÎªÌ¤]·|µLªk¨Ï¥Î C ½sÄ¶¾¹¡D
ÁöµM§A¥i¥H¥Î <tt>chmod</tt> «ü¥O¨Ó­×¥¿¡A¤£¹L§ó®e©öªº¤èªk¬O­«·s¸Ñ¶}§t¤JÀÉ¡D
§A¥i¥H¤@¶}©l§A¸Ñ¶}¾ã­Ó­ì©l½Xªº¦P¼Ë¤èªk¡A¤£¹L¦h¥[¤F¤@­Ó°Ñ¼Æ:
<verb>
    blah# tar zxvpf linux.x.y.z.tar.gz linux/include
</verb>
½Ðª`·N: ¦pªG <tt>/usr/src/linux</tt> ³sµ²¤£¦bªº¸Ü ``<tt>make config</tt>'' ·|­««Ø¤§¡D

<sect1>¼W¥[¤W­­
<p>
¤U­±¤@¨Ç½d¨Ò«ü¥O§i¶D§A¦p¦ó¼W¥[®Ö¤ß´£¨Ñªº¤W­­:
<verb>
echo 4096 > /proc/sys/kernel/file-max
echo 12288 > /proc/sys/kernel/inode-max
echo 300 400 500 > /proc/sys/vm/freepages
</verb>

<sect>¤É¯Å¦Ü 2.0.x ªºª`·N¨Æ¶µ
<p>
®Ö¤ß 2.0.x ª©¦b¦w¸Ë¤W¤Þ¤J¤F³\¦hªº§ïÅÜ¡D
¦b­ì©lµ{¦¡½X¸Ìªº <tt>Documentation/Changes</tt> ÀÉ®×¥]§t¤F¤É¯Å¦Ü 2.0.x ª©©ÒÀ³ª¾¹Dªº¸ê°T¡D
§A¥i¯àÁÙ»Ý­n¤É¯Å¤@¨ÇÃöÁäªº®M¥ó¡A¨Ò¦p gcc¡Alibc »P SysVInit¡A¨Ã§ïÅÜ¤@¨Ç¨t²ÎÀÉ®×¡D¤£¹L¡A¤]§Oºò±i¡D

<sect>¥i¸ü¤J¼Ò²Õ
<p>
¥i¸ü¤J¼Ò²Õ¯à°÷¸`¬Ù°O¾ÐÅé¡A¦Ó¥B«Ü®e©ö³]©w¡D
¼Ò²Õªº½d³ò¤w¸g¥]§t¤FÀÉ®×¨t²Î¡A¤A¤Óºô¸ô¥dÅX°Êµ{¦¡¡AºÏ±a¾÷¡A¦Lªí¾÷ÅX°Êµ{¦¡¡AÁÙ¦³§ó¦h¡D

<sect1>¦w¸Ë¼Ò²Õ¤u¨ã
<p>
¼Ò²Õ¤u¨ã¥i¥H±q§A¨ú±o®Ö¤ßªº¦a¤è§ä¨ì¡A¦p <tt>modules-x.y.z.tar.gz</tt>;
¿ï¾Ü»P§A¥Ø«e®Ö¤ßª©¥»¬Ûµ¥©Îµy§Cªº³Ì±µªñªº <tt>x.y.z</tt>¡D
¥Î `<tt>tar zxvf modules-x.y.z.tar.gz</tt>' ¸Ñ¶}¡D
<tt>cd</tt> ¨ì¥¦²£¥Íªº¥Ø¿ý(<tt>modules-x.y.z</tt>)¡A¬Ý¤@¤U <tt>README</tt>¡AµM«á«ö·Ó¦w¸Ë«ü¥Ü°õ¦æ (³q±`«ÜÂ²³æ¡A´N¹³ <tt>make install</tt> ¤§Ãþªº)¡D
µM«á§A¦b <tt>/sbin</tt> À³¸Ó·|¦³³o¨Çµ{¦¡ <tt>insmod</tt>, <tt>rmmod</tt>, <tt>ksyms</tt>, <tt>lsmod</tt>, <tt>genksyms</tt>, <tt>modprobe</tt>, ¥H¤Î <tt>depmod</tt>¡D
¦pªG§A·Qªº¸Ü¡A¥i¥H¥Î <tt>insmod</tt> ¸Ìªº½d¨ÒÅX°Êµ{¦¡``hw''¨Ó´ú¸Õ³o¨Ç¤u¨ã;
°Ñ¨£ <tt>INSTALL</tt> ÀÉ¸Ìªº²Ó¸`»¡©ú¡D
<p>
<tt>insmod</tt> «ü¥O±N¤@­Ó¼Ò²Õ´¡¤J¹B¦æ¤¤ªº®Ö¤ß¡D¼Ò²Õ³q·|¥H <tt>.o</tt> ¬°µ²§À;
¤W­±´£¨ìªº½d¨Òµ{¦¡´N¥s°µ <tt>drv_hello.o</tt>¡A¦]¦¹­n´¡¤J¦¹¼Ò²Õ¡A´N¥Î `<tt>insmod drv_hello.o</tt>'¡D
­n¤F¸Ñ¥Ø«e®Ö¤ß¥¿¦b¨Ï¥Îªº¼Ò²Õ¡A¥Î <tt>lsmod</tt> «ü¥O¡D¿é¥X¬Ý°_¨Ó¹³³o¼Ë:
<verb>
    blah# lsmod
    Module:        #pages:  Used by:
    drv_hello          1
</verb>
`<tt>drv_hello</tt>' ¬O³o¼Ò²Õªº¦WºÙ¡A¥¦¥Î¤F¤@­¶ (4K) ªº°O¾ÐÅé¡A¦Ó¥B¥Ø«e¨S¦³¨ä¥¦ªº®Ö¤ß¼Ò²Õ¨Ì¿à©ó¥¦¡D
­n²¾°£¦¹¼Ò²Õ¡A¥Î `<tt>rmmod drv_hello</tt>'¡Dª`·N <tt>rmmod</tt> »Ý­nªº¬O<it>¼Ò²Õ¦WºÙ</it>¡A¦Ó¤£¬OÀÉ®×¦WºÙ; 
´N¬O§A±q <tt>lsmod</tt> «ü¥O¦C¥X¨Óªº¡D¨ä¾l¤u¨ãªº§@¥Î¦b½u¤W¤â¥U¤¤³£¦³»¡©ú¡D

<sect1>»P®Ö¤ßµo¦æªº¼Ò²Õ
<p>
¦b 2.0.30 ª©¤¤¡A´X¥G©Ò¦³ªºªF¦è³£¥i¥HÅÜ¦¨¥i¸ü¤J¼Ò²Õ¡D
­n¨Ï¥Î¥i¸ü¤J¼Ò²Õ¡A­º¥ý½T©w§A¨S¦³±N¨ä°t¸m¨ì¥¿±`ªº®Ö¤ß¸Ì¡A¤]´N¬O»¡¡A¦b `<tt>make config</tt>' ®É¤£¬O¦^µª <tt>y</tt>¡D
½sÄ¶·s®Ö¤ß¨Ã¥Î¥¦¨Ó¶}¾÷¡DµM«á¡A¦A¦¸ <tt>cd</tt> ¨ì <tt>/usr/src/linux</tt>¡AµM«á°õ¦æ `<tt>make modules</tt>'¡D
³o±N½sÄ¶©Ò¦³§A¥¼«ü©w¦b®Ö¤ß°t¸m¸Ìªº¼Ò²Õ¡A¨Ã±N¨ä³sµ²¨ì <tt>/usr/src/linux/modules</tt>¡D
§A¥i¥Hª½±µ¥Ñ¦¹¥Ø¿ý¨Ï¥Î¡A©Î¬O°õ¦æ `<tt>make modules_install</tt>' ±N¨ä¦w¸Ë¨ì <tt>/lib/modules/x.y.z</tt>¡A¨ä¤¤ <tt>x.y.z</tt> ¬O®Ö¤ßª©¥»¡D
<p>
³o¹ï³B²zÀÉ®×¨t²Î¤W¯S§O«K§Q¡D§A¥i¯à¨Ã¤£¸g±`¨Ï¥Î minix ©Î MS-DOS ªºÀÉ®×¨t²Î¡D
¨Ò¦p¡A¦pªG§Ú¹J¨ì¤@ MS-DOS ªº³nºÐ¤ù¡A§Ú·|¥Î <tt>insmod /usr/src/linux/modules/msdos.o</tt>¡A¨Ã¦b¨Ï¥Î§¹¦¨«á¥Î <tt>rmmod msdos</tt> «ü¥O±N¨ä¥h±¼¡D
¦¹¹Lµ{¤j¬ù¥i¥H¸`¬Ù®Ö¤ß 50K ¥ª¥kªº°O¾ÐÅé¡D¹ï©ó minix ÀÉ®×¨t²Î¦³¤@ÂI­nª`·Nªº´N¬O¡A
¬°¤F­n¨Ï¥Î``«æ±ÏºÏ¤ù''¡A§AÀ³¸Ó<it>Á`¬O</it>ª½±µ±N¥¦°t¸m¨ì®Ö¤ß¤¤¡D

<sect>¨ä¥¦°t¸m¿ï¶µ<label id="other-options">
<p>
¥»¸`¥]¬A¤F¦b°t¸m¤@¸`¤¤¥¼¦C¥Xªº®Ö¤ß°t¸m¿ï¶µ(¦b <tt>make config</tt> ®É)¡D
¤j³¡¥÷ªº³]³ÆÅX°Êµ{¦¡¨Ã¥¼¦C¥X¡D

<sect1>General setup (¤@¯ë³]©w)
<p>
<tt>Normal floppy disk support</tt> (¤@¯ë³nºÐ¤ä´©) - ´N¬O³o­Ó¡D
§A¥i¯à·|·Q¬Ý¤@¤U <tt>drivers/block/README.fd</tt> ³o­ÓÀÉ®×; ¹ï IBM Thinkpad ªº¨Ï¥ÎªÌ¨Ó»¡¯S§O­«­n¡D

<p>
<tt>XT harddisk support</tt> (XT µwºÐ¤ä´©) - ¦pªG§A·Q¥Î¦Ñ¥j¸³ªº¤K¦ì¤¸ XT ±±¨î¾¹ªº¸Ü¡D

<p>
<tt>PCI bios support</tt> (PCI bios ªº¤ä´©) - ¦pªG§A¦³ PCI¡A§A¥i¯à·|·Q¥´¶}¦¹¿ï¶µ¡D
¦ý­n¤p¤ß¡A¬Y¨ÇÂÂªº PCI ¥D¾÷ªO¦b¦¹¿ï¶µ¤U¥i¯à·|·í±¼¡D§ó¦hÃö©ó PCI ¶×¬y±Æ¦b Linux ¤U¨Ï¥Îªº¸ê°T¥i¥H¦b <htmlurl url="HOWTO/PCI-HOWTO.html" name="PCI-HOWTO"> ¸Ì§ä¨ì¡D

<p>
<tt>Kernel support for ELF binaries</tt> (®Ö¤ß¤ä´© ELF °õ¦æÀÉ) - ELF ¬O¤@ºØ·sªº¤G¶i¦ì°õ¦æÀÉ¡D
Linux ¦ü¥G¥¿´Â¦¹¤è¦V«e¶i¡A©Ò¥H§A¥i¯à·|­n³o­Ó¡D

<p>
<tt>Set version information on all symbols for modules</tt> - 
¦b¹L¥h¡A®Ö¤ß¼Ò²Õ»P¨C­Ó·s®Ö¤ß¤@°_³Q½sÄ¶¡D
¦pªG§A¦^µª <tt>y</tt>¡A¥¦¥i¯àÅý§A¨Ï¥Î¤£¦P patchlevel ¤U½sÄ¶ªº¼Ò²Õ¡D
°Ñ¨£ <tt>README.modules</tt> ¤¤ªº¸Ô²Ó»¡©ú¡D

<sect1>Networking options (ºô¸ô¿ï¶µ)
<p>
ºô¸ô¿ï¶µ¦b <htmlurl url="HOWTO/NET-3-HOWTO.html" name="NET-3-HOWTO"> (©Î¬O NET-¤°»ò-HOWTO)¤¤´y­z¡D

<sect>¯¦³Z©M§Þ¥©
<p>

<sect1>­«¾É make ©Î¬O patch «ü¥Oªº¿é¥X
<p>
¦pªG§A·Q­n°O¿ý³o¨Ç `<tt>make</tt>' ©Î¬O `<tt>patch</tt>' «ü¥O¨ì©³°µ¤F¨Ç¤°»ò¡A
§A¥i¥H§â¿Ã¹õªº¿é¥X­«¾É¨ì¤@­ÓÀÉ®×¥h¡D­º¥ý¡A­nª¾¹D§A¥Îªº¬O¬O¨º¤@ºØ shell¡G
`<tt>grep root /etc/passwd</tt>' µM«á´M§ä¬Ý°_¨Ó¹³ `<tt>/bin/csh</tt>' ¤@ÃþªºªF¦è¡D
<p>
¦pªG§A¨Ï¥Îªº¬O sh ©Î¬O bash¡A
<verb>
    (command) 2>&1 | tee (output file)
</verb>
±N·|§â¤@¥÷ <tt>(command)</tt> ªº¿é¥X©ñ¨ì `<tt>(output file)</tt>' ³o­ÓÀÉ®×¥h¡D
<p>
¦pªG¬O csh ©Î tcsh¡A¥Î
<verb>
    (command) |& tee (output file)
</verb>
³o­Ó»yªk¡D
<p>
¦pªG¬O rc (ª`·N¡G§AÀ³¸Ó¤£·|¬O¥Î rc)¡A»yªk¬O
<verb>
    (command) >[2=1] | tee (output file)
</verb>

<sect1>±ø¥ó¦¡ªº®Ö¤ß¦w¸Ë
<p>
°£¤F¨Ï¥Î³nºÐ¤ù¡AÁÙ¦³¼ÆºØ¦b¤£°ÊÂÂ®Ö¤ßªº±¡ªp¤U´ú¸Õ·s®Ö¤ßªº¤èªk¡D
¤£¹³¨ä¥¦ªº Unix ¨t²Î¡ALILO ¨ã¦³±q¥ô¦ó¦a¤è±Ò°Ê®Ö¤ßªº¯à¤O¡D
(¤£¹L¦pªG§A¦³¤jªºµwºÐ¡A¶W¹L 500 MB ªº¡A½Ð°Ñ¦Ò LILO ªº¤å¥ó»¡©ú±N¥i¯à¤Þ°_ªº°ÝÃD¡D)
¦]¦¹¡A¦pªG§A¦b LILO °t¸mÀÉ®×¤¤¥Î¹³³o¼Ëªº
<verb>
    image = /usr/src/linux/arch/i386/boot/zImage
        label = new_kernel
</verb>
§A¥i¥H¦b¤£°ÊÂÂ®Ö¤ß <tt>/vmlinuz</tt> ªº±¡ªp¤U¿ï¾Ü°õ¦æ·s½sÄ¶ªº®Ö¤ß(·íµM¡A¦b°õ¦æ§¹ <tt>lilo</tt> «á)¡D
¥s LILO ±Ò°Ê·s®Ö¤ß³ÌÂ²³æªº¤èªk´N¬O¦b±Ò°Ê®É«ö¤U shift Áä(·í§A¦b¿Ã¹õ¥u¬Ý¨ì <tt>LILO</tt> ®É)¡A
³o·|µ¹§A¤@´£¥Ü²Å¸¹¡D¦¹®É§A¥i¥HÁä¤J `<tt>new_kernel</tt>' ¨Ó±Ò°Ê·s®Ö¤ß¡D
<p>
¦pªG§A·Q¦b¨t²Î¤¤¦P®É«O¦³¼ÆºØ¤£¦Pªº®Ö¤ß­ì©lµ{¦¡½X(¤p¤ß¡A³o·|¥Î±¼<it>¤j¶q</it>ªºµwºÐªÅ¶¡)¡A
³Ì´¶³qªº¤èªk´N¬O±N¨ä©R¦W¬° <tt>/usr/src/linux-x.y.z</tt>¡A¨ä¤¤ <tt>x.y.z</tt> ¬O®Ö¤ßª©¥»¡D
µM«á§A¥i¥H¥Î²Å¸¹³sµ²¨Ó``¿ï¾Ü''¤@¥÷­ì©l½X; ¨Ò¦p¡A¥Î `<tt>ln -sf linux-1.2.2 /usr/src/linux</tt>' ·|Åý 1.2.2 ¦¨¬°¥Ø«eªº®Ö¤ß¾ð¡D
¦ý¦b«Ø¥ß²Å¸¹³sµ²¤§«e¡A¥ý½T©w <tt>ln</tt> «ü¥O³Ì«á¤@­Ó°Ñ¼Æ¤£¬O¤@­Ó¯u¥¿ªº¥Ø¿ý(ÂÂªº²Å¸¹³sµ²¨S¦³Ãö«Y);
§_«hµ²ªG¥i¯à¤£·|¬O§A©Ò¹w´Áªº¡D

<sect1>®Ö¤ß§ó·s
<p>
Russell Nelson (<tt><htmlurl url="mailto:nelson@crynwr.com" name="nelson@crynwr.com"></tt>) Á`µ²¤F·sª©®Ö¤ßªº§ïÅÜ¡D
³o¨Ç¬OÂ²µuªº¡A¦Ó¥B§A¦b¤É¯Å«e¥i¯àÀ³¸Ó¥ý¬Ý¤@¤U¡D¥i¥H±q°Î¦W FTP ¯¸ <tt>ftp.emlist.com</tt> ªº <tt><htmlurl url="ftp://ftp.emlist.com/pub/kchanges" name="pub/kchanges"></tt>¡A

<sect>¨ä¥¦¥i¯à¬ÛÃö¦³¥Îªº HOWTOs
<p>
<itemize>
<item> Sound-HOWTO: ­µ®Ä¥d»P¤u¨ã
<item> SCSI-HOWTO: ©Ò¦³Ãö©ó SCSI ±±¨î¥d»P³]³Æªº¸ê°T
<item> NET-2-HOWTO: ºô¸ô
<item> PPP-HOWTO: ¯S§OÃö©ó PPP ºô¸ôªº
<item> PCMCIA-HOWTO: µ§°O«¬¹q¸£ªºÅX°Êµ{¦¡
<item> ELF-HOWTO: ¤°»ò¬O ELF¡A¦p¦óÂà´«µ¥¡K
<item> Hardware-HOWTO: ¤ä´©µwÅéªº·§­n
<item> Module-HOWTO: §ó¦h»P®Ö¤ß¼Ò²Õ¦³Ãöªº
<item> Kerneld mini-HOWTO: Ãö©ó kerneld
<item> BogoMips mini-HOWTO: §A¥i¯à·|¦³¿³½ìªº
</itemize>

<sect>Âø¶µ<p>

<sect1>§@ªÌ
<p>
Linux Kernel-HOWTO ªº§@ªÌ¤ÎºûÅ@¤H¬O Brian Ward (<tt><htmlurl url="mailto:bri@blah.math.tu-graz.ac.at" name="bri@blah.math.tu-graz.ac.at"></tt>)¡D
½Ð±N¥ô¦óµû½×¡A¸É¥R»P§ó¥¿±Hµ¹§Ú(§ó¥¿¹ï§Ú¨Ó»¡¬O¯S§O­«­nªº)¡D

<p>
§A¥i¥H±q³o¨Ç URL §ä¨ì§Úªººô­¶:
<tscreen><tt>
    <htmlurl url="http://www.math.psu.edu/ward/" name="http://www.math.psu.edu/ward/"><newline>
    <htmlurl url="http://blah.math.tu-graz.ac.at/~bri/" name="http://blah.math.tu-graz.ac.at/~bri/">
</tt></tscreen>
<p>
ÁöµM§Ú¾¨¥i¯à¦a¥h³B²z¹q¤l¶l¥ó¡A¦ý½Ð°O¦í§Ú¨C¤Ñ³£¦¬¨ì<it>¤j¶q</it>ªº«H¥ó¡A©Ò¥H¥i¯à­nªá¤@ÂI®É¶¡¤~·|¦^ÂÐ§A¡D
¯S§O¬O±H«H¨Ó°Ý§Ú°ÝÃDªº¡A½Ð¾¨¶q«D±`²M·¡»P¸ÔºÉ¦a´y­z§Aªº°T®§¡D
¦pªG§A»¡ªº¬O¬Y­ÓµLªk¹B§@ªºµwÅé(©ÎÃþ¦üªº)¡A§Ú»Ý­nª¾¹D§AªºµwÅé°t¸m¬O¤°»ò¡D
¦pªG§A­n¦^³ø¿ù»~¡A¤£­n¥u¬O»¡``§Ú³o¼Ë¸Õ¦ý¥¦µ¹§Ú·|¿ù»~°T®§''; §Ú»Ý­nª¾¹D³o­Ó¿ù»~°T®§¬O¤°»ò¡D
§Ú¥i¯à¤]·Qª¾¹D§Aªº®Ö¤ß¡Agcc¡Alibc ªºª©¥»¬O¤°»ò¡A¦pªG§A¥u¬O§i¶D§Ú§A¥Îªº¬O³o­Ó©Î¨º­Ó®M¥ó¡A¨º¨S¤°»ò¥Î¡D
§Ú¤£¤¶·N§A°Ý§ÚÂ²³æªº°ÝÃD; ½Ð°O¦í¡A¦pªG§A¤£°Ý¡A§A±N¥Ã»·¤£·|±o¨ì¸Ñµª¡D
§Ú­n·PÁÂ¨C­Óµ¹§Ú¦^õXªº¤H­Ì¡D
<p>
¦pªG§A¼g«Hµ¹§Ú¦ý¦b¤@¬q¦X²zªº®É¶¡¤º¨S¦³±o¨ì¦^À³(¤T¬P´Á©Î§ó¤[)¡A¨º»ò¥i¯à§Ú¤£¤p¤ß¬å±¼¤F§Aªº«H¥ó©Î½Ñ¦p¦¹Ãþªº(©êºp)¡D
½Ð¦A¸Õ¤@¦¸¡D
<p>
§Ú¦¬¨ì³\¦h«H¥ó¬OÃö©óµwÅé°ÝÃDªº¡D³o¨S°ÝÃD¡A¦ý½Ð¤F¸Ñ§Ú¨Ã¤£¬O¼ô±x¥@¬É¤W©Ò¦³µwÅéªº¤H¦Ó¥B§Ú¤]¤£ª¾¹D§Ú¯àÀ°¦h¤Ö¦£¡D
§Ú­Ó¤H¨Ï¥Îªº¾÷¾¹¦³ IDE »P SCSI µwºÐ¡ASCSI ¥úºÐ¾÷¡A3Com »P WD ªº¤A¤Óºô¸ô¥d¡A¦ê¦C·Æ¹«¡A
PCI ¥D¾÷ªO¡ANCR 810 SCSI ±±¨î¾¹¡AAMD 386DX40 w/Cyrix »²§U³B²z¾¹¡AAMD 5x86¡AAMD 486DX4 »P Intel 486DX4 ³B²z¾¹
(³o¥u¬O§Ú¦b¨Ï¥Î¦Ó¥B¼ô±xªºµwÅéºK­n¡A¨Ã¤£¬O«ØÄ³¡A¦ý¦pªG§A·Q­n¥Î¡AÅwªï¨Ó¸ß°Ý <tt>:-) </tt>)¡D
<p>
0.1 ª©§¹¦¨©ó 1994 ¦~¤Q¤ë¤T¤é¡D¥»¤å¥ó¥i¥H SGML, PostScript, TeX, roff »P¯Â¤å¦r®æ¦¡¨ú±o¡D

<sect1>¹w©w¥Ø¼Ð
<p>
``¯¦³Z©M§Þ¥©'' ¤@¸`¤Ó¤Ö¤F¡D§Ú§Æ±æ¯à¥Î±q§O¤H±o¨ìªº«ØÄ³¨ÓÂX¥R¡D
<p>
``ªþ¥[ªº®M¥ó'' ¤@¸`¤]¬O¡D
<p>
ÁÙ»Ý­n§ó¦hªº°»¿ù/·í¾÷¦^´_¸ê°T¡D

<sect1>°^ÄmªÌ
<p>
¥]§t¤F¤@¤p³¡¥÷ Linus ªº README ÀÉ®× (kernel hacking ¿ï¶µ)¡D·PÁÂ Linus!
<p>
<tt>uc@brian.lunetix.de</tt> (Ulrich Callmeier): patch -s and xargs.<p>
<tt>quinlan@yggdrasil.com</tt> (Daniel Quinlan): corrections and
additions in many sections.<p>
<tt>nat@nat@nataa.fr.eu.org</tt> (Nat Makarevitch): mrproper, tar -p, many
other things<p>
<tt>boldt@math.ucsb.edu</tt> (Axel Boldt): collected descriptions of
kernel configuration options on the net; then provided me with the list<p>
<tt>lembark@wrkhors.psyber.com</tt> (Steve Lembark): multiple boot
suggestion<p>
<tt>kbriggs@earwax.pd.uwa.edu.au</tt> (Keith Briggs): some corrections and
suggestions<p>
<tt>rmcguire@freenet.columbus.oh.us</tt> (Ryan McGuire): makeables
additions<p>
<tt>dumas@excalibur.ibp.fr</tt> (Eric Dumas): French translation<p>
<tt>simazaki@ab11.yamanashi.ac.jp</tt> (Yasutada Shimazaki): Japanese translation<p>
<tt>jjamor@lml.ls.fi.upm.es</tt> (Juan Jose Amor Iglesias): Spanish translation<p>
<tt>mva@sbbs.se</tt> (Martin Wahlen): Swedish translation<p>
<tt>jzp1218@stud.u-szeged.hu</tt> (Zoltan Vamosi): Hungarian translation<p>
<tt>bart@mat.uni.torun.pl</tt> (Bartosz Maruszewski): Polish translation<p>
<tt>donahue@tiber.nist.gov</tt> (Michael J Donahue): typos, winner of the
``sliced bread competition''<p>
<tt>rms@gnu.ai.mit.edu</tt> (Richard Stallman):
``free'' documentation concept/distribution notice<p>
<tt>dak@Pool.Informatik.RWTH-Aachen.DE</tt> (David Kastrup): NFS thing<p>
<tt>esr@snark.thyrsus.com</tt> (Eric Raymond): various tidbits<p>

´¿±H«Hµ¹§Ú°Ý°ÝÃDªº¤H¤]¦³«Ü¤jÀ°§U¡D
<p>

<sect1>ª©ÅvÁn©ú¡A³\¥i¡A½Ñ¦p¦¹Ãþªº
<p>
Copyright &copy Brian Ward, 1994-1997.<p>
Permission is granted to make and distribute copies of this manual provided
the copyright notice and this permission notice are preserved on all
copies.<p>

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.''
<p>

Warranty: None.<p>

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.<p>

</article>
