BBSˮľÇ廪վ¡Ã¾«»ªÇø
·¢ÐÅÈË: dfbb (ÕÔÎÞ¼É), ÐÅÇø: Linux
±ê Ìâ: [CLDP]Kernel-Howto
·¢ÐÅÕ¾: BBS ˮľÇ廪վ (Sat May 2 23:09:51 1998)
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
_________________________________________________________________
ÕâÊÇÒ»·Ý¹Øì¶ÈçºÎÅäÖᢱàÒë¡¢Éý¼¶ºËÐÄÒÔ¼°ÅÅÄѽâ·×µÄÏêϸָÒý£®
_________________________________________________________________
1. ¼ò½é
1.1. ÇëÏÈ¿´´Ë!
1.2. ÎÄÕ·ç¸ñ˵Ã÷
2. ÖØÒªÎÊÌâÓë½â´ð
2.1. ²»¹ÜÔõ÷áÑù£¬ºËÐĵ½µ×ÊÇ×öʲ÷áµÄ?
2.2. ÎÒΪʲ÷áÒª¸üкËÐÄ?
2.3. ½ÏеĺËÐÄÖ§Ô®ÄÇЩӲÌå?
2.4. ÎÒÐèÒªÄǸö°æ±¾µÄ gcc »òÊÇ libc ?
2.5. ʲ÷áÊÇ¿ÉÔØÈëÄ£×é?
2.6. ÎÒÐèÒª¶à´óµÄ´Åµú¿Õ¼ä?
2.7. ÕâÐèÒª¶à¾ÃµÄʱ¼ä?
3. ÈçºÎÕæÕý½øÐкËÐĵÄÅäÖÃ?
3.1. È¡µÃÔʼ³ÌʽÂë
3.2. ½â¿ªÔʼ³ÌʽÂëµÄ°ü×°
3.3. ÅäÖúËÐÄ
3.4. ÏÖÔÚÄØ? (The Makefile)
4. ±àÒëºËÐÄ
4.1. Çå³ýÓëÈ·ÈÏ
4.2. ±àÒëʱÆÚ
4.3. ÆäËû¿ÉÒÔ``make''µÄ¶«Î÷
4.4. °²×°ºËÐÄ
5. ÐÞ²¹ºËÐÄ
5.1. ʹÓÃÐÞ²¹µµ
5.2. Èç¹ûÓдíÎó·¢Éú
5.3. ¿³µô .orig µµ°¸
5.4. ÆäËüµÄÐÞ²¹µµ
6. ¸½¼ÓµÄÌ×¼þ
6.1. kbd
6.2. util-linux
6.3. hdparm
6.4. gpm
7. һЩÏÝÚå
7.1. make clean
7.2. ¾Þ´ó»ò»ºÂýµÄºËÐÄ
7.3. ºËÐÄÎÞ·¨±àÒë
7.4. аæµÄºËÐÄËÆºõ²»ÄÜÆô¶¯
7.5. ÄãÍüÁËÖ´ÐÐ LILO£¬»òϵͳ¸ù±¾²»ÄÜÆô¶¯
7.6. ϵͳ±íʾ `warning: bdflush not running'
7.7. ϵͳ˵ undefined symbols ¶øÇÒÎÞ·¨±àÒë
7.8. ÎÞ·¨ÈÃÎÒµÄ IDE/ATAPI CD-ROM Õý³£¹¤×÷
7.9. ϵͳÏÔʾ¹Øì¶ obsolete routing requests µÄÆæ¹ÖѶϢ
7.10. ·À»ðǽ¹¦ÄÜÎÞ·¨ÔÚ 1.2.0 ÉϹ¤×÷
7.11. ``Not a compressed kernel Image file'' (·ÇѹËõºËÐÄÓ³Ïñµµ)
7.12. Éý¼¶ÖÁ 1.3.x ááÔÚ¿ØÖÆÌ¨ÖÕ¶Ë»úÉϵÄÎÊÌâ
7.13. ºËÐÄÉý¼¶ááËÆºõÎÞ·¨±àÒë¶«Î÷
7.14. Ôö¼ÓÉÏÏÞ
8. Éý¼¶ÖÁ 2.0.x µÄ×¢ÒâÊÂÏî
9. ¿ÉÔØÈëÄ£×é
9.1. °²×°Ä£×鹤¾ß
9.2. ÓëºËÐÄ·¢ÐеÄÄ£×é
10. ÆäËüÅäÖÃÑ¡Ïî
10.1. General setup (Ò»°ãÉ趨)
10.2. Networking options (ÍøÂ·Ñ¡Ïî)
11. ¡õ¾÷ºÍ¼¼ÇÉ
11.1. ÖØµ¼ make »òÊÇ patch Ö¸ÁîµÄÊä³ö
11.2. Ìõ¼þʽµÄºËÐݲװ
11.3. ºËÐĸüÐÂ
12. ÆäËü¿ÉÄÜÏà¹ØÓÐÓÃµÄ HOWTOs
13. ÔÓÏî
13.1. ×÷Õß
13.2. Ô¤¶¨Ä¿±ê
13.3. ¹±Ï×Õß
13.4. °æÈ¨ÉùÃ÷£¬Ðí¿É£¬ÖîÈç´ËÀàµÄ
Kernel HOWTO ÖÐÒë°æ : ¼ò½é
Previous: Kernel HOWTO ÖÐÒë°æ
Next: ÖØÒªÎÊÌâÓë½â´ð
_________________________________________________________________
1. ¼ò½é
ÄãÊÇ·ñÐèÒªÔĶÁÕâ·ÝÎļþ? Èç¹ûÄãÓÐÏÂÁÐÈκÎÖ¢×´Ö®Ò»µÄ»°£¬Êǵģº
* ``°¥Ñ½£¡ÕâÌ× wizzo-46.5.6 ÈíÌå˵ËüÐèÒª 1.8.193
°æµÄºËÐÄ£¬¶øÎÒÈ´ÈÔȻֻÓÐ 1.0.9 °æ£¡''
* ±È½ÏеĺËÐÄÖ®Ò»¡õÃæÓÐÄãÕýºÃÐèÒªµÄÒ»¸öÉ豸Çý¶¯³Ìʽ£®
* Äã¶Ôì¶ÈçºÎ±àÒëºËÐÄÕæµÄÒ»ÎÞËùÖª£®
* ``ÔÚ README µµ°¸ÀïÃæÕæµÄ¾ÍÊÇÈ«²¿µÄ×ÊÁÏÁËÂð?''
* ÄãÀ´£¬ÄãÊÔ£¬Ëü»¹ÊDz»¶¯£®
* ÄãÐèҪijʸøÓèÒ»Ö±ÒªÇóÄãΪËûÃǰ²×°ºËÐĵÄÈËÃÇ£®
1.1. ÇëÏÈ¿´´Ë!
Õâ·ÝÎļþÖеÄijЩ¡õÀý¼ÙÉèÄãÓÐ GNU tar£¬find ÒÔ¼° xargs£® ÕâЩÊÇ Linux
Ì×¼þÀïµÄ±ê×¼¹¤¾ß£¬Ó¦¸Ã²»ÊÇÎÊÌ⣮
ÎļþÖÐÒ²¼ÙÉèÄãÖªµÀÄãϵͳµÄµµ°¸ÏµÍ³¼Ü¹¹£¬Èç¹ûÄã²¢²»ÖªµÀ£¬×îºÃ¸Ï¿ìдÏÂÒ»
·Ý mount Ö¸ÁîÔÚϵͳÕý³£ÔË×÷Ï£¬ËùÏÔʾµÄ½á¹û×÷Ϊ²Î¿¼(»òÕßÊÇÒ»·Ý
/etc/fstab µÄÁÐ±í£¬Èç¹ûÄãÄܹ»¿´µÃ¶®)£®
ÕâЩ×ÊѶºÜÖØÒª£¬¶øÇÒ£¬³ý·ÇÄãÖØÐ·ָî»ò¼ÓÈëеĴŵú£¬ÖØÐ°²×°ÄãµÄϵͳÒÔ
¼°×öÖîÈç´ËÀàµÄ²Ù×÷£¬·ñÔòËüÃDz»»á±ä¶¯£®
±¾ÎÄд×÷ʱ×îÐÂ``²úÆ·''µÄºËÐİ汾ºÅÂëÊÇ
2.0.30£¬Ò²¾ÍÊÇ˵±¾ÎĵIJο¼¼°Àý×ÓÊǶÔӦ춸ð汾µÄ£®
ËäÈ»ÎÒ³¢ÊÔÈÃÕâÆªÎÄÕ¾¡Á¿¸ú°æ±¾Î޹أ¬ºËÐÄÈ´²»¶ÏµØÔÚ·¢Õ¹ÖУ®
Òò´ËÈç¹ûÄãÈ¡µÃһеİ汾£¬Ëü²»¿É±ÜÃâµØ»áÓÐһЩ²»Í¬£®
µ±È»£¬ÕâÓ¦¸Ã²»»áÔì³É´óÎÊÌ⣬µ«Ëü¿ÉÄÜ»áÖÆÔìһЩ»ìÏý£®
ÓÐÁ½ÖÖ°æ±¾µÄ Linux ºËÐÄÔʼÂ룬``²úÆ·'' Óë ``·¢Õ¹ÖÐ'' µÄ£® ²úÆ·°æ±¾´Ó
1.0.x ¿ªÊ¼¶øÇÒĿǰÊÇÒÔżÊý±àºÅ·¢±íµÄ; 1.0.x ÊDzúÆ·£¬1.2.x ÊDzúÆ·£¬
2.0.x Ò²ÊÇ£®ÕâЩ°æ±¾Ó¦¸Ã±È½ÏÎȶ¨£¬ÔÚ·¢±íʱÊÇûÓгô¡õ(bug)µÄ°æ±¾£®
·¢Õ¹ÖеĺËÐÄ (1.1.x, 1.3.x µÈµÈ)
ÊÇ×÷Ϊ²âÊÔÓõ쬏øÄÇЩÏëÒª²âÊÔ×îжøÇÒ¿ÉÄÜÓÐÐí¶à³ô¡õµÄÈËÓõģ® ÒѾ-
¾¯¸æ¹ýÄãÁË£®
1.2. ÎÄÕ·ç¸ñ˵Ã÷
¿´ÆðÀ´ÏñÕâÑù text µÄÎÄ×Ö»òÕßÊÇijÑù½«³öÏÖÄãµÄÓ©Ä»ÉϵĶ«Î÷£¬Ò»¸öµµÃû£¬
»òÊÇijÑù¿É±»Ö±½Ó¼üÈëµÄ¶«Î÷£¬ÏñÊÇÃüÁ»òÃüÁîµÄÑ¡Ïî(Èç¹ûÄã¿´µÄÊÇ´¿ÎÄ×Öµ
µ°¸£¬Ëü¿´ÆðÀ´Ã»Ê²÷᲻ͬ)£® ÃüÁîÓëÆäËüµÄÊäÈë¾³£±»¿òÆðÀ´(ÓÃ` ')£¬Õâ¾-
³£ÒýÆðµäÐ͵ıêµã·ûºÅÎÊÌâ:
Èç¹ûÕâÑùµÄÏîÄ¿³öÏÖÔÚ¾ä×ÓµÄ×îááÃæ£¬ÈËÃÇʱ³£»áÔÚÃüÁîááÃæ¼ÓÉÏÒ»¾äºÅ `.'£¬
ÒòΪÃÀ¹úÈ˵ÄÒýºÅϰ¹ß½«¾äºÅ·ÅÈëÒýºÅÀïÃæ£®
¼´Ê¹Óó£Ê¶(¶ø²»ÐÒµÄÊÇ£¬Õâ¼ÙÉèÁËÓµÓдË``³£Ê¶''µÄÈËÊÇϰ¹ßì¶ÃÀ¹úʽµÄÒýºÅ)
ÏëÒ²ÖªµÀÓ¦ÏȽ«Õâ±êµãÈ¥µô£¬µ«ºÜ¶àÈË×ÜÊÇÍü¼Ç£®
ËùÒÔÔÚ´ËÇéÐÎÏÂÎÒ½«¾äºÅ·ÅÔÚÒýºÅÍâÍ·£®»»¾ä»°Ëµ£¬µ±ÎÒ½ÐÄãÒª´ò ``make
config'' ʱ£¬ ÎÒ»áд `make config'£¬¶ø²»ÊÇ `make config.'£®
_________________________________________________________________
2. ÖØÒªÎÊÌâÓë½â´ð
2.1. ²»¹ÜÔõ÷áÑù£¬ºËÐĵ½µ×ÊÇ×öʲ÷áµÄ?
ÔÚ Unix ϵͳÖУ¬ÏñÊÇÄãµÄ³ÌʽÓëÓ²ÌåµÄÒ»¸öÖÙ²ÃÕߣ®
Ê×ÏÈ£¬ËüΪËùÓÐÖ´ÐÐÖеijÌʽ(³ÌÐò)×ö¼ÇÒäÌå¹ÜÀí£¬
²¢ÇÒÈ·±£ËüÃǶ¼Äܹ»Æ½¾ù(»ò²»Æ½¾ù£¬Èç¹ûÄãÔ¸Òâ)µÄ·ÖÏí´¦Àí»úµÄÔËËã×ÊÔ´£®
´ËÍ⣬Ëü»¹ÌṩÁËÒ»¸öÁ¼ºÃµÄ½éÃæÈøոÕÌáµ½µÄ³ÌʽÄÜ͸¹ýËüÓëÄãµÄÓ²Ì幵ͨ£®
ÆäʵºËÐÄËù´¦ÀíµÄ¹¤×÷±ÈÕ⻹Ҫ¸ü¸´ÔÓһЩ£¬²»¹ýÕâЩ»ù±¾µÄ¹¦ÄÜÊÇ×î±ØÒªÖªµÀ
µÄ£®
2.2. ÎÒΪʲ÷áÒª¸üкËÐÄ?
±È½ÏеĺËÐÄÒ»°ãÀ´Ëµ»áÌṩ¸üÇ¿µÄÄÜÁ¦À´Óë¸ü¶àÖÖÆæÆæ¹Ö¹ÖµÄÓ²Ì幵ͨ(Ò²¾ÍÊ
Ç˵£¬ËüÃÇÓµÓиü¶àµÄÉ豸Çý¶¯³Ìʽ)£¬
ËüÃÇÄܹ»ÓиüºÃµÄÐг̹ÜÀí£¬ËüÃÇÄܹ»Ö´ÐеıȾɵİ汾¸üÓÐЧÂÊ£¬ËüÃÇ¿ÉÄܱÈ
¾ÉµÄ°æ±¾À´µÄ¸üÎȶ¨£¬¶øÇÒËüÃÇÐÞÕýÁ˾ɰæÀïµÄһЩ´íÎó£®
´ó²¿·ÖµÄÈËÊÇÒòΪËûÃÇÐèÒªÄÇЩеÄÉ豸Çý¶¯³ÌʽÒÔ¼°´íÎóÐÞÕýµÄ²¿·Ý¶ø¸üкË
ÐÄ£®
2.3. ½ÏеĺËÐÄÖ§Ô®ÄÇЩӲÌå?
Çë¿´ Hardware-HOWTO Îļþ£® ÁíÒ»¸ö·½·¨ÊÇ£¬Äã¿ÉÒԲ鿴 Linux Ô-
ʼ³ÌʽÂëÖÐµÄ `config.in' µµ£¬ »òÕß¾ÍÔÚµ±ÄãÊÔÖøÈ¥ `make config'
ʱÕÒ³öÀ´£® `make config' ½«»áÈÃÄã¿´µ½±ê×¼µÄºËÐÄÔ-
ʼ³ÌʽÂëÖ§Ô®µÄËùÓÐÓ²Ì壬µ«Õâ²¢²»ÊÇ Linux ËùÖ§Ô®µÄÈ«²¿Ó²Ì壻
Ðí¶àÆÕͨµÄÉ豸Çý¶¯³Ìʽ(ÏñÊÇ PCMCIA
Çý¶¯³ÌʽÒÔ¼°Ä³Ð©´Å´ø»úµÄÇý¶¯³Ìʽ)ÊǸö±ðά»¤¼°·¢ÐеĿÉÔØÈëÄ£×飮
2.4. ÎÒÐèÒªÄǸö°æ±¾µÄ gcc »òÊÇ libc ?
Linus ¶ÔÕâ¸öÎÊÌâµÄ½¨Òé·ÅÔÚ Linux Ôʼ³ÌʽµÄ README µµ°¸¡õÍ·£®
Èç¹ûÄãûÓиð汾»òÊǸüеİ汾£¬Ð°æµÄ gcc Ó¦¸Ã»á¸æËßÄãÊÇ·ñÐèÒª¸üÐÂ
libc µÄ°æ±¾£® ÕâÁ½¸ö²Ù×÷¶¼²»»áÓÐʲ÷áÎÊÌ⣬ֻҪÕÕÖøËµÃ÷×ö¾Í¿ÉÒÔÁË£®
2.5. ʲ÷áÊÇ¿ÉÔØÈëÄ£×é?
ËüÃÇÊǺËÐĵÄÒ»²¿·Ö(ͨ³£ÊÇÉ豸Çý¶¯³Ìʽ)£¬µ«ÊDz¢Ã»ÓбàÒëµ½ºËÐÄÀïÃæÈ¥£®
ËüÃDZ»·Ö±ð±àÒ룬ȻáἸºõ¿ÉÒÔÔÚÈκÎʱºò½«ËüÃDzåÈëÔË×÷ÖеĺËÐÄ»ò´ÓÖÐÈ¡³ö
£® ÓÉì¶ËüµÄ±ãÀûÐÔ£¬ÕâÒѾ³ÉΪһÖÖÔö¼Ó¶«Î÷µ½ºËÐÄÀïÈ¥µÄ½ÏºÃ·½Ê½£®
Ðí¶à³£ÓõÄÉ豸Çý¶¯³Ìʽ£¬ÀýÈç PCMCIA Çý¶¯³ÌʽÒÔ¼° QIC-80/40
´Å´ø»úµÄÇý¶¯³Ìʽ¾ÍÊÇ¿ÉÔØÈëÄ£×飮
2.6. ÎÒÐèÒª¶à´óµÄ´Åµú¿Õ¼ä?
ÕâÓëÄãϵͳµÄÌØÊâÅäÖÃÓйأ®Ê×ÏÈ£¬Ñ¹Ëõ¹ýááµÄ Linux Ôʼ³ÌʽÂëÔÚ 2.0.10
°æÊ±Ô¼Õ¼ 6 MB£® Ðí¶àվ̨ÔÚ½âѹËõááÈԻᱣÁôÒ»·Ý£®½âѹËõÒÔááÕ⽫ռµôÔ¼
24 MB£® µ«Õ⻹²»ÊÇÈ«²¿ ¡ª Ä㽫»áÐèÒª¸ü¶àµÄ´Åµú¿Õ¼äÀ´Êµ¼Ê±àÒëÕâЩ¶«Î÷£®
ÕâÓëÄãÅäÖöàÉÙ¶«Î÷µ½ÄãµÄºËÐÄÀïÍ·È¥Óйأ®ÀýÈ磬ÔÚij²¿»úÆ÷ÉÏ£¬ÎÒÓÐÍøÂ·£¬
3Com 3C503 µÄÇý¶¯³Ìʽ£¬ ²¢ÇÒÅäÖÃÁËÈýÖÖµµ°¸ÏµÍ³£¬¶øÕâÈ«²¿¹²ÐèÒª 30
MB£®¼ÓÉÏѹËõ¹ýµÄ linux Ôʼ³ÌʽÂ룬Õâ¸öÅäÖôó¸ÅÐèÒªÓõôÄã 36MB £®
ÔÚÁíÍâÒ»¸öϵͳÉÏ£¬²»ÐèÒªÖ§Ô®ÍøÂ·É豸(µ«ÈÔÈ»ÐèÒªÖ§Ô®ÍøÂ·)£¬¼ÓÉÏÒôЧ¿¨£¬
½á¹û³Ôµô¸ü¶à¿Õ¼ä£®
»¹ÓУ¬Ò»¸öа汾µÄºËÐļ¸ºõ×ÜÊDZȾɰ汾µÄÕ¼¸ü´óµÄ¿Õ¼ä£®
ËùÒÔ£¬Ò»°ãÀ´Ëµ£¬Èç¹ûÄãÓÐÐí¶àÖÖÓ²ÌåÉ豸µÄ»°£¬È·¶¨ÄãÓÐ×ã¹»µÄÓ²µú¿Õ¼äÀ´ÈÝ
ÄÉÕâ¸öÅäÖã®
(ÒÔ½ñÈյļ۸ñÀ´Ëµ£¬¶Ôì¶´¢´æ¿Õ¼äµÄÎÊÌâÎÒ²»Äܲ»½¨ÒéÄãÔÙÂòһ̨´Åµú»ú£®)
2.7. ÕâÐèÒª¶à¾ÃµÄʱ¼ä?
¶Ô´ó²¿·ÝµÄÈ˶øÑÔ£¬´ð°¸ÊÇ``ºÜ¾Ã''£®ÄãµÄ´¦Àí»úËÙ¶ÈÓжà¿ì£¬ÒÔ¼°ÄãÓµÓеļÇ
ÒäÌåÊýÁ¿ÓжàÉÙ½«ÊǾö¶¨ËùÐèʱ¼äµÄÖ÷ÒªÒòËØ£¬
µ«ÊÇ£¬ÔڰѶàÉÙ¶«Î÷ÅäÖõ½ºËÐÄÀïÍ·È¥Õâ·½Ãæ»¹ÊÇ¿ÉÒÔ×öµãŬÁ¦£® ÔÚһ̨ÓÐ 16
MB ¼ÇÒäÌåµÄ 486DX4-100
µçÄÔÉÏ£¬Ò»¸öÓÐÎåÖÖµµ°¸ÏµÍ³¡¢Ö§Ô®ÍøÂ·¡¢ÒÔ¼°ÒôЧ¿¨Çý¶¯³ÌʽµÄ 1.2
°æºËÐÄ¿ÉÒÔÔÚ¶þÊ®·ÖÖÓÒÔÄÚÍê³É£® ÀàËÆµÄÅäÖã¬ÔÚһ̨ 386DX/40(8 MB
¼ÇÒäÌå)ÉÏ´óÔ¼ÐèÒªÒª 1.5 ¸öСʱ£®
ÔÚ±àÒëºËÐÄʱͨ³£Ò»Ð©ºÃµÄ½¨ÒéÊÇÈ¥ºÈÒ»µã¿§·È£¬¿´µãµçÊÓ£¬Ö¯Ð©Ã«Ïߣ¬»òÈκÎ
Äãϲ»¶µÄÊ£® Èç¹ûÄãµÄ»úÆ÷ÕæµÄºÜÂýµÄ»°ÄãÒ²¸Ã»»Ì¨½Ï¿ìµÄ»úÆ÷£®
_________________________________________________________________
Kernel HOWTO ÖÐÒë°æ : ÖØÒªÎÊÌâÓë½â´ð
Previous: ¼ò½é
Next: ÈçºÎÕæÕý½øÐкËÐĵÄÅäÖÃ? Kernel HOWTO ÖÐÒë°æ :
ÈçºÎÕæÕý½øÐкËÐĵÄÅäÖÃ?
Previous: ÖØÒªÎÊÌâÓë½â´ð
Next: ±àÒëºËÐÄ
_________________________________________________________________
3. ÈçºÎÕæÕý½øÐкËÐĵÄÅäÖÃ?
3.1. È¡µÃÔʼ³ÌʽÂë
Äã¿ÉÒÔ¾ÓÉÄäÃû ftp Õ¾´Ó ftp.funet.fi µÄ /pub/Linux/PEOPLE/Linus£¬
»òÊÇÆäËü MIRROR վȡµÃ£®([Òë×¢] ̨Íå¿É´Ó ftp.edu.tw È¡µÃ£®)
µµ°¸Ãû³ÆÒ»°ãÊÇÒÔ±ê¼Ç³É linux-x.y.z.tar.gz Ϊ´ú±í£¬ÆäÖÐµÄ x.y.z
Êǰ汾±àºÅ£® ½ÏеÄ(¸üºÃµÄ?)°æ±¾ÒÔ¼°ÐÞ²¹µµÒ»°ãÊÇ·ÅÔÚÀàËÆ `v1.1' ÒÔ¼°
`v1.2' ÕâÑùµÄ×ÓĿ¼Ï£®
Êý×Ö×î´óµÄÊÇ×îеİ汾£¬¶øÇÒͨ³£ÊÇ``²âÊÔ°æ''£¬Ò²¾ÍÊÇ˵Èç¹ûÄã¶Ô beta »ò
alpha °æ¸Ðµ½²»°²µÄ»°£¬ÄãÓ¦¸ÃÍ£ÁôÔÚÖ÷ÒªµÄ·¢Ðа汾ÉÏ£®
Ç¿ÁÒ½¨ÒéÄãÈ¥ÕÒ mirror µÄ ftp ½Úµã£¬¶ø²»ÒªÖ±½Óµ½ ftp.funet.fi È¥!
µ×ÏÂÊÇһЩ mirrors ÒÔ¼°ÆäËû½ÚµãµÄ¼òÒªÁбí:
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
Ò»°ãÀ´Ëµ£¬sunsite.unc.edu µÄ mirror Õ¾ÊǺܺÃÕҵģ® µµ°¸
/pub/Linux/MIRRORS °üº¬ÁËÒÑÖªµÄ mirror ½Úµã£® Èç¹ûÄãûÓа취ÉÏ ftp
£¬Óиö´æ·Å linux µÄ BBS ϵͳÁбí»á¶¨ÆÚ¿¯µÇÔÚ comp.os.linux.announce
ÉÏ£¬ÊÔÖøµ½ÄDZßÈ¥ÕÒһϣ®
Èç¹ûÄãÏëѰÕÒÒ»°ãµÄ Linux ×ÊѶÓëÌ×¼þ£¬È¥ http://www.linux.org/£®
3.2. ½â¿ªÔʼ³ÌʽÂëµÄ°ü×°
È·¶¨ÄãÊÇÒÔ`root'µÄÉí·ÝÇ©È룬Ȼáá cd µ½ /usr/src£® Èç¹ûÄã°²×° Linux
ʱÒѾ°²×°Á˺ËÐÄÔʼ³ÌʽÂ룬ÔÚÕâ¸öĿ¼µ×ÏÂÓ¦¸ÃÒѾ´æÔÚÒ»¸ö½Ð×ö `linux'
µÄ×ÓĿ¼£® ÕâÊǾɰæµÄ linux Ô-
ʼ³ÌʽÂ룮Èç¹ûÄ㻹Óдŵú¿Õ¼ä¶øÇÒÏëÒªÍæµÃ°²È«Ò»µã£¬ÄÇ÷áÄã»áÏëÒª±£ÁôÕâ¸ö
×ÓĿ¼µÄ£®
ÓиöºÃÖ÷ÒâÊǸù¾ÝÄãĿǰʹÓõĺËÐİ汾À´ÐÞ¸ÄÕâ¸ö×ÓĿ¼µÄÃû³Æ£® `uname
-r' Õâ¸öÖ¸Á»á¸æËßÄãĿǰµÄºËÐİ汾£® ËùÒÔ£¬Èç¹û `uname -r' ÏÔʾ
`1.0.9'£¬Äã¾Í¿ÉÒÔ°Ñ `linux' ¸ÄÃû(Óà `mv')Ϊ `linux-1.0.9'£®
Èç¹ûÄãÊǸö³çÐ͵ÄÈË£¬ÄǾÍÖ±½Ó°ÑÕâ¸ö×ÓĿ¼Çå³ýµô£®
ÎÞÂÛÊÇÄÄÒ»ÖÖÇé¿ö£¬·´ÕýֻҪȷ¶¨Ôڽ⿪ȫ²¿µÄÔʼ³ÌʽÂë֮ǰ£¬/usr/src
Ŀ¼ÏÂûÓÐ `linux' Õâ¸ö×ÓĿ¼¾Í¶ÔÁË£®
ÔÚ /usr/src Ŀ¼Ï£¬Óà `tar zxpvf linux-x.y.z.tar.gz' À´½â¿ªÔ-
ʼ³ÌʽÂëµÄ°ü×° (Èç¹ûÄãÄõ½µÄÊÇ .tar µÄµµ°¸£¬ááÃæÃ»ÓмÓÉÏ .gz£¬ÄǾÍÓÃ
`tar xpvf linux-x.y.z.tar')£® Ä㽫»á¿´µ½Ô-
ʼ³ÌʽµÄÄÚÈÝ·ÉÊŶø¹ý£®µ±ËüÍê³ÉÒÔáᣬÔÚ /usr/src ½«»á³öÏÖÒ»¸öеÄ
`linux' ×ÓĿ¼£® cd µ½ linux Ŀ¼ÏÂÈ»áá²é¿´ README µµ£¬
ÀïÃæÓ¦¸Ã»áÓÐÒ»¶Î±êÌâΪ `INSTALLING the kernel' »òÀàËÆµÄÎÄ×Ö£®
Èç¹ûÊʵ±µÄ»°£¬ÏÈÒÀÕÕ˵Ã÷ÀïµÄָʾ ¡ª ½¨Á¢¸ÃÓеķûºÅÁ´½á£¬ÒƳý¹ýʱµÄ .o
µµ°¸µÈµÈµÈÖîÈç´ËÀàµÄ¹¤×÷£®
3.3. ÅäÖúËÐÄ
×¢Ò⣺Õⲿ·ÝÄÚÈÝÓÐЩÊÇÖØ¸² Linus µÄ README
µµ°¸ÖеÄÏàÓ¦Õ½ڻò¼ÓÒÔÐÞ¶©£®
ÔÚ /usr/src/linux ÏÂÖ´ÐÐ `make config' Õâ¸öÃüÁ»áÆôʼһ¸öÖ¸Áî¸å£¬
¶øÕâ¸öÖ¸Áî¸å»áÎÊÄã¸÷ÖÖÎÊÌ⣮ËüÐèÒª bash £¬ËùÒÔҪȷ¶¨ bash ÊÇ
/bin/bash£¬/bin/sh »ò $BASH£®
»¹ÓÐÆäËüÖÖ `make config' µÄ·½Ê½Äã¿ÉÄÜ»á¾õµÃ¸üÈÝÒ×ʹÓã® ¶ÔÄÇЩִÐÐ X
Window µÄÈËÄãÈç¹ûÓÐ×° Tk µÄ»°¿ÉÒÔÊÔÖøÓà `make xconfig'£® `make
menuconfig' ÊǸøÄÇЩÓÐ×° (n)curses ¶øÇÒϲ»¶ÎÄ×Öģʽѡµ¥µÄÈËÓõģ®
ÕâЩ½çÃæÓиöÃ÷ÏԵĺô¦:
Èç¹ûÔÚÅäÖùý³ÌÖÐÄ㲻СÐÄ·¸ÁË´í£¬¿ÉÒÔ¼òµ¥µØ»ØÈ¥ÐÞÕý£®
ÄãÏÖÔÚ¸Ã×¼±¸ºÃ»Ø´ðÕâЩÎÊÌ⣬ͨ³£Óà `y' »ò `n' ¾Í¿ÉÒÔÁË£®
É豸Çý¶¯³Ìʽͨ³£»áÓÐÒ»¸ö `m' Ñ¡Ï
Õâ±íʾ``Ä£×é(module)''£¬±íʾ˵ϵͳ½«»á±àÒëËü£¬µ«²»»áÖ±½Ó·Å½øºËÐÄÀ¶ø
ÊÇ×öΪһ¿ÉÔØÈëÄ£×飮
Ò»¸öÓÐȤµÄ˵·¨ÊDZíʾ``maybe''£®ÓÐһЩºÜÃ÷ÏÔ»òÊDz»ÖØÒªµÄÑ¡Ï²»»áÔڴ˼
ÓÒÔ˵Ã÷£® Çë¼û`` ÆäËüÅäÖÃÑ¡Ïî''Ò»½Ú¶ÔÆäÖеļò¶Ì˵Ã÷£®
ÔÚ 2.0.x »òÒÔááµÄ°æ±¾ÖÐÓÐÒ»¸ö `?' Ñ¡ÏÌṩÁËÕâ¸öÅäÖòÎÊýµÄ¼ò¶ÌÃèÊö£®
ÕâЩ×ÊѶӦ¸Ã¶¼ÊÇ×îеģ®
3.3.1. Kernel math emulation (ºËÐĵÄÊýѧÔËËãÄ£Äâ)
Èç¹ûÄãûÓÐÊýѧ¸¨ÖúÔËËã´¦Àí»ú(ÄãÖ»ÓÐһ̨µ¥´¿µÄ 386 »ò 486SX)£¬ÄÇ÷áÄãÔÚ
ÕâÀïÒª»Ø´ð `y'£®Èç¹ûÄãÒѾÓÐÊýѧ¸¨ÖúÔËËã´¦Àí»úÈ´»¹»Ø´ð `y'£¬
ÄÇÒ²²»±ØÌ«µ£ÐÄ ¡ª linux »¹ÊÇ»áȥʹÓÃËü¶øºöÂÔµôºËÐĵÄÄ£Äâ³Ìʽ£®
ΨһµÄÓ°ÏìÊDZàÒë³öÀ´µÄºËÐıä´óÁË(Óõô¸ü¶àµÄ¼ÇÒäÌå)£®
ÎÒÌý˵ÊýѧÔ˼òÄ£ÄâºÜÂý; ËäÈ»ºÍ±¾½ÚÎÞÌ«´ó¹ØÏµ£¬»¹ÊÇÓ¦¸Ã×¢ÒâÕâ¶Ô X
Window ϵͳµÄЧÂÊ»áÓкܴóÓ°Ï죮
3.3.2. Normal (MFM/RLL) disk and IDE disk/cdrom support (±ê×¼Ó²µúÖ§Ô®)
ÄãÔÚÕâÀï²î²»¶à¶¼µÃ»Ø´ð `y'£®Ëü´ú±íµÄÒâ˼ÊǺËÐĽ«»áÖ§Ô®±ê×¼µÄ PC Ó²µú£¬
ÀýÈç´ó¶àÊýÈËʹÓÃµÄ IDE ½çÃæÓ²µú£®Õâ²»°üÀ¨ SCSI É豸µÄÖ§Ô®;
Õ⽫ÔÚááÃæÉ趨£®
È»ááÄã»á±»Îʵ½¹Øì¶ ``old disk-only'' Óë ``new IDE'' Çý¶¯³ÌʽµÄÊ£®
ÄãÓ¦¸ÃÁ½Õßѡһ; Ö÷ÒªµÄ²î±ðÊǾɵÄÇý¶¯³Ìʽֻ֧Ԯµ¥Ò»½çÃæÁ½²¿´Åµú»ú£¬
¶øÐµÄÇý¶¯³Ìʽ֧ԮµÚ¶þ½çÃæ¼° IDE/ATAPI
¹âµú»ú£®ÐµÄÇý¶¯³Ìʽ±È¾ÉµÄ´óÔ¼¶à 4K£¬
¶øÇÒÓ¦¸ÃÊÇ``¸ÄÁ¼µÄ''£¬Ò²¾ÍÊÇ˵³ýÁË¿ÉÄܰüº¬Ð©Ðí´íÎóÖ®Í⣬ËüÓ¦¸Ã»á¸ÄÉÆÄã
µÄ´ÅµúЧÂÊ£¬ÌرðÊÇÈç¹ûÄãÓнÏÐ嵀 EIDE Ó²ÌåµÄ»°£®
3.3.3. Networking support (ÍøÂ·Ö§Ô®)
ÔÔòÉÏ£¬Èç¹ûÄãÓÐÁ¬½ÓÍøÂ·£¬Æ©Èç˵£¬ÄãÓÐ Internet Á¬Ïߣ¬»òÊÇÄ㽫ʹÓÃ
SLIP£¬PPP£¬term »òÆäËü·½Ê½²¦½Óµ½ Internet Éϵϰ£¬»Ø´ð `y'£®
È»¶ø£¬Ä³Ð©ÈíÌåÌ×¼þ(ÀýÈç X Window
ϵͳ)ÐèÒªÍøÂ·Ö§Ô®£¬¼´Ê¹ÄãµÄ»úÆ÷²¢²»ÕæÕýÁ¬½Óµ½ÍøÂ·ÉÏ£®ÕâÇéÐÎÄãÒ²Ó¦¸Ã»Ø´
ð `y'£® È»áᣬÄã»á±»Îʵ½ÊÇ·ñÐèÒªÖ§Ô® TCP/IP
ÍøÂ·£¬Èç¹ûÄ㲻ʮ·ÖÈ·¶¨£¬¾Í»Ø´ð `y'£®
3.3.4. Limit memory to low 16MB (ÖÆ¼ÇÒäÌåÔÚ 16 MB)
¿ÉÄÜ»áÓÐһЩ²»Á¼µÄ 386 DMA ¿ØÖÆÆ÷ÎÞ·¨ÕýÈ·µØ¶¨Ö·µ½ 16 MB
ÒÔÉϵļÇÒäÌåλַ£»
Èç¹ûÄãµÄ»úÆ÷¸ÕºÃÓÐÕâÖÖ(º±¼û)Çé¿öʱ£¬ÄÇ÷áÄãÒ²¾ÍÖ»ºÃ»Ø´ð¡å y ¡åÁË£®
3.3.5. System V IPC
Ò»¸ö IPC (ÐгÌÄÚͨѶ£¬Interprocess Communication) µÄ¶¨Òå¾ÍÔÚ Perl
ÊéÖеÄ×¢½â£® Õâ²¢²»´óÆæ¹Ö£¬Ò»Ð© Perl
³ÌʽÉè¼ÆÕßÓÃËüÀ´ÈÃÐгÌÖ®¼ä»¥Ï๵ͨ£¬¾ÍÏñÐí¶àÆäËüÌ×¼þ(×îÖøÃûÈç
DOOM)Ò»Ñù£® Òò´Ë³ý·ÇÄãÍêÈ«Á˽âÄãÔÚ×öʲ÷ᣬ²»È»×îºÃ±ð»Ø´ð n£®
3.3.6. Processor type (386, 486, Pentium, PPro) (΢´¦Àí»úÖÖÀà)
(ÔڽϾɰ汾µÄºËÐÄÖÐΪ: Use -m486 flag for 486-specific
optimizations£¬Ê¹Óà -m486 Æì±êÕë¶Ô 486 ×ö×î¼Ñ»¯)
°´ÕÕ¹ßÀýµØ£¬ÕâÊǶÔÒ»ÌØ±ðµÄ΢´¦Àí»ú×öijÖÖ×î¼Ñ»¯;
ºËÐÄÈÔ¿ÉÔÚÆäËü¾§Æ¬ÉÏÅܵúܺ㬵«¿ÉÄÜ»á±È½Ï´óЩ£®
²»¹ý£¬ÔÚ½Ïа汾µÄºËÐÄÉÏ£¬ÒѾ-
²»ÊÇÕâ¸öÑù×ÓÁË£®Òò´ËÄãÓ¦¸ÃÕýÈ·µØ»Ø´ðÄãÒª±àÒëµÄ΢´¦Àí»úÖÖÀ࣮ ``386''
µÄºËÐÄ¿ÉÒÔÔÚËùÓеĻúÆ÷ÉϹ¤×÷£®
3.3.7. SCSI support (SCSI µÄÖ§Ô®)
Èç¹ûÄãÓÐ SCSI É豸£¬ÄÇ÷á¾Í»Ø´ð `y'£®
½ÓÖø»áÓÐÌáʾҪÇó¸ü½øÒ»²½µÄ×ÊѶ£¬ÏñÊÇÄãÊÇ·ñÒªÖ§Ô®¹âµú»ú£¬´Åµú»ú£¬»¹ÓÐÄã
ʹÓõÄÊÇÄÇÒ»ÖÖ SCSI ½éÃæ¿¨£® Õⲿ·ÝÇë²ÎÔÄ SCSI-HOWTO£¬ÓиüÏêϸµÄ˵Ã÷£®
3.3.8. Network device support (ÍøÂ·É豸֧Ԯ)
Èç¹ûÄãÓÐÍøÂ·¿¨£¬»òÕßÄãÏëҪʹÓà SLIP£¬PPP£¬»òÊDz¢Áвº½çÃæ¿¨£¬ÄǾͻشð
`y'£® ½ÓÖø»áÓÐÌáʾÎÊÄãʹÓõÄÊÇÄÇÒ»ÖÖÍøÂ·¿¨£¬»òҪʹÓÃÄÇÒ»ÖÖͨѶж¨£®
3.3.9. Filesystems (µµ°¸ÏµÍ³)
Õ⽫»áÓÐÌáʾҪÄã»Ø´ðËùÒªÖ§Ô®µÄµµ°¸ÏµÍ³ÖÖÀ࣬¼ÆÓУº
Standard (minix) ¡ª еÄÌ×¼þ²»ÔÙ½¨Á¢ minix
µµ°¸ÏµÍ³£¬¶øÇҺܶàÈ˲»Ê¹ÓÃËü£¬µ«ÊǰÑËüÅäÖÃÔÚºËÐÄÀïÈÔÈ»ÊǸöºÃÖ÷Ò⣮
ijЩ``¼±¾È´ÅƬ''³Ìʽ»áÓõ½Ëü£¬¶øÇÒÈÔÈ»ÓÐÐí¶àÈíµú´ÅƬ¿ÉÄÜÓà minix
µµ°¸ÏµÍ³£¬ÒòΪ minix µµ°¸ÏµÍ³¶Ôì¶´¦ÀíÈíµúƬ·½Ãæ½ÏÎÞÎÊÌ⣮
Extended fs ¡ª ÕâÊÇÀ©³äµµ°¸ÏµÍ³µÄµÚÒ»°æ£¬ÏÖÔÚÒѾ-
²»ÔÙʹÓã®Ê¹ÓõÄʱ»úÊÇ£¬Èç¹ûÄãÓÐÐèÒª£¬Äã¾Í»áÖªµÀµÄ£®Èç¹ûÄã¾õµÃ»³ÒÉ£¬Äã
¾Í²»ÐèÒªËü£®
Second extended ¡ª
ÕâÊÇÏÖÔÚз¢ÐеÄÌ×¼þËù¹ã·º²ÉÓõĵµ°¸ÏµÍ³£¬Äã¿ÉÄÜ»áÓÐÆäÖÐÒ»ÖÖ£¬ËùÒÔ±ØÐë
»Ø´ð `y'£®
xiafs filesystem ¡ª Õâ¸öµµ°¸ÏµÍ³Ôø¾-
Ò»¶ÈºÜÆÕ±é£¬µ«ÊÇÔÚдÕâ·ÝÎļþʱ£¬ÎÒÒѾ²»ÖªµÀÓÐÈκÎÈËÔÚʹÓÃËüÁË£®
msdos ¡ª Èç¹ûÄãÏëÒªÔÚ linux ÏÂʹÓÃÄãÓ²µúÖÐµÄ MS-DOS ·Ö¸îÇø£¬»òÊÇÏ뽫ÓÃ
MS-DOS ¸ñʽ»¯µÄÈíµúƬ¹Ò½øÀ´µÄ»°£¬»Ø´ð `y'£®
ums-dos ¡ª ÕâÖÖµµ°¸ÏµÍ³ÄÜʹ MS-DOS µµ°¸ÏµÍ³ÓµÓиü¶àÏñ Unix
µÄÌØÐÔ£¬ÏñÊdz¤µµÃûµÈµÈ£®Õâ¶ÔÄÇЩ²»Ê¹Óà MS-DOS µÄÈË(ÏñÎÒ)²¢²»ÊǺÜÓÐÓã®
/proc ¡ª
ÁíÒ»ÖÖÉñÆæµÄ¶«Î÷(ÎÒ²ÂÕâ¸ö¸ÅÄîÊÇÎ޳ܵشӱ´¶ûʵÑéÊÒÀï͵¹ýÀ´µÄ)£®
Ëü²»ÊÇÄãÓ²µú·Ö¸îÇøÀïµÄÈκζ«Î÷£¬¶øÊǺËÐÄÓë³ÌÐòÖ®¼äµÄµµ°¸ÏµÍ³½éÃæ£®Ðí¶à
³ÌÐò¹¤¾ß(Ïñ `ps')¶¼»áÓõ½Ëü£® ÓÐʱ¿ÉÒÔÊÔÖøÓà `cat /proc/meminfo' »ò
`cat /proc/devices'£® ijЩ shell (ÌØ±ðÏñÊÇ rc) ʹÓÃÁË /proc/self/fd
(ÔÚÆäËüϵͳÀï½Ð×ö /dev/fd) À´×öÊä³öÊäÈ붯×÷£® Ä㼸ºõÓ¦¸Ã»Ø´ð `y';
Ðí¶àÖØÒªµÄ Linux ¹¤¾ß¶¼ÒÀÀµËüÀ´ÔË×÷µÄ£®
NFS ¡ª Èç¹ûÄãÔÚÍøÂ·»·¾³Ï¶øÇÒÏëÒªÓÉ NFS À´Ê¹ÓÃÆäËü»úÆ÷µÄµµ°¸ÏµÍ³£¬»Ø´ð
`y'£®
ISO9660 ¡ª ¾ø´ó²¿·ÖµÄ¹âµúƬ¶¼Ê¹ÓÃÕâ¸öµµ°¸ÏµÍ³£®Èç¹ûÄãÓйâµú»ú¶øÇÒÏëÔÚ
Linux ÏÂʹÓ㬻شð `y'£®
OS/2 HPFS ¡ª ÔÚ±àдÕâ·ÝÎļþµÄʱºò£¬Õâ¸öµµ°¸ÏµÍ³»¹Ö»Ö§Ô®µ½ OS/2 HPFS
µÄ¶ÁÈ¡£®
System V and Coherent ¡ª ÕâÊÇΪ System V ÒÔ¼° Coherent
ϵͳµÄ·Ö¸îÇø¶øÉèµÄ(ËüÃÇÊÇÁíÒ»ÖÖÔÚ PC É쵀 Unix ϵͳ)£®
3.3.9.1. µ«ÊÇÎÒ²»ÖªµÀÎÒÐèÒªÄÇЩµµ°¸ÏµÍ³!
ºÃ°É£¬¼üÈë `mount'£®Ëü¿´ÆðÀ´»áÏñÕâÑù£º
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)
×Ðϸ¿´¿´Ã¿Ò»ÐУ»ÔÚ `type' ááÃæµÄÄǸö×Ö¾ÍÊǵµ°¸ÏµÍ³µÄ¸ñʽ£®
ÔÚÕâ¸öÀý×ÓÖУ¬ÎÒµÄ / ºÍ /usr ·Ö¸îÇøÊÇ second extended ¸ñʽ£¬ ÎÒʹÓÃÁË
/proc £¬¶øÇÒ¹ÒÓÐÒ»ÕÅÒÔ msdos (bleah) Ϊµµ°¸ÏµÍ³¸ñʽµÄ´ÅƬ£®
Èç¹ûÄãÓÐʹÓà /proc£¬¿ÉÒÔÊÔÊÔ `cat /proc/filesystems'£®
Ëü»á¸øÄãÒ»·ÝĿǰʹÓõĺËÐÄËùÖ§Ô®µÄµµ°¸ÏµÍ³ÁÐ±í£®
ÕâÅäÖò¢²»³£Ê¹Ó㮲»ÖØÒªµÄµµ°¸ÏµÍ³»áʹºËÐÄÏÔµÃÓ·Ö×;
²Î¼û¿ÉÔØÈëÄ£×éÒ»½ÚµÄ˵Ã÷ÒÔ±ÜÃâ´ËÇé¿ö£¬ÒÔ¼°``
ÏÝÚå''Ò»½Ú˵Ã÷ΪºÎÓ·Ö׵ĺËÐIJ»ºÃ£®
3.3.10. Character devices (×ÖÔªÉ豸)
ÔÚÕâÀÄ㽫»á·¢ÏÖÐí¶àÉ豸Ãû³Æ£¬ÓÃÀ´É趨ÄãµÄÓ¡±í»ú£¬»ãÁ÷ÅÅ»¬Êó£¬PS/2
»¬Êó(´ó²¿·Ö±Ê¼ÇÐ͵çÄÔʹÓÃÄÚ½¨µÄ PS/2 »¬Êó)£¬
ÒÔ¼°Ò»Ð©´Å´ø»úÇý¶¯³Ìʽ£¬ÒÔ¼°ÆäËüµÄ``×ÖÔª''É豸£®µ±ÓкÏÊʵÄÑ¡Ïîʱ£¬»Ø´ð
`y'£®
×¢Ò⣺Selection Õâ¸ö³ÌʽʹÄã¿ÉÒÔÔÚ X window
Ö®ÍâʹÓû¬ÊóÔÚ¸÷¸öÐéÄâ¿ØÖÆÌ¨¼ä×ö¼ôÌùµÄ¶¯×÷£®
Èç¹ûÄãÓд®Áл¬ÊóµÄ»°£¬ÕâÕæµÄºÜ°ô£¬ÒòΪËüÓë X window Ö®¼äµÄ¹µÍ¨Á¼ºÃ£¬
²»¹ýÈç¹ûÄãÓÃÆäËüÖÖÀàµÄ»¬Êó¾ÍÐèÒªµã¼¼ÇÉÁË£®Selection Ôø¾-
Ò»¶ÈÊÇÑ¡ÔñµÄÅäÖÃÅäÏ²»¹ýÏÖÔÚÒѾÊDZê×¼ÁË£®
×¢Òâ¶þ: Selection ÏÖÔÚÒѾ¹ýʱÁË£®ÏÖÔÚеijÌʽÃû½Ð ``gpm''£®
ËüÄÜ×ö¸üÉñÆæµÄÊ£¬ÏñÊÇת»»»¬Êóж¨£¬´¦Àí¶àÖØ»¬ÊóµÈ¡¡
3.3.11. Sound card (ÒôЧ¿¨)
Èç¹ûÄãÏëÌýµ½ biff ³Ìʽ´ó½ÐµÄ»°£¬»Ø´ð `y'£®
È»ááµÈһϻá±àÒëÁíÒ»¸öÅäÖóÌʽ²¢ÏêϸѯÎÊÄãËùÓйØì¶ÒôЧ¿¨µÄÎÊÌ⣮
(×¢Òâ: µ±ËüÎÊÄãÊÇ·ñ°²×°ÍêÕû°æ±¾µÄÇý¶¯³Ìʽʱ£¬Äã¿ÉÒԻشð `n'
ÒÔ¼õÉÙÄãºËÐļÇÒäÌ岢ֻѡÓÃÄãÕæÕýÐèÒªµÄ£®)
Èç¹ûÄãÓÐÒôЧ¿¨ÎÒÇ¿ÁÒ½¨Ò鿴һϠSound-HOWTO ÒÔÖªµÀ¸ü¶àµÄϸ½Ú£®
3.3.12. ÆäËüÅäÖÃÑ¡Ïî
ûÓн«ËùÓеÄÑ¡Ïî¶¼ÁгöÀ´£¬ÒòΪÓÐЩ¾³£¸Ä±ä£¬»òÊÇÏ൱×ÔÃ÷µÄ(ÀýÈç 3Com
3C509 support ¾ÍÊDZàÒëÕâÖÖÌØ±ðÒÒÌ«ÍøÂ·¿¨µÄÇý¶¯³Ìʽ)£¬
ÓÐÒ»¸öÊ®·ÖÈÝÒ×Àí½âµÄËùÓÐÑ¡ÏîÁбí(°üÀ¨½«ËüÃǷŵ½ Configure
Ö¸Áî¸åµÄ·½·¨)¿ÉÔÚÕâ¸ö URL ÕÒµ½(ÓÉ Axel Boldt axel@uni-paderborn.de
ËùÊÕ¼¯):
http://math-www.uni-paderborn.de/~axel/config_help.html
»ò¾ÓÉÄäÃû FTP Õ¾:
ftp://sunsite.unc.edu/pub/Linux/kernel/config/krnl_cnfg_hlp.x.yz.tg
z
ÆäÖÐ x.yz Êǰ汾ºÅÂ룮
ÆäááÀ´µÄºËÐÄÖÐ(2.0.x ¼°ÆäááµÄ)£¬ÕâÒѱ»ÕûºÏµ½Ôʼ³ÌʽÂëÖУ®
3.3.13. Kernel hacking
>ÕâÊÇ´Ó Linus µÄ README Àïժ¼µÄ£º
``kernel hacking''
ÅäÖõÄϸ½Úͨ³£»á²úÉúÒ»¸ö¸ü´ó»òÊǸüÂýµÄºËÐÄ(»òÕßÊÇÓÖ´óÓÖÂý)£¬
¶øÇÒ¿ÉÄÜÒòΪ½«Ò»Ð©³£Ê½ÅäÖóɺܻîÔ¾µØÈ¥³¢ÊÔÖжÏһЩ²»Á¼µÄ³ÌʽÂëÒÔ±ãÕÒ³ö
ºËÐÄÀïµÄÎÊÌ⣨ kmalloc() £©£¬
¶øÊ¹µÃºËÐıäµÃ±È½Ï²»Îȶ¨£®ËùÒÔÒª²úÉúÒ»¸öºËÐÄ``²úÆ·''µÄ»°£¬ÄãÔÚÕâÀïÓ¦¸Ã
»Ø´ð `n'£®
3.4. ÏÖÔÚÄØ? (The Makefile)
ÔÚÄãÍê³É make config Ö®áᣬӦ¸Ã»áÓÐÒ»¸öѶϢ¸æËßÄãºËÐÄÒѾÅäÖúÃÁË£¬
ÒÔ¼°ÒªÄãÈ¥``check the top-level Makefile for additional
configuration'' µÈµÈѶϢ£®
ËùÒԲ鿴һÏ Makefile£®ÄãÓ¦¸Ã²»±Ø¸Ä±äËü£¬µ«ÊÇ¿´¿´ÎÞ·Á£®
Ò»µ©ÐºËÐÄÍê³É£¬ÄãÒ²¿ÉÒÔÓà `rdev' Ö¸ÁîÀ´¸Ä±äÆäÖеÄÑ¡Ï
_________________________________________________________________
Kernel HOWTO ÖÐÒë°æ : ÈçºÎÕæÕý½øÐкËÐĵÄÅäÖÃ?
Previous: ÖØÒªÎÊÌâÓë½â´ð
Next: ±àÒëºËÐÄ Kernel HOWTO ÖÐÒë°æ : ±àÒëºËÐÄ
Previous: ÈçºÎÕæÕý½øÐкËÐĵÄÅäÖÃ?
Next: ÐÞ²¹ºËÐÄ
_________________________________________________________________
4. ±àÒëºËÐÄ
4.1. Çå³ýÓëÈ·ÈÏ
µ±ÓÃÀ´½øÐÐÅäÖõÄÖ¸Áî¸åÖ´ÐÐÍê³Éʱ£¬Ëü»á¸æËßÄãÈ¥ `make dep' ÒÔ¼°
`clean'£® ËùÒÔÒªÖ´ÐÐ`make dep'£®Õ⽫ȷ±£ËùÓеÄÏàÒÀ¹ØÏµ£¬ÀýÈç include
files ¶¼Ã»ÎÊÌ⣮ ³ý·ÇÄãµÄµçÄÔÕæµÄºÜÂý£¬·ñÔòËü²»»á»¨Ì«¾Ãʱ¼äµÄ£®
Íê³ÉáᣬÔڽϾɰ汾µÄºËÐÄÖÐÄ㻹Ӧ¸Ã×ö `make clean'£®
Õâ»áÇå³ýºËÐıàÒëµÄËùÓÐÄ¿µÄµµÒÔ¼°ÆäËü¶«Î÷£®ÔÚÖØ½¨Ò»¸öºËÐÄ֮ǰ²»ÒªÍü¼ÇÕâ
¸ö²½Ö裮
4.2. ±àÒëʱÆÚ
ÔÚÍê³É `make dep' ¼° `make clean' ¹¤×÷Ö®áᣬÄãÏÖÔÚ¿ÉÒÔÖ´ÐÐ `make
zImage' »ò `make zdisk' (Õⲿ·ÝÐèÒª³¤Ê±¼ä)£® `make zImage'
½«»á±àÒëºËÐÄ£¬²¢ÇÒÔÚ arch/i386/boot Áô¸øÄãÒ»¸ö½Ð×ö `zImage'
µÄµµ°¸£®Õâ¾ÍÊÇеÄѹËõºËÐÄ£® `make zdisk'
×öµÄÊÂÒ²Ò»Ñù£¬µ«ÊÇËü»á°ÑºËÐķŵ½ÄãËùÏ£ÍûµÄ´ÅƬȥ£¬Ö»Òª°ÑÕâÕÅ´ÅÆ¬·ÅÔÚ
``A:''£®
`zdisk'¶Ôì¶²âÊÔкËÐĺܷ½±ã£»Èç¹ûËüµ±µô(»ò¹¤×÷²»Õý³£)£¬Ö»Òª°Ñ´ÅƬÄõôÔ
ÙÓþɵĺËÐÄÆô¶¯¼´¿É£®
Èç¹ûÄãÒâÍâµØÉ¾³ýÁ˺ËÐÄ»òÊÇʲ÷áµÄ£¬ËüÒ²ÊǸö·½±ãµÄÆô¶¯°ì·¨£®
µ±Äã°Ñһ̨´ÅµúµÄÄÚÈÝÇãµ¹µ½ÁíÍâһ̨ȥʱ£¬ÄãÒ²¿ÉÒÔÓÃËüÀ´°²×°ÐµÄϵͳ(³ýÁ
ËÕâЩ֮Í⻹Óиü¶àÓÃ;£¡)
ËùÓнüÀ´µÄºËÐͼÊÇѹËõ¹ýµÄ£¬ËùÒÔÓиö `z'
ÔÚÃû×ÖÇ°Ãæ£®Ñ¹Ëõ¹ýµÄºËÐÄÖ´ÐеÄʱºò»á×Ô¶¯½«×Ô¼º½âѹËõ£®
4.3. ÆäËû¿ÉÒÔ``make''µÄ¶«Î÷
`make mrproper' ½«»á×ö¸ü¹ã·ºµÄ `Çå³ý' ¹¤×÷£®
Õâ¸ö¶¯×÷ÓÐʱºòÊDZØÐëµÄ£¬ËùÒÔÄã¿ÉÄÜ»áÏ£ÍûÔÚÿ´ÎÐÞ²¹µÄʱºòÖ´ÐÐËü£® `make
mrproper'
»¹»á½«ÄãµÄÅäÖõµ°¸É±µô£¬ËùÒÔÈç¹ûÄãÈÏΪËüÖØÒªµÄ»°Ó¦¸ÃÏÈ×öÒ»±¸·Ý(ÔÚ
.config)£®
`make oldconfig' »á³¢ÊÔÓÉÒ»¾ÉµÄÅäÖõµ°¸À´ÅäÖÃÄãµÄºËÐÄ£®Ëü»áΪÄãÖ´ÐÐ
`make config'£®
Èç¹ûÄã»¹Î´Ôø±àÒë¹ýºËÐÄ»òûÓоɵÄÅäÖõµ°¸£¬ÄÇ÷áÄã¿ÉÄܲ»¸Ã×öÕâ¸ö£¬ÒòΪÄã
¼¸ºõÈ·¶¨»á¸ü¸ÄÔ¤ÉèµÄÅäÖã®
²Î¼û¿ÉÔØÈëÄ£×éÒ»½Ú¶Ô `make modules' µÄ˵Ã÷£®
4.4. °²×°ºËÐÄ
ÔÚÄãÒѾ-
»ñµÃÒ»¸ö¿´ÆðÀ´Äܹ»ÕÕÄãÏ£ÍûÔË×÷µÄкËÐÄÖ®áᣬÏÖÔÚÊǰ²×°ËüµÄʱºòÁË£®
´ó²¿·ÝµÄÈËʹÓà LILO (Linux Loader) À´×öÕâ¼þÊ£® `make zlilo'
½«»á°²×°ºËÐÄ£¬È»áá¶ÔËüÖ´ÐÐ LILO£¬Ê¹ÄãÍê³ÉËùÓпª»úµÄ×¼±¸£¬ µ«ÊÇÕâÖ»ÓÐÔÚ
LILO ÒѾÒÔÏÂÁÐÕâÖÖ·½Ê½ÅäÖúõÄʱºò²Å¿ÉÒÔ£ººËÐÄΪ /vmlinuz £¬ lilo ÔÚ
/sbin Ï£¬¶øÇÒÓëÄãµÄ LILO ÅäÖÃ(/etc/lilo.conf)Ò»Ö£®
ÁíÒ»·½Ã棬Äã¿ÉÄÜÐèÒªÖ±½ÓʹÓÃ
LILO£®ÕâÊÇÒ»¸öÏ൱ÈÝÒ×°²×°µÄÈíÌ壬Ȼ¶ø£¬ËüµÄÅäÖõµ³£Ê¹ÈËÀ§ÈÅ£®
²é¿´ÅäÖõµ(²»ÊǾɰæµÄ /etc/lilo/config ¾ÍÊÇаæµÄ
/etc/lilo.conf)£¬¿´¿´ÀïÃæÓÐЩʲ÷ᣮ Ëü¿´ÆðÀ´ÏñÕâÑù×ӵĶ«Î÷£º
image = /vmlinuz
label = Linux
root = /dev/hda1
...
Ê×ÏÈ£¬`image =' É趨ΪÒѾ°²×°µÄºËÐÄ£®´ó²¿·ÝµÄÈËËÆºõ¶¼Óà /vmlinuz£®
`label' ÔòÊǸø lilo ÓÃÀ´¾ö¶¨ÏÖÔÚÒªÆô¶¯µÄÊÇÄǸöºËÐÄ»ò×÷ҵϵͳ£¬ ¶ø
`root' ÔòÊÇÕâ¸öÌØ±ðµÄ×÷ҵϵͳµÄ¸ùĿ¼ /£®
±¸·ÝÒ»·Ý¾ÉµÄºËÐÄ£¬È»áὫÄã×öµÄ zImage ¿½±´½øÈ¥(ÀýÈ磬Èç¹ûÄãÓÃ
`/vmlinuz' µÄ»°£¬¾ÍÏñÕâÑù `cp zImage /vmlinuz')£® È»áᣬִÐÐ
`lilo'£¬µ«ÊÇÔڽϾɵÄϵͳÉÏ£¬Äã¿ÉÄܱØÐëÖ´ÐÐ /etc/lilo/install »òÉõÖÁÊÇ
/etc/lilo/lilo -C /etc/lilo/config£®
Èç¹ûÄãÏëÖªµÀ¸ü¶àÓйØì¶ LILO µÄÅäÖ㬻òÊÇÄ㲢ûÓÐ LILO
µ«ÊÇÄãÏëÒª°²×°µÄ»°£¬ ´ÓÄãϲ»¶µÄ ftp ½ÚµãÈ¡µÃ×îеİ汾ȻááÒÀ˵Ã÷ÐÐÊ£®
ÒªÄܹ»´ÓÓ²µúÆô¶¯ÄãµÄ¾ÉºËÐÄÆäÖÐÖ®Ò»µÄ»°(ÕâÊÇÁíÒ»¸öÔÚкËÐijö×´¿öµÄÇé¿öÏ
±£»¤Äã×Ô¼ºµÄ·½·¨)£¬ °Ñ LILO ÅäÖõµÖÐËùÓеÄ(°üÀ¨) `image = xxx'
¿½±´µ½µµ°¸µÄ×îµ×¶Ë£¬ È»áá°Ñ `image = xxx' ¸Ä³É `image = yyy' ÆäÖеÄ
`yyy' ÊÇÄ㱸·Ý¾ÉºËÐÄËù´æµµµÄÃû×Ö£® ½ÓÖø£¬°Ñ `label = zzz' ¸Ä³ÉÏñÊÇ
`label = linux-backup' È»ááÖØÐÂÖ´ÐÐ lilo£® Äã¿ÉÄܵÃÒª¼ÓÉÏÒ»ÐÐ
`delay=x'£¬ÆäÖÐµÄ x ÊÇÒÔÊ®·ÖÖ®Ò»ÃëΪµ¥Î»µÄʱ¼ä£¬ ÕâÊǸæËß LILO
ÔÚÆô¶¯Ç°ÏȵÈһϣ¬ËùÒÔÄã¿ÉÒÔÖжÏËüµÄÖ´ÐÐ(ÀýÈçÓà shift ¼ü)£®
È»áá¼üÈëËù±¸·ÝµÄÆô¶¯Ó³ÏñÖ® label
(ÔÚ·¢ÉúÁËijЩÁîÈ˲»Óä¿ìµÄÊÂÇéµÄÇé¿öÏÂ)£®
_________________________________________________________________
Kernel HOWTO ÖÐÒë°æ : ±àÒëºËÐÄ
Previous: ÈçºÎÕæÕý½øÐкËÐĵÄÅäÖÃ?
Next: ÐÞ²¹ºËÐÄ Kernel HOWTO ÖÐÒë°æ : ÐÞ²¹ºËÐÄ
Previous: ±àÒëºËÐÄ
Next: ¸½¼ÓµÄÌ×¼þ
_________________________________________________________________
5. ÐÞ²¹ºËÐÄ
5.1. ʹÓÃÐÞ²¹µµ
ºËÐĵÄС·ù¸üÐÂÊÇÒÔÐÞ²¹µµµÄ·½Ê½·¢ÐУ®ÀýÈ磬Èç¹ûÄãµÄ°æ±¾ÊÇ 1.1.45 £¬
¶øÇÒÄã×¢Òâµ½³öÏÖÁËÒ»¸ö `patch46.gz' ¿ÉÒÔÓÃÀ´Éý¼¶Ëü£¬
Õâ´ú±íÄã¿ÉÒÔ½åÓÉʹÓÃÕâ¸öÐÞ²¹µµ½«°æ±¾Éý¼¶µ½ 1.1.46£®
ÄãÒ²Ðí»áÏëÒªÏȱ¸·ÝÔʼ³ÌʽÂë(`make clean' È»áá `cd /usr/src; tar zcvf
old-tree.tar.gz linux' ½«»áΪÄãÔì³öÒ»·Ý tar ѹËõµµ£¬ÀïÃæ¾ÍÊÇÕû¸öÔ-
ʼ³ÌʽÂëÓëÆäµµ°¸¼Ü¹¹)£®
ÏÖÔÚ½ÓÖø¼ÌÐøÉÏÃæµÄÀý×Ó£¬¼ÙÉèÄãÒѾȡµÃÁË `patch46.gz' ²¢·ÅÔÚ /usr/src
Ï£® cd µ½ /usr/src È»ááÖ´ÐÐ `zcat patch46.gz | patch -p0'
(Èç¹û²¢²»ÊÇѹËõ¹ýµÄÐÞ²¹µµ£¬ÄÇ÷á¾ÍÖ´ÐÐ `patch -p0 < patch46')£¬
Ä㽫»á¿´µ½Ðí¶à¶«Î÷·ÉÊŶø¹ý(»òÊÇÂýÂýÌø¹ý£¬Èç¹ûÄãµÄµçÄÔÕæµÄºÜÂýµÄ»°)¸æËß
ÄãËüÕýÊÔÖøÐÞ²¹³Ìʽ£¬ÒÔ¼°ÊÇ·ñ³É¹¦£®
ͨ³££¬Õâ¸ö¹ý³Ì¿ìµÃÎÞ·¨×Ðϸ¿´Çå³þËüµÄ¶¯×÷£¬ËùÒÔÄã»áÎÞ·¨È·¶¨Ëüµ½µ×ÓÐûÓÐ
³É¹¦µØÖ´ÐУ® ËùÒÔÄã¿ÉÄÜ»áÏëÔÚ patch Ö¸ÁîÖмÓÉÏ -s Ñ¡Ï¸æËß patch
³Ìʽֻ±¨¸æ´íÎóѶϢ¾ÍºÃ£® (ÕâÑùÄã¾Í²»»áµÃµ½Ðí¶à``àË!
ÎҵĵçÄÔÕýÔÚ×öijЩ¸Ä±ä!''µÄ¸Ð¾õ£¬²»¹ýÄã¿ÉÄÜÄþÔ¸ÕâÑù¡)
ÄÇ÷á¾ÍµÃÕÒÕÒ¿´Ò»Ð©¿ÉÄܲ»ÊÇÄÇ÷á˳ÀûµÄÊ£®cd µ½ /usr/src/linux
²¢ÕÒѰµµÃû½áβΪ .rej µÄµµ°¸£® ijЩ°æ±¾µÄ
patch£¨±È½Ï¾ÉµÄ°æ±¾£¬ËüÃÇ¿ÉÄÜÊÇÔڱȽÏÔçÆÚµÄµµ°¸ÏµÍ³ÉϱàÒëµÄ£©»á°ÑÕâЩÃ
»Óгɹ¦µÄ²Ù×÷¼Ç¼ÔÚµµÃûÓÐ # µÄµµ°¸À Äã¿ÉÒÔÓà `find' À´ÌæÄãÕÒ£»
find . -name '*.rej' -print
»á½«ÏÖÐÐĿ¼¼°×ÓĿ¼ÏÂËùÓÐ¾ß .rej ½áβµÄµµÃûÓ¡µ½±ê×¼Êä³ö£®
Èç¹ûÒ»ÇÐÕýÈ·ÎÞÎóµÄ»°£¬Ö´ÐеÚÈý½Ú¸úµÚËĽÚËùÌÖÂÛµÄ `make
clean'£¬`config' ÒÔ¼° `dep'£®
¹Øì¶ patch Ö¸ÁîÁíÍ⻹ÓÐһЩѡÏÈçǰËùÊö£¬patch -s
½«»áÒÖÖÆ³ýÁË´íÎóÒÔÍâµÄËùÓÐÆäËûѶϢ£® Èç¹ûÄã°ÑºËÐÄÔʼ³ÌʽÂë·ÅÔÚ
/usr/src/linux ÒÔÍâµÄµØ·½£¬ÔÚ¸ÃĿ¼ÏÂÓà patch -p1
Ò²¿ÉÒÔǬ¾»ÀþÂäµÄÖ´ÐÐÐÞ²¹ÈÎÎñ£® ÆäËüµÄ patch Ñ¡ÏîÔÚÏßÉÏÊÖ²á(man
page)Àï¶¼ÓкÜÏêϸµÄÃèÊö£®
5.2. Èç¹ûÓдíÎó·¢Éú
(×¢Òâ: ±¾½ÚÌáµ½µÄ´ó²¿·ÝÊÇÖ¸¾É°æµÄºËÐÄ)
ͨ³£×î³£·¢ÉúµÄÎÊÌâÊǵ± patch ÐÞ¸ÄÒ»¸ö½Ð×ö `config.in'
µÄµµ°¸Ê±£¬Õâ¸öµµ°¸¿´ÆðÀ´²»Ôõ÷á¶Ô¾¢£¬
ÒòΪÄãÐÞ¸ÄÁËһЩѡÏîÀ´ÅäºÏÄãµÄ»úÆ÷£®Õâ¸öÎÊÌâÒѾ-
СÐĵÄ×¢Òâ¹ýÁË£¬µ«»¹ÊÇ¿ÉÄÜÓÐÈË»áÔڽϾɵİ汾ÉÏÔâÓöÕâ¸öÎÊÌ⣮
ÒªÐÞÕýÕâ¸öÎÊÌâµÄ»°£¬²é¿´ config.in.rej Õâ¸öµµ°¸ÀïÁôÏÂЩʲ÷áѶϢ£®
ÓÐÐ޸ĹýµÄ²¿·ÝÕý³£À´Ëµ»áÔÚÿһÐпªÊ¼µÄµØ·½±êÉÏ `+' ºÍ `-'£®
²é¿´Óбê¼ÇµÄ¸½½ü¼¸ÐУ¬È»áá¼ÇµÃËüÃÇÊÇÉè³É `y' »òÊÇ `n'£® ÏÖÔÚ±à¼-
config.in µµ£¬È»ááÔÚÊʵ±µÄµØ ·½°Ñ `y' ¸Ä³É `n' ÒÔ¼° `n' ¸Ä³É `y'£®Ö´ÐÐ
patch -p0 < config.in.rej
Èç¹û³É¹¦µÄ»°(ûÓдíÎó)£¬ÄÇ÷áÄã¾Í¿ÉÒÔ¼ÌÐøÅäÖÃÓë±àÒëµÄ¹¤×÷£® Õâ¸ö
config.in.rej µµ»¹ÊÇ»áÁôÔÚÄÇÀµ«ÊÇÄã¿ÉÒÔ¿³µôËü£®
Èç¹ûÄãÈÔÈ»ÔâÓöÆäËüÎÊÌ⣬ÄÇ÷á¿ÉÄÜÊÇÄã°²×°ÁËÒ»·ÝË𻵵ÄÐÞ²¹µµ£® Èç¹û
patch ÏÔʾ `previously applied patch detected: Assume -R?'£¬
Äã¿ÉÄÜʹÓÃÁËһЩ±ÈÄãĿǰµÄ°æ±¾±àºÅ»¹µÍµÄÐÞ²¹µµ; Èç¹ûÄã»Ø´ð
`y'£¬Ëü»á³¢ÊÔ½«ÄãµÄ³ÌʽÂë½µ¼¶£¬¶øÇÒ¼¸ºõÒ»¶¨»áʧ°Ü;
Èç´Ë£¬Äã¾ÍÐèÒªÖØÐÂÈ¡µÃÒ»·ÝеÄÔʼ³ÌʽÂ룮
Òª»¹Ôµ½ÐÞ²¹Ç°µÄ״̬µÄ»°£¬ÔÚÔÏȵÄÐÞ²¹µµÉÏÖ´ÐÐ `patch -R'£®
µ±ÐÞ²¹µµÕæµÄʧ°ÜµÄʱºò£¬×îºÃµÄ°ì·¨ÊÇ´ÓÒ»¸öǬ¾»µÄÔʼ³ÌʽÂë(ÀýÈç´Ó
linux-x.x.x.tar.gz µµ°¸ÆäÖÐÖ®Ò»)¿ªÊ¼£¬ÔÙÖØÐÂÖ´ÐУ®
5.3. ¿³µô .orig µµ°¸
Ö»Òª×ö¹ý¼¸´ÎÐÞ²¹ÒÔáᣬÄÇЩ .orig µÄµµ°¸½«»á¿ªÊ¼¶Ñ»ý£® ÀýÈ磬ÎÒµÄÒ»¸ö
1.1.51 °æµÄ³ÌʽÂë×îááÒ»´Î×öÇåɨÊÇÔÚ 1.1.48 °æ£¨ÎÒÏëÊǰɣ©£® ɾ³ýÕâЩ
.orig µµ°¸»á½ÚÊ¡Ðí¶àµÄ´Åµú¿Õ¼ä£®
find . -name '*.orig' -exec rm -f {} ';'
½«»áÌæÄãÕÕÁÏÕâ¼þÊ£®Ä³Ð©°æ±¾µÄ patch »áÓà ~ À´´úÌæ .orig£®
ÓÐÆäËü¸üºÃµÄµÄ°ì·¨¿É¿³µôÕâЩ .orig µµ£¬¾ÍÊÇÀûÓà GNU µÄ xargs:
find . -name '*.orig' | xargs rm
»òÊǸü°²È«µ«ÓÐЩÂÞàµķ½·¨:
find . -name '*.orig' -print0 | xargs --null rm --
5.4. ÆäËüµÄÐÞ²¹µµ
ÓÐһЩ²¢²»ÊÇÓÉ Linus ·¢ÐÐµÄÆäËüÐÞ²¹µµ³öÏÖ(ÎÒ½«³ÆÖ®Îª``·Ç±ê×¼µÄ'')£®
Èç¹ûÄãʹÓÃÁËËüÃÇ£¬Linus µÄÐÞ²¹µµ¿ÉÄÜ»á¶øÎÞ·¨ÕýÈ·µØÖ´ÐУ¬
ÄÇ÷áÄã²»Êǵý«ËüÃÇ»¹Ô¾ÍÊǵÃÒò´Ë¶øÈ¥ÐÞ¸ÄÔ-
ʼ³ÌʽÂë»òÊÇÐÞ²¹µµ£®Õâ¸ö¹¤×÷¶Ô³õѧÕßͨ³£ÊǺÜÌÖÑᣬ
ËùÒÔÈç¹ûÄã²»ÏëÈ¥ÐÞ¸ÄÔʼ³ÌʽÂë(½á¹ûͨ³£²»´óºÃ)£¬ÔÚʹÓà Linus
µÄÐÞ²¹µµÖ®Ç°ÏÈ»¹ÔÕâЩ·Ç±ê×¼µÄÐÞ²¹µµ£¬»òÖØÐ°²×°ÐµijÌʽÂ룮
È»ááÊÔÊÔÕâ·Ç±ê×¼µÄÐÞ²¹µµÄܲ»ÄÜÓã®Èç¹û²»Äܵϰ£¬ÄÇ÷áÒª²»Äã¾Í¼ÌÐøÊ¹ÓþÉ
µÄºËÐÄ£¬
ÊÔÖøÐÞ¸ÄÐÞ²¹µµÊ¹ÆäÄÜÓã¬Òª²»¾ÍµÈ´ý(¿ÉÄÜÊÇÆòÇó)аæ·Ç±ê×¼ÐÞ²¹µµ³öÏÖ£®
·Ç±ê×¼µÄÐÞ²¹µµÓжàÆÕ±é? ÄãÓпÉÄÜÔø¾Ìý¹ýËüÃÇ£®ÎÒʹÓà Bill Paul
µÄ²»ÉÁ˸ÐÞ²¹µµÀ´ÐÞ¸ÄÎÒµÄÐéÄâ¿ØÖÆÌ¨£¬ÒòΪÎÒÌÖÑá»áÉÁ˸µÄÓαê(Õâ¸öÐÞ²¹µµ¾
³£ÎªÐ°æºËÐĶø¸üÐÂ)£® ÓÉ춴󲿷ݽÏеÄÉ豸Çý¶¯³Ìʽ¶¼ÒѾ-
±»·¢Õ¹³É¿ÉÔØÈëÄ£×éÐÎʽ£¬Òò´ËÐí¶à·Ç±ê×¼µÄÐÞ²¹µµµÄÖØÒªÐÔÒÑÖð½¥½µµÍ£®
_________________________________________________________________
Kernel HOWTO ÖÐÒë°æ : ÐÞ²¹ºËÐÄ
Previous: ±àÒëºËÐÄ
Next: ¸½¼ÓµÄÌ×¼þ Kernel HOWTO ÖÐÒë°æ : ¸½¼ÓµÄÌ×¼þ
Previous: ÐÞ²¹ºËÐÄ
Next: һЩÏÝÚå
_________________________________________________________________
6. ¸½¼ÓµÄÌ×¼þ
ÄãµÄ Linux ºËÐÄÓÐÐí¶àÔÚÔʼ³ÌʽÂë±¾ÉíÀïÃæ²¢Ã»ÓÐ˵Ã÷µÄÌØÐÔ£»
ÕâÐ©ÌØÐÔÒ»°ãÊǾÓÉÍâÀ´µÄÈíÌåÀ´ÀûÓã¬ÔÚÕâÀïÁгöÒ»²¿·Ö×îÆÕ±éµÄ£º
6.1. kbd
Linux
µÄ¿ØÖÆÌ¨ÓÐÖø±ÈÄãËùÄܳԾª¸ü¶àµÄÌØÉ«£®Õâ°üÀ¨Çл»×ÖÐÍ£¬ÖØÐ¶ÔÓ³ÄãµÄ¼üÅÌ£¬
Çл»ÏÔʾģʽ(½ÏаæµÄºËÐÄ)µÄÄÜÁ¦µÈµÈ£® kbd
ÕâÌ×ÈíÌåÀïÓÐÄܹ»ÈÃʹÓÃÕß×öÕâЩ¶¯×÷µÄÖ§Ô®³Ìʽ£¬»¹¼ÓÉÏÒ»´ó¶ÑµÄ×ÖÐÍÒÔ¼°¼¸
ºõ×ãÒÔÊÊÓÃÈκμüÅ̵ÄһЩ¼üÅ̶ÔÓ³±í£® Ëü¿ÉÔÚ·ÅÖúËÐÄÔ-
ʼÂëµÄͬһվ̨ÕÒµ½£®
6.2. util-linux
Rik Faith (faith@cs.unc.edu) ÊÕ¼¯ÁËÒ»´ó¶Ñ Linux µÄ¹¤¾ß£¬½Ð×ö
util-linux£® ÏÖÔÚÊÇÓÉ Nicolai Langfeldt (util-linux@math.uio.no)
Ëùά»¤£® ¿É´Ó sunsite.unc.edu µÄ /pub/Linux/system/misc È¡µÃ£®
Ëü°üÀ¨ÁËÏñ setterm£¬rdev ÒÔ¼° ctrlaltdel ÓëºËÐÄÓйصŤ¾ß£® ¾ÍÏñ Rik
Ëù˵µÄ£¬²»ÒªÏë¶¼²»Ïë¾Í°ÑËü×°ÉÏÈ¥!
Äã²»ÐèÒª°²×°´ËÌ×¼þÖеÄÿһ¸ö¶«Î÷£¬¶øÇÒÈç¹ûÄãÕâÑù×öµÄ»°¿ÉÄÜ»áÒýÆðÑÏÖØµÄ
ÎÊÌ⣮
6.3. hdparm
ÏñºÜ¶àÈíÌåÒ»Ñù£¬ÕâÔø¾ÊÇÒ»¸öºËÐÄÐÞ²¹µµ¼°ÆäÖ§Ô®³Ìʽ£®
ÕâЩÐÞ²¹µµ±»·ÅÈëÉÌÒµºËÐÄÖУ¬¶øÓÃÀ´×î¼Ñ»¯ÒÔ¼°µ÷ÊÊÄãÓ²µúµÄÖ§Ô®³Ìʽһ°ãÊÇ
·Ö¿ª·¢Ðеģ®
6.4. gpm
gpm ÊÇ general purpose mouse µÄ¼òд£®
Õâ¸ö³Ìʽ¿ÉÒÔÈÃÄãʹÓò»Í¬ÖÖÀàµÄ»¬ÊóÔÚÐéÄâ¿ØÖÆÌ¨Ö®¼ä¼ôÌù£¬ÒÔ¼°×öһЩÆäËü
µÄÊÂÇ飮
_________________________________________________________________
Kernel HOWTO ÖÐÒë°æ : ¸½¼ÓµÄÌ×¼þ
Previous: ÐÞ²¹ºËÐÄ
Next: һЩÏÝÚå Kernel HOWTO ÖÐÒë°æ : һЩÏÝÚå
Previous: ¸½¼ÓµÄÌ×¼þ
Next: Éý¼¶ÖÁ 2.0.x µÄ×¢ÒâÊÂÏî
_________________________________________________________________
7. һЩÏÝÚå
7.1. make clean
Èç¹ûÄãµÄкËÐÄ»á×öÒ»Ð©ÕæµÄºÜÆæ¹ÖµÄÊ£¬ÓпÉÄÜÊÇÒòΪÔÚ±àÒëºËÐÄǰÄãÍüÁË×ö
Çå³ý make clean£®
Ö¢×´´ÓÄãµÄºËÐIJ»Õý³£µØ±ÀÀ£µ½Ææ¹ÖµÄÊä³öÈëÎÊÌ⣬һֱµ½¿ÉÁ¯µÄÖ´ÐÐЧÂʵȵÈ
²»Ò»¶ø×㣬¿ÉÒÔÊÇÈκÎÊ£® ×îºÃҲҪȷ¶¨ÄãÓÐ×ö make dep£®
7.2. ¾Þ´ó»ò»ºÂýµÄºËÐÄ
Èç¹ûÄãµÄºËÐÄÕ¼ÓÃÁË´óÁ¿µÄ¼ÇÒäÌ壬»òÕßËüÕæµÄÊǺܴóºÜ´ó£¬Ò²»òÕßÊǼ´Ê¹ÓÃÄã
È«Ð嵀 786DX6/440 À´±àÒëÈ´¶¼»¹ÏñÊÇÓÀÔ¶±àÒë²»ÍêµÄ»°£¬
ÄÇ÷áÓпÉÄÜÊÇÒòΪÄãÅäÖÃÁËÌ«¶à²»±ØÒªµÄ¶«Î÷(É豸Çý¶¯³Ìʽ£¬µµ°¸ÏµÍ³µÈµÈ)£®
Èç¹ûÄã²»»áÓõ½Ä³Ð©¶«Î÷£¬ÄǾͲ»ÒªÅäÖÃËü£¬ÒòΪËüÕæµÄ»áÕ¼ÓüÇÒäÌ壮
ºËÐĹýì¶Ó·Ö××îÃ÷ÏÔµÄÖ¢×´¾ÍÊÇ·¢Éú¼ÇÒäÌåÓë´ÅµúÖ®¼äÒì³£´óÁ¿µÄ×ÊÁϽ»»»£®
Èç¹ûÄã²»ÊÇÓÃÄÇÖÖÉùÒôÌýÆðÀ´ºÃÏñÊÇÅçÉä»ú½µÂäµÄ¾ÉÐÍ Fujitsu Eagles
Ó²µú£¬¼ì²éÒ»ÏÂÄãµÄºËÐÄÅäÖã®
Äã¿ÉÒÔÕÒ³öÄã»úÆ÷ÉÏÈ«²¿¼ÇÒäÌåµÄÊýÁ¿£¬È»áá¼õµô /proc/meminfo ÀïÃæµÄ
``total mem'' »ò `free'
Ö¸ÁîËùµÃµÄ¼ÇÒäÌåÊýÁ¿À´µÃÖªºËÐÄʹÓÃÁ˶àÉÙ¼ÇÒäÌ壮 ÄãÒ²¿ÉÒÔÖ´ÐÐ `dmesg'
(»òÕßÒ²¿ÉÒԲ鿴ºËÐĵļǼµµ£¬ËüÒ»¶¨ÔÚ»áÄãµÄϵͳÀï)£®¿´ÆðÀ´¾ÍÏñÕâÒ»ÐУº
Memory: 15124k/16384k available (552k kernel code, 384k reserved, 324k
data)
ÎÒµÄ 386 (ÅäÖúÜÉÙÀ¬»ø)ÏÔʾÈçÏ£º
Memory: 7000k/8192k available (496k kernel code, 384k reserved, 312k
data)
Èç¹ûÄã`±ØÐë'µÃµ½Ò»´óÐͺËÐĵ«ÏµÍ³È´²»ÈÃÄã×ö£¬Äã¿ÉÒÔÊÔÊÔ `make
bzimage'£® Äã¿ÉÄܱØÐ밲װаæµÄ LILO À´×öÕâ¼þÊ£®
7.3. ºËÐÄÎÞ·¨±àÒë
Èç¹ûËüûÓб»±àÒ룬ÄÇ÷á¿ÉÄÜÊÇÓиöÐÞ²¹µµÊ§°ÜÁË£¬»òÕßÊÇÄã´Óij¸öµØ·½Äõ½µÄ
Ôʼ³ÌʽÂëÓÐÎÊÌ⣮ Ò²ÓпÉÄÜÊÇÒòΪÄãµÄ gcc
°æ±¾²»ÕýÈ·»ò»µµôÁË(ÀýÈ纬ÈëµµÓдíÎó)£® È·¶¨ Linus ÔÚ README
ÀïËùÃèÊöµÄ·ûºÅÁ´½á¶¼ÓÐÕýÈ·½¨Á¢£®
Ò»°ã˵À´£¬Èç¹ûºËÐÄûÄܱàÒ룬Õâ±íʾÔÚijЩµØ·½ÓÐÑÏÖØµÄ´íÎó£¬ÖØÐ°²×°Ä³Ð©
¹¤¾ß¿ÉÄÜÊDZØÐëµÄ£®
»òÕß¿ÉÄÜÄãÓà ELF ±àÒëÆ÷ (gcc 2.6.3 »òÒÔááµÄ) À´±àÒë 1.2.x µÄºËÐÄ£®
Èç¹û±àÒë¹ý³ÌÖÐÄãµÃµ½Ò»´ó¶ÑµÄ xxxx undefined µÄѶϢ£¬Õâ¿ÉÄÜÊÇÄãµÄÎÊÌ⣮
ÐÞÕýµÄ·½·¨´ó²¿·Ý¶¼ºÜ¼òµ¥£®½«Õ⼸Ðмӵ½ 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
È»ááÖØÐÂÖ´ÐÐ make dep Óë zImage£®
ÔÚÉÙÊýÇé¿öÏ£¬gcc ¿ÉÄÜ»áÓÉì¶Ó²ÌåÎÊÌâ¶øµ±µô£®´íÎóѶϢ»áÏñ ``xxx exited
with signal 15'' Ö®ÀàµÄ£¬¶øÇһῴÆðÀ´ºÜÆæ¹Ö£®
ÎÒ±¾À´²»ÏëÌáÕâµãµÄ£¬²»¹ýÔÚÎÒÉíÉÏÒ²·¢Éú¹ýÒ»´Î - ÎÒÓÐһЩ»µµÄ cache
¼ÇÒäÌ壬±àÒëÆ÷ʱ³£»áËæ»úµØµ±µô£® Èç¹ûÄãÓдËÎÊÌâµÄ»°ÏÈÊÔÖøÖØÐ°²×°
gcc£®Èç¹ûÄ㽫Íⲿ cache ¹Øµô£¬¼õÉÙһЩ RAM
Ö®ááºËÐľͱàÒë³É¹¦ÁË£¬Äã´ó¸ÅÖ»»á¾õµÃ¿ÉÒÉ£®
¸æËßÈËÃÇËûµÄÓ²ÌåÓÐÎÊÌâ³£»áʹÈËÀ§ÈÅ£®²»¹ý£¬Õâ²»ÊÇÎÒ·¢Ã÷µÄ£® ÕâÊÇÒ»¸ö
FAQ -- ¿ÉÒÔÔÚ http://www.bitwizard.nl/sig11/ ÕÒµ½£®
7.4. аæµÄºËÐÄËÆºõ²»ÄÜÆô¶¯
ÄãûÓÐÖ´ÐÐ LILO £¬»òÊÇûÓÐÕýÈ·µÄÅäÖÃËü£®ÓÐÒ»´ÎÎÒÔø¾-
Åöµ½µÄÎÊÌâÊdzöÔÚÅäÖõµÀ ÎÒÓÃÁË `boot = /dev/hda1' ¶ø²»ÊÇ `boot =
/dev/hda'
(ÕâÔÚ¸Õ¿ªÊ¼Ê±ÕæµÄÊǺÜÌÖÑᣬµ«ÊÇÒ»µ©ÄãÓÐÁËÒ»¸ö¿ÉÒÔÓõÄÅäÖõµ£¬Ó¦¸Ã²»ÐèÒ
ªÈ¥ÔÙÈ¥¸Ä±äËü)£®
7.5. ÄãÍüÁËÖ´ÐÐ LILO£¬»òϵͳ¸ù±¾²»ÄÜÆô¶¯
àÞ£¡ÏÖÔÚ×îºÃµÄ°ì·¨ÊÇÓÃ´ÅÆ¬Æô¶¯£¬²¢ÇÒ×¼±¸ÁíÒ»ÕÅ¿ÉÒÔÆô¶¯µÄ´ÅƬ(ÏñÊÇ`make
zdisk'ʱ×öµÄ´ÅƬ)£®
ÄãµÃÖªµÀÄãµÄ¸ùĿ¼(/)ËùÔڵķָîÇøÒÔ¼°ËüµÄ¸ñʽ(second extended, minix
µÈµÈ)£® ÔÚÏÂÃæµÄÀý×ÓÖУ¬ÄãÒ²µÃÖªµÀÄãµÄ /usr/src/linux Ô-
ʼ³ÌʽÂëÔÚÄǸö·Ö¸îÇø£¬ËüµÄ¸ñʽ£¬ÒÔ¼°ËüÒ»°ã»á¹ÒÔÚÄǶù£®
ÔÚÕâ¸öÀý×ÓÖУ¬ ¸ùĿ¼ / ÊÇ /dev/hda1£¬¶ø³ÖÓÐ /usr/src/linux µÄ·Ö¸îÇøÊÇ
/dev/hda3£¬Ò»°ã»á¹ÒÔÚ /usr Ï£® ËüÃǶ¼ÊÇ second extended
µµ°¸ÏµÍ³£®¿ÉÒÔÔË×÷µÄºËÐÄÓ³Ïñ½Ð×ö zImage £¬·ÅÔÚ
/usr/src/linux/arch/i386/boot µ×Ï£®
Õâ¸öÖ÷ÒâÊÇÕâÑùµÄ£¬¼ÙÈôÓÐÒ»¸ö¿ÉÒÔÔË×÷µÄºËÐÄÓ³Ïñ½Ð×ö
zImage£¬¿ÉÄÜ¿ÉÒÔ°ÑËüÓÃÔÚÐÂµÄ´ÅÆ¬ÉÏ£®
ÁíÍâÒ»¸ö²»Ò»¶¨»á¸üºÃµÄ±äͨ°ì·¨(Õâ¸úÄãµÄϵͳÔõ÷á×é³ÉµÄÓйØ)ÔÚ˵Ã÷Õâ¸öÀý
×ÓÖ®áá»áÌÖÂÛµ½£®
Ê×ÏÈ£¬´Ó boot/root
´ÅƬ»òÕßÊǼ±¾È´ÅƬ¿ª»ú£¬È»áὫ³ÖÓпÉÔË×÷ºËÐĵķָîÇø¹ÒÉÏÀ´£º
mkdir /mnt
mount -t ext2 /dev/hda3 /mnt
Èç¹û mkdir Ö¸ÁîÏÔʾ¸ÃĿ¼ÒѾ´æÔÚ£¬ºöÂÔµô²»±ØÀí»áËü£® ÏÖÔÚ£¬cd
µ½³ÖÓпÉÔË×÷ºËÐĵĵط½£®×¢Òâ:
/mnt + /usr/src/linux/arch/i386/boot - /usr = /mnt/src/linux/arch/i386/boot
°ÑÒ»ÕŸñʽ»¯¹ýµÄ´ÅƬ·Å½ø ``A:'' ´Åµú»ú(È·¶¨²»ÊÇÄãµÄ boot/root ´ÅƬ!)£¬
°ÑÓ³ÏñµµÇãµ¹µ½´ÅƬÀïÈ¥£¬È»ááÅäÖÃÄãµÄ¸ùĿ¼·Ö¸îÇø:
cd /mnt/src/linux/arch/i386/boot
dd if=zImage of=/dev/fd0
rdev /dev/fd0 /dev/hda1
cd µ½¸ùĿ¼ / ²¢ÇÒжϱê×¼ /usr ·Ö¸îÇø:
cd /
umount /mnt
ÄãÏÖÔÚÓ¦¸Ã¿ÉÒÔ´ÓÕâÕÅ´ÅÆ¬Õý³£µÄ¿ª»úÁË£®ÔÚÕâ´Î¿ª»úáá²»ÒªÍü¼ÇÖ´ÐÐ lilo
(»òÊÇÆäËüÄãÔø¾×ö´íµÄʲ÷áÊÂ)!
ÈçÍ¬Ç°ÃæÔø¾Ìá¹ýµÄ£¬»¹ÓÐÁíÍâÒ»ÖÖºÜÆÕ±éµÄ±äͨ·½Ê½£®
Èç¹ûÇé¿öÊÇÄãÓÐÒ»¸ö¿ÉÒÔÔË×÷µÄºËÐÄÔÚ·ÅÔÚ / (ÀýÈç
/vmlinuz)£¬ÄãÒ²¿ÉÒÔʹÓÃËü£®
¼Ù¶¨ËùÓеÄÌõ¼þ¶¼¸úÉÏÃæµÄÀý×ÓÒ»Ñù£¬¶øÎҵĺËÐÄÓ³ÏñÊÇ
/vmlinuz£¬Ö»Òª¶ÔÉÏÃæµÄÀý×Ó×öÕâЩ¸Ä±ä: °Ñ /dev/hda3 ¸Ä³É /dev/hda1 (/
·Ö¸îÇø)£¬ °Ñ /mnt/src/linux ¸Ä³É /mnt£¬²¢ÇÒ°Ñ if=zImage ¸Ä³É
if=vmlinuz£® ÖÁì¶Ç°ÃæÓйØ×¢ÒâÈçºÎÍÆµ¼³ö /mnt/src/linux/arch/i386/boot
µÄÄǸö²¿·Ö¿ÉÒÔºöÂÔ£®
½« LILO ʹÓÃÔÚ´óµÄÓ²µúÉÏ(³¬¹ý 1024 ´ÅÖù)¿ÉÄÜ»áÓÐÎÊÌ⣮ Çë²Î¼û LILO
mini-HOWTO »òÆäËüÎļþµÄ˵Ã÷£®
7.6. ϵͳ±íʾ `warning: bdflush not running'
Õâ¿ÉÒÔËãÊÇÒ»¸öÏ൱ÑÏÖØµÄÎÊÌ⣮´Ó 1.0 °æÒÔááµÄºËÐÄ¿ªÊ¼(´ó¸ÅÊÇÔÚ 1994
ÄêËÄÔ¶þÊ®ÈÕ×óÓÒ)£¬ Óиö»áÖÜÆÚÐԵظüеµ°¸ÏµÍ³»º³åÇøµÄ³Ìʽ½Ð×ö
`update' ±»Éý¼¶»òÈ¡´úµôÁË£® È¡µÃ `bdflush' µÄÔ-
ʼ³ÌʽÂë(ÄãÓ¦¸Ã¿ÉÒÔ´ÓÄãÈ¡µÃºËÐĵĵط½ÕÒµ½)£¬
È»áá±àÒëËü(Äã¿ÉÄÜ»áÏ£ÍûÔھɰæµÄºËÐÄÏÂÖ´ÐбàÒë¼°°²×°)£® Ëü»áÒÔ `update'
ΪÃû°²×°Ëü×Ô¼º²¢ÇÒÔÚÖØ¿ª»úÒÔáᣬкËÐÄÓ¦¸Ã»áÔË×÷Á¼ºÃ£®
7.7. ϵͳ˵ undefined symbols ¶øÇÒÎÞ·¨±àÒë
Äã¿ÉÄÜÓÐÒ» ELF ±àÒëÆ÷(gcc 2.6.3 »òÒÔááµÄ)¶øÇÒÊÇ 1.2.x (»ò¸üÔçµÄ)ºËÐÄÔ-
ʼÂ룮 Ò»°ãÐÞÕýµÄ·½·¨Êǽ«Õ⼸Ðмӵ½ 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
Õâ»áÒÔ a.out ³Ìʽ¿âÀ´±àÒë 1.2.x ºËÐÄ£®
7.8. ÎÞ·¨ÈÃÎÒµÄ IDE/ATAPI CD-ROM Õý³£¹¤×÷
ºÜÆæ¹Ö£¬Ò»´ó¶ÑÈËÎÞ·¨ÈÃËûÃÇµÄ ATAPI
¹âµú»ú¹¤×÷£¬¿ÉÄÜÊÇÒòΪÓÐÌ«¶àÊÂÈÝÒ׳ö´í£®
ÄãµÄ¹âµú»úÊÇÔÚÒ»ÌØ±ð IDE ½çÃæÉϵÄΨһÉ豸£¬Ëü±ØÐë±»µ÷ÕûΪ ``master''
»ò ``single''£® Õâ¿ÉÄÜÊÇ×î³£¼ûµÄ´íÎó£®
Creative Labs ÏÖÔÚ½« IDE ½çÃæ·Åµ½ËûÃÇÒôЧ¿¨À
È»¶ø£¬Õ⽫µ¼ÖÂÒ»¸öÓÐȤµÄÎÊÌ⣬ËäÈ»ÓÐЩÈËÖ»ÓÐÒ»¸ö IDE
½çÃæ£¬Ðí¶àÈËÔÚÖ÷»ú°åÉÏÓÐÁ½¸öÄÚ½¨µÄ IDE ½çÃæ(ͨ³£ÔÚ IRQ15)£¬
Òò´ËÒ»½â¾öµÄ°ì·¨Êǽ«Éù°Ô¿¨µÄ½çÃæµ÷³ÉµÚÈý¸ö IDE (ÓÐÈ˸æËßÎÒÊÇ IRQ11)£®
ÕâÔÚ 1.2.x µÄ Linux ºËÐÄÉÏ»áÓÐÎÊÌ⣬ÒòΪËü²»Ö§Ô®µÚÈý¸ö IDE ½çÃæ(´Ó
1.3.x ϵÁÐÒÑ¿ªÊ¼Ö§Ô®£¬µ«Ëü»¹ÔÚ·¢Õ¹ÖУ¬¶øÇÒ²»»á×Ô¶¯Õì²â)£®
Òª½â¾ö´ËÎÊÌ⣬ÄãÓÐһЩѡÔñ£®
Èç¹ûÄãÒѾÓеڶþ¸ö IDE
²º£¬Èç¹ûÄãûÓÃËü»òûÓÐÁ½²¿É豸ÔÚÉÏÃæµÄ»°¾ÍÓлú»á£® ½« ATAPI
¹âµú»ú´ÓÒôЧ¿¨ÉÏÄÃÏÂÀ´²¢·Åµ½µÚ¶þ¸ö½çÃæÉÏ£®È»ááÄã¿ÉÒԹصôÒôЧ¿¨ÉϵĽçÃæ
£¬Õâ¾Í¿ÉÒÔÊ¡ÏÂÒ»¸ö IRQ£®
Èç¹ûÄãûÓеڶþ¸ö IDE
½çÃæ£¬µ÷ÕûÒôЧ¿¨µÄ½çÃæ(²»ÊÇÒôЧ¿¨µÄÒôЧ²¿·Ý)µ½µÚ¶þ½çÃæÓõÄ
IRQ15£¬ÕâÑùÓ¦¸Ã»á¶¯£®
Èç¹ûÒòΪijЩÀíÓɷǵÃʹÓÃ``µÚÈý¸ö''½çÃæ²»¿É£¬»òÊÇÓÐÆäËüÎÊÌ⣬ È¡µÃ
1.3.x µÄºËÐÄ(ÀýÈç 1.3.57 ¾ÍÓÐ)£¬ÔĶÁ drivers/block/README.ide µµ°¸£®
ÄÇÀïÓиü¶àµÄ×ÊѶ˵Ã÷£®
7.9. ϵͳÏÔʾ¹Øì¶ obsolete routing requests µÄÆæ¹ÖѶϢ
È¡µÃаæµÄ route ³Ìʽ¼°ÆäËüÓë route ÓйصijÌʽ£®
/usr/include/linux/route.h (ÕâÊÇ /usr/src/linux ϵÄÒ»¸öµµ°¸)ÒѾ-
×öÁËÐ޸ģ®
7.10. ·À»ðǽ¹¦ÄÜÎÞ·¨ÔÚ 1.2.0 ÉϹ¤×÷
ÖÁÉÙÉý¼¶µ½ 1.2.1 °æ£®
7.11. ``Not a compressed kernel Image file'' (·ÇѹËõºËÐÄÓ³Ïñµµ)
²»ÒªÓÃÔÚ /usr/src/linux ²úÉúµÄ vmlinux ×öΪÄãµÄÆô¶¯ºËÐÄÓ³Ïñ;
[..]/arch/i386/boot/zImage ²ÅÊÇÕýÈ·µÄ£®
7.12. Éý¼¶ÖÁ 1.3.x ááÔÚ¿ØÖÆÌ¨ÖÕ¶Ë»úÉϵÄÎÊÌâ
½«¿ØÖÆÌ¨É趨µµ /etc/termcap ÖÐµÄ dumb ¸ÄΪ linux£®
Äã¿ÉÄÜ»á±ØÐëÔö¼ÓÒ»Ïî terminfo£®
7.13. ºËÐÄÉý¼¶ááËÆºõÎÞ·¨±àÒë¶«Î÷
Linux µÄºËÐÄÔʼ³ÌʽÂë°üº¬ÁËÐí¶àµÄº¬Èëµµ(¾ÍÊÇÓà .h
½áβµÄµµ°¸)±ØÐëΪ±ê×¼µÄ /usr/include Ëù²Î¿¼£®
ËüÃÇͨ³£ÓÃÕâÖÖ·½·¨±»²Î¿¼(ÆäÖÐ xyzzy.h ÊÇÔÚ /usr/include/linux ÏÂ):
#include <linux/xyzzy.h>
Õý³£Çé¿öÏ£¬ÔÚ /usr/include Ï»áÓÐÒ»½Ð×ö linux µÄÁ¬½áµ½ÄãµÄºËÐÄÔʼÂëµÄ
include/linux Ŀ¼(Ò»°ãϵͳÔÚ /usr/src/linux/include/linux)£®
Èç¹ûÕâ¸öÁ¬½áûÓÐÁË£¬»òÖ¸µ½´íÎóµÄµØ·½£¬´ó²¿·ÝµÄ¶«Î÷¶¼½«ÎÞ·¨±àÒ룮
Èç¹ûÄã¾õµÃºËÐÄÔʼÂëÕ¼ÁËÌ«¶àµÄ¿Õ¼ä¶ø¿³µôËü£¬ÕâÏÔÈ»»áÒý·¢ÎÊÌ⣮
ÁíÒ»¸ö¿ÉÄܵĴíÎóÊÇËüµÄµµ°¸È¨ÏÞ; Èç¹ûÄãµÄ root
Ô¤Éè²»ÈÃÆäËüʹÓÃÕß¿´µ½ËûµÄµµ°¸£¬ ¶øÇÒÄã½â¿ªºËÐÄÔʼÂëʱûÓмÓÉÏ p
(±£Áôµµ°¸Ä£Ê½)Ñ¡ÏÆäËüʹÓÃÕßÒ²»áÎÞ·¨Ê¹Óà C ±àÒëÆ÷£® ËäÈ»Äã¿ÉÒÔÓÃ
chmod Ö¸ÁîÀ´ÐÞÕý£¬²»¹ý¸üÈÝÒ׵ķ½·¨ÊÇÖØÐ½⿪º¬Èëµµ£®
Äã¿ÉÒÔÒ»¿ªÊ¼Äã½â¿ªÕû¸öÔʼÂëµÄͬÑù·½·¨£¬²»¹ý¶à¼ÓÁËÒ»¸ö²ÎÊý:
blah# tar zxvpf linux.x.y.z.tar.gz linux/include
Çë×¢Òâ: Èç¹û /usr/src/linux Á¬½á²»Ôڵϰ ``make config'' »áÖØ½¨Ö®£®
7.14. Ôö¼ÓÉÏÏÞ
ÏÂÃæÒ»Ð©¡õÀýÖ¸Áî¸æËßÄãÈçºÎÔö¼ÓºËÐÄÌṩµÄÉÏÏÞ:
echo 4096 > /proc/sys/kernel/file-max
echo 12288 > /proc/sys/kernel/inode-max
echo 300 400 500 > /proc/sys/vm/freepages
_________________________________________________________________
Kernel HOWTO ÖÐÒë°æ : һЩÏÝÚå
Previous: ¸½¼ÓµÄÌ×¼þ
Next: Éý¼¶ÖÁ 2.0.x µÄ×¢ÒâÊÂÏî Kernel HOWTO ÖÐÒë°æ : Éý¼¶ÖÁ 2.0.x
µÄ×¢ÒâÊÂÏî
Previous: һЩÏÝÚå
Next: ¿ÉÔØÈëÄ£×é
_________________________________________________________________
8. Éý¼¶ÖÁ 2.0.x µÄ×¢ÒâÊÂÏî
ºËÐÄ 2.0.x °æÔÚ°²×°ÉÏÒýÈëÁËÐí¶àµÄ¸Ä±ä£® ÔÚÔʼ³ÌʽÂëÀïµÄ
Documentation/Changes µµ°¸°üº¬ÁËÉý¼¶ÖÁ 2.0.x °æËùÓ¦ÖªµÀµÄ×ÊѶ£®
Äã¿ÉÄÜ»¹ÐèÒªÉý¼¶Ò»Ð©¹Ø¼üµÄÌ×¼þ£¬ÀýÈç gcc£¬libc Óë
SysVInit£¬²¢¸Ä±äһЩϵͳµµ°¸£®²»¹ý£¬Ò²±ð½ôÕÅ£®
_________________________________________________________________
Kernel HOWTO ÖÐÒë°æ : Éý¼¶ÖÁ 2.0.x µÄ×¢ÒâÊÂÏî
Previous: һЩÏÝÚå
Next: ¿ÉÔØÈëÄ£×é Kernel HOWTO ÖÐÒë°æ : ¿ÉÔØÈëÄ£×é
Previous: Éý¼¶ÖÁ 2.0.x µÄ×¢ÒâÊÂÏî
Next: ÆäËüÅäÖÃÑ¡Ïî
_________________________________________________________________
9. ¿ÉÔØÈëÄ£×é
¿ÉÔØÈëÄ£×éÄܹ»½ÚÊ¡¼ÇÒäÌ壬¶øÇÒºÜÈÝÒ×É趨£® Ä£×éµÄ¡õΧÒѾ-
°üº¬Á˵µ°¸ÏµÍ³£¬ÒÒÌ«ÍøÂ·¿¨Çý¶¯³Ìʽ£¬´Å´ø»ú£¬Ó¡±í»úÇý¶¯³Ìʽ£¬»¹Óиü¶à£®
9.1. °²×°Ä£×鹤¾ß
Ä£×鹤¾ß¿ÉÒÔ´ÓÄãÈ¡µÃºËÐĵĵط½ÕÒµ½£¬Èç modules-x.y.z.tar.gz;
Ñ¡ÔñÓëÄãĿǰºËÐİ汾ÏàµÈ»òÉԵ͵Ä×î½Ó½üµÄ x.y.z£® Óà `tar zxvf
modules-x.y.z.tar.gz' ½â¿ª£® cd µ½Ëü²úÉúµÄĿ¼(modules-x.y.z)£¬¿´Ò»ÏÂ
README£¬È»áá°´ÕÕ°²×°Ö¸Ê¾Ö´ÐÐ (ͨ³£ºÜ¼òµ¥£¬¾ÍÏñ make install Ö®ÀàµÄ)£®
È»ááÄãÔÚ /sbin Ó¦¸Ã»áÓÐÕâЩ³Ìʽ insmod, rmmod, ksyms, lsmod, genksyms,
modprobe, ÒÔ¼° depmod£® Èç¹ûÄãÏëµÄ»°£¬¿ÉÒÔÓà insmod
ÀïµÄ¡õÀýÇý¶¯³Ìʽ``hw''À´²âÊÔÕâЩ¹¤¾ß; ²Î¼û INSTALL µµÀïµÄϸ½Ú˵Ã÷£®
insmod Ö¸Áһ¸öÄ£×é²åÈëÔËÐÐÖеĺËÐÄ£®Ä£×éͨ»áÒÔ .o Ϊ½áβ;
ÉÏÃæÌáµ½µÄ¡õÀý³Ìʽ¾Í½Ð×ö drv_hello.o£¬Òò´ËÒª²åÈë´ËÄ£×飬¾ÍÓà `insmod
drv_hello.o'£® ÒªÁ˽âĿǰºËÐÄÕýÔÚʹÓõÄÄ£×飬Óà lsmod
Ö¸ÁÊä³ö¿´ÆðÀ´ÏñÕâÑù:
blah# lsmod
Module: #pages: Used by:
drv_hello 1
`drv_hello' ÊÇÕâÄ£×éµÄÃû³Æ£¬ËüÓÃÁËÒ»Ò³ (4K)
µÄ¼ÇÒäÌ壬¶øÇÒĿǰûÓÐÆäËüµÄºËÐÄÄ£×éÒÀÀµì¶Ëü£® ÒªÒÆ³ý´ËÄ£×飬Óà `rmmod
drv_hello'£®×¢Òâ rmmod ÐèÒªµÄÊÇÄ£×éÃû³Æ£¬¶ø²»Êǵµ°¸Ãû³Æ; ¾ÍÊÇÄã´Ó
lsmod Ö¸ÁîÁгöÀ´µÄ£®Æä⏤¾ßµÄ×÷ÓÃÔÚÏßÉÏÊÖ²áÖж¼ÓÐ˵Ã÷£®
9.2. ÓëºËÐÄ·¢ÐеÄÄ£×é
ÔÚ 2.0.30 °æÖУ¬¼¸ºõËùÓеĶ«Î÷¶¼¿ÉÒÔ±ä³É¿ÉÔØÈëÄ£×飮
ҪʹÓÿÉÔØÈëÄ£×飬Ê×ÏÈÈ·¶¨ÄãûÓн«ÆäÅäÖõ½Õý³£µÄºËÐÄÀҲ¾ÍÊÇ˵£¬ÔÚ
`make config' ʱ²»Êǻشð y£® ±àÒëкËÐIJ¢ÓÃËüÀ´¿ª»ú£®È»áᣬÔÙ´Î cd µ½
/usr/src/linux£¬È»ááÖ´ÐÐ `make modules'£®
Õ⽫±àÒëËùÓÐÄãδָ¶¨ÔÚºËÐÄÅäÖÃÀïµÄÄ£×飬²¢½«ÆäÁ¬½áµ½
/usr/src/linux/modules£® Äã¿ÉÒÔÖ±½ÓÓÉ´ËĿ¼ʹÓ㬻òÊÇÖ´ÐÐ `make
modules_install' ½«Æä°²×°µ½ /lib/modules/x.y.z£¬ÆäÖÐ x.y.z
ÊǺËÐİ汾£®
Õâ¶Ô´¦Àíµµ°¸ÏµÍ³ÉÏÌØ±ð±ãÀû£®Äã¿ÉÄܲ¢²»¾³£Ê¹Óà minix »ò MS-DOS
µÄµµ°¸ÏµÍ³£® ÀýÈ磬Èç¹ûÎÒÓöµ½Ò» MS-DOS µÄÈíµúƬ£¬ÎÒ»áÓà insmod
/usr/src/linux/modules/msdos.o£¬²¢ÔÚʹÓÃÍê³ÉááÓà rmmod msdos
Ö¸ÁÆäÈ¥µô£® ´Ë¹ý³Ì´óÔ¼¿ÉÒÔ½ÚÊ¡ºËÐÄ 50K ×óÓҵļÇÒäÌ壮¶Ôì¶ minix
µµ°¸ÏµÍ³ÓÐÒ»µãҪעÒâµÄ¾ÍÊÇ£¬
ΪÁËҪʹÓÃ``¼±¾È´ÅƬ''£¬ÄãÓ¦¸Ã×ÜÊÇÖ±½Ó½«ËüÅäÖõ½ºËÐÄÖУ®
_________________________________________________________________
Kernel HOWTO ÖÐÒë°æ : ¿ÉÔØÈëÄ£×é
Previous: Éý¼¶ÖÁ 2.0.x µÄ×¢ÒâÊÂÏî
Next: ÆäËüÅäÖÃÑ¡Ïî
Kernel HOWTO ÖÐÒë°æ : ¼ò½é
Previous: Kernel HOWTO ÖÐÒë°æ
Next: ÖØÒªÎÊÌâÓë½â´ð Kernel HOWTO ÖÐÒë°æ : ÆäËüÅäÖÃÑ¡Ïî
Previous: ¿ÉÔØÈëÄ£×é
Next: ¡õ¾÷ºÍ¼¼ÇÉ
_________________________________________________________________
10. ÆäËüÅäÖÃÑ¡Ïî
±¾½Ú°üÀ¨ÁËÔÚÅäÖÃÒ»½ÚÖÐδÁгöµÄºËÐÄÅäÖÃÑ¡Ïî(ÔÚ make config ʱ)£®
´ó²¿·ÝµÄÉ豸Çý¶¯³Ìʽ²¢Î´Áгö£®
10.1. General setup (Ò»°ãÉ趨)
Normal floppy disk support (Ò»°ãÈíµúÖ§Ô®) - ¾ÍÊÇÕâ¸ö£®
Äã¿ÉÄÜ»áÏ뿴һϠdrivers/block/README.fd Õâ¸öµµ°¸; ¶Ô IBM Thinkpad
µÄʹÓÃÕßÀ´ËµÌرðÖØÒª£®
XT harddisk support (XT Ó²µúÖ§Ô®) - Èç¹ûÄãÏëÓÃÀϹŶµÄ°ËλԪ XT
¿ØÖÆÆ÷µÄ»°£®
PCI bios support (PCI bios µÄÖ§Ô®) - Èç¹ûÄãÓÐ
PCI£¬Äã¿ÉÄÜ»áÏë´ò¿ª´ËÑ¡Ï µ«ÒªÐ¡ÐÄ£¬Ä³Ð©¾ÉµÄ PCI
Ö÷»ú°åÔÚ´ËÑ¡ÏîÏ¿ÉÄܻᵱµô£®¸ü¶à¹Øì¶ PCI »ãÁ÷ÅÅÔÚ Linux
ÏÂʹÓõÄ×ÊѶ¿ÉÒÔÔÚ PCI-HOWTO ÀïÕÒµ½£®
Kernel support for ELF binaries (ºËÐÄÖ§Ô® ELF Ö´Ðеµ) - ELF
ÊÇÒ»ÖÖеĶþ½øÎ»Ö´Ðеµ£® Linux
ËÆºõÕý³¯´Ë·½Ïòǰ½ø£¬ËùÒÔÄã¿ÉÄÜ»áÒªÕâ¸ö£®
Set version information on all symbols for modules -
ÔÚ¹ýÈ¥£¬ºËÐÄÄ£×éÓëÿ¸öкËÐÄÒ»Æð±»±àÒ룮 Èç¹ûÄã»Ø´ð
y£¬Ëü¿ÉÄÜÈÃÄãʹÓò»Í¬ patchlevel ϱàÒëµÄÄ£×飮 ²Î¼û README.modules
ÖеÄÏêϸ˵Ã÷£®
10.2. Networking options (ÍøÂ·Ñ¡Ïî)
ÍøÂ·Ñ¡ÏîÔÚ NET-3-HOWTO (»òÊÇ NET-ʲ÷á-HOWTO)ÖÐÃèÊö£®
_________________________________________________________________
Kernel HOWTO ÖÐÒë°æ : ÆäËüÅäÖÃÑ¡Ïî
Previous: ¿ÉÔØÈëÄ£×é
Next: ¡õ¾÷ºÍ¼¼ÇÉ Kernel HOWTO ÖÐÒë°æ : ¡õ¾÷ºÍ¼¼ÇÉ
Previous: ÆäËüÅäÖÃÑ¡Ïî
Next: ÆäËü¿ÉÄÜÏà¹ØÓÐÓÃµÄ HOWTOs
_________________________________________________________________
11. ¡õ¾÷ºÍ¼¼ÇÉ
11.1. ÖØµ¼ make »òÊÇ patch Ö¸ÁîµÄÊä³ö
Èç¹ûÄãÏëÒª¼Ç¼ÕâЩ `make' »òÊÇ `patch' Ö¸Áîµ½µ××öÁËЩʲ÷ᣬ
Äã¿ÉÒÔ°ÑÓ©Ä»µÄÊä³öÖØµ¼µ½Ò»¸öµµ°¸È¥£®Ê×ÏÈ£¬ÒªÖªµÀÄãÓõÄÊÇÊÇÄÇÒ»ÖÖ
shell£º `grep root /etc/passwd' È»ááѰÕÒ¿´ÆðÀ´Ïñ `/bin/csh'
Ò»ÀàµÄ¶«Î÷£®
Èç¹ûÄãʹÓõÄÊÇ sh »òÊÇ bash£¬
(command) 2>&1 | tee (output file)
½«»á°ÑÒ»·Ý (command) µÄÊä³ö·Åµ½ `(output file)' Õâ¸öµµ°¸È¥£®
Èç¹ûÊÇ csh »ò tcsh£¬ÓÃ
(command) |& tee (output file)
Õâ¸öÓï·¨£®
Èç¹ûÊÇ rc (×¢Ò⣺ÄãÓ¦¸Ã²»»áÊÇÓà rc)£¬Óï·¨ÊÇ
(command) >[2=1] | tee (output file)
11.2. Ìõ¼þʽµÄºËÐݲװ
³ýÁËʹÓÃÈíµúƬ£¬»¹ÓÐÊýÖÖÔÚ²»¶¯¾ÉºËÐĵÄÇé¿öϲâÊÔкËÐĵķ½·¨£®
²»ÏñÆäËüµÄ Unix ϵͳ£¬LILO ¾ßÓдÓÈκεط½Æô¶¯ºËÐĵÄÄÜÁ¦£®
(²»¹ýÈç¹ûÄãÓдóµÄÓ²µú£¬³¬¹ý 500 MB µÄ£¬Çë²Î¿¼ LILO
µÄÎļþ˵Ã÷½«¿ÉÄÜÒýÆðµÄÎÊÌ⣮) Òò´Ë£¬Èç¹ûÄãÔÚ LILO ÅäÖõµ°¸ÖÐÓÃÏñÕâÑùµÄ
image = /usr/src/linux/arch/i386/boot/zImage
label = new_kernel
Äã¿ÉÒÔÔÚ²»¶¯¾ÉºËÐÄ /vmlinuz
µÄÇé¿öÏÂÑ¡ÔñÖ´ÐÐбàÒëµÄºËÐÄ(µ±È»£¬ÔÚÖ´ÐÐÍê lilo áá)£® ½Ð LILO
Æô¶¯ÐºËÐÄ×î¼òµ¥µÄ·½·¨¾ÍÊÇÔÚÆô¶¯Ê±°´Ï shift ¼ü(µ±ÄãÔÚөĻֻ¿´µ½ LILO
ʱ)£¬ Õâ»á¸øÄãÒ»Ìáʾ·ûºÅ£®´ËʱÄã¿ÉÒÔ¼üÈë `new_kernel' À´Æô¶¯ÐºËÐÄ£®
Èç¹ûÄãÏëÔÚϵͳÖÐͬʱ±£ÓÐÊýÖÖ²»Í¬µÄºËÐÄÔ-
ʼ³ÌʽÂë(СÐÄ£¬Õâ»áÓõô´óÁ¿µÄÓ²µú¿Õ¼ä)£¬ ×îÆÕͨµÄ·½·¨¾ÍÊǽ«ÆäÃüÃûΪ
/usr/src/linux-x.y.z£¬ÆäÖÐ x.y.z ÊǺËÐİ汾£®
È»ááÄã¿ÉÒÔÓ÷ûºÅÁ¬½áÀ´``Ñ¡Ôñ''Ò»·ÝÔʼÂë; ÀýÈ磬Óà `ln -sf linux-1.2.2
/usr/src/linux' »áÈà 1.2.2 ³ÉΪĿǰµÄºËÐÄÊ÷£®
µ«ÔÚ½¨Á¢·ûºÅÁ¬½á֮ǰ£¬ÏÈÈ·¶¨ ln
Ö¸Áî×îááÒ»¸ö²ÎÊý²»ÊÇÒ»¸öÕæÕýµÄĿ¼(¾ÉµÄ·ûºÅÁ¬½áûÓйØÏµ);
·ñÔò½á¹û¿ÉÄܲ»»áÊÇÄãËùÔ¤ÆÚµÄ£®
11.3. ºËÐĸüÐÂ
Russell Nelson (nelson@crynwr.com) ×ܽáÁËаæºËÐĵĸı䣮
ÕâЩÊǼò¶ÌµÄ£¬¶øÇÒÄãÔÚÉý¼¶Ç°¿ÉÄÜÓ¦¸ÃÏÈ¿´Ò»Ï£®¿ÉÒÔ´ÓÄäÃû FTP Õ¾
ftp.emlist.com µÄ pub/kchanges£¬
_________________________________________________________________
Kernel HOWTO ÖÐÒë°æ : ¡õ¾÷ºÍ¼¼ÇÉ
Previous: ÆäËüÅäÖÃÑ¡Ïî
Next: ÆäËü¿ÉÄÜÏà¹ØÓÐÓÃµÄ HOWTOs Kernel HOWTO ÖÐÒë°æ :
ÆäËü¿ÉÄÜÏà¹ØÓÐÓÃµÄ HOWTOs
Previous: ¡õ¾÷ºÍ¼¼ÇÉ
Next: ÔÓÏî
_________________________________________________________________
12. ÆäËü¿ÉÄÜÏà¹ØÓÐÓÃµÄ HOWTOs
* Sound-HOWTO: ÒôЧ¿¨Ó빤¾ß
* SCSI-HOWTO: ËùÓйØì¶ SCSI ¿ØÖÆ¿¨ÓëÉ豸µÄ×ÊѶ
* NET-2-HOWTO: ÍøÂ·
* PPP-HOWTO: ÌØ±ð¹Øì¶ PPP ÍøÂ·µÄ
* PCMCIA-HOWTO: ±Ê¼ÇÐ͵çÄÔµÄÇý¶¯³Ìʽ
* ELF-HOWTO: ʲ÷áÊÇ ELF£¬ÈçºÎת»»µÈ¡-
* Hardware-HOWTO: Ö§Ô®Ó²ÌåµÄ¸ÅÒª
* Module-HOWTO: ¸ü¶àÓëºËÐÄÄ£×éÓйصÄ
* Kerneld mini-HOWTO: ¹Øì¶ kerneld
* BogoMips mini-HOWTO: Äã¿ÉÄÜ»áÓÐÐËȤµÄ
_________________________________________________________________
Kernel HOWTO ÖÐÒë°æ : ÆäËü¿ÉÄÜÏà¹ØÓÐÓÃµÄ HOWTOs
Previous: ¡õ¾÷ºÍ¼¼ÇÉ
Next: ÔÓÏî Kernel HOWTO ÖÐÒë°æ : ÔÓÏî
Previous: ÆäËü¿ÉÄÜÏà¹ØÓÐÓÃµÄ HOWTOs
Next: Kernel HOWTO ÖÐÒë°æ
_________________________________________________________________
13. ÔÓÏî
13.1. ×÷Õß
Linux Kernel-HOWTO µÄ×÷Õß¼°Î¬»¤ÈËÊÇ Brian Ward
(bri@blah.math.tu-graz.ac.at)£®
Ç뽫ÈÎºÎÆÀÂÛ£¬²¹³äÓë¸üÕý¼Ä¸øÎÒ(¸üÕý¶ÔÎÒÀ´ËµÊÇÌØ±ðÖØÒªµÄ)£®
Äã¿ÉÒÔ´ÓÕâЩ URL ÕÒµ½ÎÒµÄÍøÒ³:
http://www.math.psu.edu/ward/
http://blah.math.tu-graz.ac.at/~bri/
ËäÈ»ÎÒ¾¡¿ÉÄܵØÈ¥´¦Àíµç×ÓÓʼþ£¬µ«Çë¼ÇסÎÒÿÌì¶¼ÊÕµ½´óÁ¿µÄÐżþ£¬ËùÒÔ¿ÉÄÜ
Òª»¨Ò»µãʱ¼ä²Å»á»Ø¸²Ä㣮
ÌØ±ðÊǼÄÐÅÀ´ÎÊÎÒÎÊÌâµÄ£¬Ç뾡Á¿·Ç³£Çå³þÓëÏ꾡µØÃèÊöÄãµÄѶϢ£®
Èç¹ûÄã˵µÄÊÇij¸öÎÞ·¨ÔË×÷µÄÓ²Ìå(»òÀàËÆµÄ)£¬ÎÒÐèÒªÖªµÀÄãµÄÓ²ÌåÅäÖÃÊÇʲ÷á
£® Èç¹ûÄãÒª»Ø±¨´íÎ󣬲»ÒªÖ»ÊÇ˵``ÎÒÕâÑùÊÔµ«Ëü¸øÎÒ»á´íÎóѶϢ'';
ÎÒÐèÒªÖªµÀÕâ¸ö´íÎóѶϢÊÇʲ÷ᣮ ÎÒ¿ÉÄÜÒ²ÏëÖªµÀÄãµÄºËÐÄ£¬gcc£¬libc
µÄ°æ±¾ÊÇʲ÷ᣬÈç¹ûÄãÖ»ÊǸæËßÎÒÄãÓõÄÊÇÕâ¸ö»òÄǸöÌ×¼þ£¬ÄÇûʲ÷áÓã®
ÎÒ²»½éÒâÄãÎÊÎÒ¼òµ¥µÄÎÊÌâ; Çë¼Çס£¬Èç¹ûÄã²»ÎÊ£¬Ä㽫ÓÀÔ¶²»»áµÃµ½½â´ð£®
ÎÒÒª¸Ðлÿ¸ö¸øÎÒ»ØÀ¡µÄÈËÃÇ£®
Èç¹ûÄãдПøÎÒµ«ÔÚÒ»¶ÎºÏÀíµÄʱ¼äÄÚûÓеõ½»ØÓ¦(ÈýÐÇÆÚ»ò¸ü¾Ã)£¬ÄÇ÷á¿ÉÄÜ
ÎÒ²»Ð¡ÐÄ¿³µôÁËÄãµÄÐżþ»òÖîÈç´ËÀàµÄ(±§Ç¸)£® ÇëÔÙÊÔÒ»´Î£®
ÎÒÊÕµ½Ðí¶àÐżþÊǹØì¶Ó²ÌåÎÊÌâµÄ£®ÕâûÎÊÌ⣬µ«ÇëÁ˽âÎÒ²¢²»ÊÇÊìϤÊÀ½çÉÏËù
ÓÐÓ²ÌåµÄÈ˶øÇÒÎÒÒ²²»ÖªµÀÎÒÄܰï¶àÉÙæ£® ÎÒ¸öÈËʹÓõĻúÆ÷ÓÐ IDE Óë SCSI
Ó²µú£¬SCSI ¹âµú»ú£¬3Com Óë WD µÄÒÒÌ«ÍøÂ·¿¨£¬´®Áл¬Êó£¬ PCI Ö÷»ú°å£¬NCR
810 SCSI ¿ØÖÆÆ÷£¬AMD 386DX40 w/Cyrix ¸¨Öú´¦ÀíÆ÷£¬AMD 5x86£¬AMD 486DX4
Óë Intel 486DX4 ´¦ÀíÆ÷
(ÕâÖ»ÊÇÎÒÔÚʹÓöøÇÒÊìϤµÄÓ²ÌåÕªÒª£¬²¢²»Êǽ¨Ò飬µ«Èç¹ûÄãÏëÒªÓ㬻¶Ó-
À´Ñ¯ÎÊ :-) )£®
0.1 °æÍê³Éì¶ 1994 ÄêÊ®ÔÂÈýÈÕ£®±¾Îļþ¿ÉÒÔ SGML, PostScript, TeX, roff
Óë´¿ÎÄ×Ö¸ñʽȡµÃ£®
13.2. Ô¤¶¨Ä¿±ê
``¡õ¾÷ºÍ¼¼ÇÉ'' Ò»½ÚÌ«ÉÙÁË£®ÎÒÏ£ÍûÄÜÓôӱðÈ˵õ½µÄ½¨ÒéÀ´À©³ä£®
``¸½¼ÓµÄÌ×¼þ'' Ò»½ÚÒ²ÊÇ£®
»¹ÐèÒª¸ü¶àµÄÕì´í/µ±»ú»Ø¸´×ÊѶ£®
13.3. ¹±Ï×Õß
°üº¬ÁËһС²¿·Ý Linus µÄ README µµ°¸ (kernel hacking Ñ¡Ïî)£®¸Ðл Linus!
uc@brian.lunetix.de (Ulrich Callmeier): patch -s and xargs.
quinlan@yggdrasil.com (Daniel Quinlan): corrections and additions in
many sections.
nat@nat@nataa.fr.eu.org (Nat Makarevitch): mrproper, tar -p, many
other things
boldt@math.ucsb.edu (Axel Boldt): collected descriptions of kernel
configuration 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/distribution notice
dak@Pool.Informatik.RWTH-Aachen.DE (David Kastrup): NFS thing
esr@snark.thyrsus.com (Eric Raymond): various tidbits
Ôø¼ÄПøÎÒÎÊÎÊÌâµÄÈËÒ²Óкܴó°ïÖú£®
13.4. °æÈ¨ÉùÃ÷£¬Ðí¿É£¬ÖîÈç´ËÀàµÄ
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 ÖÐÒë°æ : ÔÓÏî
Previous: ÆäËü¿ÉÄÜÏà¹ØÓÐÓÃµÄ HOWTOs
Next: Kernel HOWTO ÖÐÒë°æ Kernel HOWTO ÖÐÒë°æ : ÖØÒªÎÊÌâÓë½â´ð
Previous: ¼ò½é
Next: ÈçºÎÕæÕý½øÐкËÐĵÄÅäÖÃ?
_________________________________________________________________
--
¡ù À´Ô´:¡¤BBS ˮľÇ廪վ bbs.net.tsinghua.edu.cn¡¤[FROM: 159.226.41.99]
BBSˮľÇ廪վ¡Ã¾«»ªÇø