This is an archive of past FreeBSD releases; it's part of the FreeBSD Documentation Archive.

FreeBSD 2.X ±`¨£°Ýµª¶°

FreeBSD 2.X ±`¨£°Ýµª¶°

FreeBSD ¤å¥ó­pµe

³o¥÷¤å¥ó¬O FreeBSD 2.X ªº±`¨£°Ýµª¶°¡C°£«D¦³¯S§O¥[µù¡A§_«h³o¨Ç¶µ¥Ø¥Ø³£¾A ¥Î©ó FreeBSD 2.0.5 ¤Î¥H«áªºª©¥»¡C¦pªG±ø¥Ø¤º®e¤¤¦³ <XXX> «h¬O©|¥¼ §¹¦¨ªº³¡¥÷¡C¦pªG±z¹ï¨ó§U¥»­pµeªº¶i¦æ¦³¿³½ìªº¸Ü¡A½Ð±H¤@«Ê¹q¤l¶l¥ó¨ì FreeBSD ¤å¥ó­pµeªº mailing list <freebsd-doc@FreeBSD.org>¡C ±z¥i¥H±q FreeBSD World Wide Web server ®³¨ì³o¥÷¤å¥óªº³Ì·sª©¥»¡C±z¤]¥i¥H §Q¥Î HTTP ¨Ó¤U¸ü¤@¥÷Ãe¤jªº HTML ¤å¥ó¡A©Î¬O¸g¥Ñ FreeBSD FTP ¯¸ ¤U¸ü¯Â¤å¦r¡Apostscript¡A©Î PDF ª©¥»ªºÀɮסC±z¤]¥i¥H¦b³o¸Ì¨Ï¥Î ·j´M¸ê®Æ ªº¥\¯à¡C


Table of Contents
«e¨¥
1. ¦w¸Ë FreeBSD
2. µwÅ骺¬Û®e©Ê
3. ±`¨£°ÝÃD¸Ñ¨M
4. °Ó·~³nÅé
5. ¤@¯ëÀ³¥Îµ{¦¡
6. ®Ö¤ß³]©w
7. ¨t²ÎºÞ²z
8. X Window System ¤Î Virtual Consoles
9. ºô¸ô³]©w
10. PPP
11. Serial ³q°T
12. ¨ä¥¦¦U¦¡¦U¼Ëªº°ÝÃD
13. µ¹¦³¤ß²`¤J¬ã¨sªº FreeBSD hacker
14. ·PÁÂ

«e¨¥

Åwªï¨Ó¨ì FreeBSD 2.X FAQ¡I

¸ò¨ä¥L Usenet ¤Wªº FAQ ¤@¼Ë¡A³o¥÷¤å¥ó¥D­n²[»\¤F¦³Ãö FreeBSD ³o®M§@ ·~¨t²Î³Ì±`³Q°Ý¨ìªº°ÝÃD (·íµM¥]¬A¤F¦^µª¡I)¡CÁöµM»¡§Ú­Ì¥»¨Óªº¥Øªº¬O¬°¤F ´î¤Öºô¸ôÀW¼eªº®ö¶O¥H¤ÎÁ×§K¦P¼Ëªº°ÝÃD¤@¦A¥X²{¡A¦ý¬O FAQ ¤w¸g³Qµø¬°¬O¤@ ºØ«Ü¦³»ù­Èªº¸ê°T¤F¡C

§Ú­Ì¤w¸g¾¨¥i¯à¦a¨Ï³o¥÷ FAQ §óÂ×´I¤F¡F¦pªG±z¹ï¦p¦ó¨Ï¨ä§ó¶i¨B¦³¥ô¦ó «ØÄ³¡A½ÐÀH®É±H¹q¤l¶l¥óµ¹ FAQ ºûÅ@ªÌ¡C

1. ¤°»ò¬O FreeBSD¡H
2. µo®i FreeBSD ªº¥Øªº¬O¤°»ò¡H
3. ¬°¤°»ò­n¥s°µ FreeBSD¡H
4. ³Ì·sª©ªº FreeBSD ¬O¨º¤@ª©¡H
5. ¤°»ò¬O FreeBSD-current¡H
6. ¤°»ò¬O FreeBSD-stable¡H
7. ·sªº FreeBSD ±N©ó¤°»ò®É­Ô±À¥X¡H
8. FreeBSD ¥u¯à¦b PC ¤W¨Ï¥Î¶Ü¡H
9. ½Ö­t³d FreeBSD ªºµo®i¡H
10. §Ú­n¦p¦ó¨ú±o FreeBSD¡H
11. §Ú¦b¨º¸Ì¥i¥H§ä¨ì¦³Ãö FreeBSD mailing lists ªº¸ê°T¡H
12. ¦b¨º¸Ì¥i¥H§ä¨ì FreeBSD Y2K ªº¬ÛÃö¸ê°T¡H
13. ¦³¤°»ò°Q½× FreeBSD ªº·s»D°Q½×¸s²Õ¶Ü¡H
14. ¦³±Mªù°Q½× FreeBSD ªº IRC ÀW¹D¶Ü¡H
15. FreeBSD ¬ÛÃö®ÑÄy
16. §Ú­n¦p¦ó¥h¦s¨ú±z­Ìªº¿ù»~¦^³ø¸ê®Æ®w©O¡H
17. ¨º¸Ì¥i¥H§ä¨ì PostScript¡BPDF ©Î¬O¯Â¤å¦r®æ¦¡ªº FAQ¡H
18. ¨º¸Ì¥i¥H§ä¨ì ASCII ©Î¬O PostScript ª©ªº¨Ï¥Î¤â¥U¡H
19. ASCII ª©ªº¨Ï¥Î¤â¥U¤£¬O¯Â¤å¦rÀÉ¡I
20. §Ú·Q¦¨¬° FreeBSD ªº mirror ¯¸»O¡I
21. §Ú·Q­n½Ķ¤å¥ó
22. ¨ä¥L¸ê°T¨Ó·½

1. ¤°»ò¬O FreeBSD¡H

²³æ¦a¨Ó»¡¡AFreeBSD 2.X ¬O¤@®M®Ú¾Ú U.C. Berkeley's 4.4BSD-lite release for the i386 platform ©Ò§¹¦¨ªº UN*X-like §@·~¨t²Î¡C¥¦¦P®É¤]¶¡ ±µ¨Ï¥Î¤F William Jolitz ²¾´Ó¨ì i386 ¤Wªº U.C. Berkeley's Net/2¡A¤]´N¬O 386BSD¡C¤£¹L²{¦b 386BSD ªºµ{¦¡½X¥u³Ñ¤U·¥¤Ö¼ÆÁÙ¯d¦s¦b FreeBSD ¤¤¡C±z¥i ¥H¦b FreeBSD ­º­¶ §ä¨ì¦³Ãö¤° »ò¬O FreeBSD ¥H¤Î¥¦¥i¥HÀ°±z°µ¨Ç¤°»òªº¬ÛÃö¸ê°T¡C

FreeBSD ¤w³Q¼sªx¦a³Q¥@¬É¦U¦aªº¤½¥q¦æ¸¹¡AISP¡A¬ã¨s¤H­û¡A¹q¸£±M®a¡A¾Ç ¥Í¡A¥H¤Î®a®x¥Î¤á©Ò¨Ï¥Î¡A¥Î¦b¤u§@¡A±Ð¨|¡A¥H¤Î®T¼Ö¤W¡C±z¥i¥H¦b FreeBSD Gallery¬Ý¨ì¤@¨Ç¦³ Ãö¥L­Ìªº¸ê®Æ¡C

¦pªG·Q¬ÝÃö©ó FreeBSD §ó²`¤Jªº¸ê®Æ¡A½Ð¬Ý FreeBSD ¨Ï¥Î¤â¥U¡C

2. µo®i FreeBSD ªº¥Øªº¬O¤°»ò¡H

FreeBSD ­pµeªº¥Øªº¬O´£¨Ñ¥i¥H¥ô·N¨Ï¥Î¥B¨S¦³­­¨îªº³nÅé¡C§Ú­Ì¦bµ{¦¡½X (¥H¤Î­p±Þ¥»¨­) ¤W¥I¥X¤F¤j¶q¤ß¦å¡AÁöµM§Ú­Ì¨S¦³¯S§O±j½Õ¡A¤£¹L¨Ã¤£­n¨D¥ô ¦óª÷¿ú¤Wªº¦^õX¡C§Ú­Ì¬Û«H§Ú­Ì­º­nªº``¥ô°È''´N¬O´£¨Ñµ{¦¡½Xµ¹¨C¤@­Ó¨Ï¥Î ªÌ¡A¤£ºÞ¥L­Ìªº¥Øªº¬O¤°»ò¡F³o»ò¤@¨Ó¡A³o¨Çµ{¦¡½X¤~¯à³Q¥Î¦b³Ì¦h¦a¤è¡A¤] ¤~¯àµo´§¥¦­Ì³Ì¤jªº§Q¯q¡C§Ú­Ì¬Û«H³o´N¬O¦Û¥Ñ³nÅé³Ì°ò¥»ªº¥Ø¼Ð¤§¤@¡A¦Ó¥B§Ú ­Ì·|ºÉ¥þ¤O¥h¤ä«ù¥¦¡C

¦b§Ú­Ì source tree ¤¤¦³³¡¥÷ªºµ{¦¡½X¬O±Ä¥Î©Ò¿×ªº GPL ©Î¬O LGPL ª©Åv «Å§i¡AÁöµM³o¨Çª©Åv«Å§i¬O¥Î¨Ó«O»Ù¦Ó«D­­¨î¨Ï¥ÎªÌªºÅv§Q¡A²¦³º¬O¤£¨º»ò¦Û¥Ñ ¤F¨Ç¡C¥Ñ©ó³o¨Ç GPL ªº³nÅé¦b°Ó·~¨Ï¥Î¤W·|¤Þ°_«D±`½ÆÂøªºª©Åv°ÝÃD¡A¦]¦¹¥u ­n¦³¾÷·|¡A§Ú­Ì·|ºÉ¶q¥H±Ä¥Î¤ñ¸ûÃPªº BSD ª©Åvªº³nÅé¨Ó¨ú¥N³o¨Ç GPL ª©Åv«Å §iªº³nÅé¡C

3. ¬°¤°»ò­n¥s°µ FreeBSD¡H

  • ±z¥i¥H§K¶O¨Ï¥Î¥¦¡A§Y¨Ï¬O¥Î©ó°Ó·~¥Î³~¡C

  • ¾ã­Ó FreeBSD §@·~¨t²Î§¹¾ãªº­ì©lµ{¦¡³£¥i¥H§K¶O¨ú±o¡A¦Ó¥B¦b¨Ï¥Î ¤Î´²§G¦U¤è­±¤]¥u¨ü¨ì³Ì¤pªº­­¨î (¤£½×¬O§_¥Î©ó°Ó·~¥Î³~)¡C

  • ¥ô¦ó¤H³£¥i¥H¦Û¥Ñ¦a§â¥L¹ï¨t²Îªº§ï¨}©Î¿ù»~­×¥¿ªºµ{¦¡½X¥[¤J source tree ¤§¤¤ (·íµM­n²Å¦X´X­Ó¥ý¨M±ø¥ó)¡C



¦pªGŪªÌ±zªº¥À»y¤£¬O­^»yªº¸Ü¡A±z­n¯S§Oª`·N³o¸Ìªº``free''¨âºØ¥Îªkªº ·N«ä¬O¤£¤@¼Ëªº¡G¤@ºØªº·N«ä¬O``§K¶O''¡A¥t¤@ºØªº·N«ä¬O``¦Û¥Ñ''¡C±z¥i¥H®³ FreeBSD ¥h°µ¥ô¦ó±z·Q­n°µªº¨Æ¡A°£¤F¤@¨Ç¨Ò¥~¡A¨Ò¦p±z«ÅºÙ FreeBSD ¬O±z¼g ªº¡C

4. ³Ì·sª©ªº FreeBSD ¬O¨º¤@ª©¡H

3.3 ¬O¥Ø«e³Ì·sªº stable ª©¡F¥¦©ó 1999 ¦~ 9 ¤ëµo¦æ¡C¥¦¦P®É¤]¬O¥Ø«e³Ì·sªº release ª©¡C

²³æªº»¡¡A-stable ªº¥D­n¶D¨D¹ï¶H¬O¹ï©óí©w©Ê¤Î§CÅܲ§©Êªº»Ý¨D »·³Ó¹L¹ï³Ì·s -current snapshot ¤¤¯S§O·s¥\¯àªº»Ý¨D¡A¨Ò¦p ISP ©Î¤½ ¥q¦æ¸¹ªº¨Ï¥ÎªÌ¡C³o¨âºØ "branch" ³£¦³¥i¯à·|²£¥Í release ª©¡A¦ý¥u¦³·í§A ¯à±µ¨ü -current »·¤ñ -stable ®e©ö§ó°Ê³o¤@ÂI¡A¤~À³¸Ó¥Î -current¡C

Release ª©­n¨C´X­Ó¤ë¤~·|µo¦æ¤@¦¸¡A ÁöµM¦³«Ü¦h¤HÂǥѭì©l½X¨Ó©M FreeBSD ªº³Ì·s°ÊºA¦P¨B¡]¨£ FreeBSD-current ©M FreeBSD-stable ªº¬ÛÃö°ÝÃD¡^¡A¦ý³o¼Ë·|­n¬YºØµ{«×ªº¥I¥X¡A¦]¬°­ì ©l½X¬O·|¤£Â_§ó°Êªº¡C

5. ¤°»ò¬O FreeBSD-current¡H

FreeBSD-current «üªº¬O¥¿ ¦bµo®i¤¤ªºª©¥»¡A¥¦²×±N¦b¾A·íªº®É¾÷¦¨¬° 4.0-RELEASE¡C¥¦¹ê¦b¬O¥u¾A¦Xµ¹ ¨t²Îµo®iªÌ¥H¤Î¦³¼Ý¤Oªº·~¾l·R¦nªÌ¨Ï¥Î¡C¦pªG·Q­n±o¨ì¦³Ãö¦p¦ó¨Ï¥Î -current ªº²`¤J¸ê°T¡A½Ð°Ñ¦Ò ¨Ï¥Î¤â¥U ªº ¬ÛÃö³¡¥÷¡C

¦pªG±z¹ï§@·~¨t²Î¥»¨­¨Ã¤£¬O«Ü¼ô±x¡A©Î¬O±z¨S¿ìªk¤À¿ë±z¹J¨ìªº°ÝÃD¬O¯u ªºµo¥Í¤F°ÝÃD¥ç©Î¬O¼È®É©Êªº¤pª¬ªp¡A¨º»ò±z´N¤£À³¸Ó¨Ï¥Î FreeBSD-current¡C ³o­Ó¤À¤äªºµ{¦¡½X¦³®É­ÔÅܰʱo«Ü§Ö¡A¦Ó¥B¥i¯à·|¦]¦¹¦Ó¨Ï±z¦³¦n´X¤Ñªº®É¶¡µL ªk§ó·s±zªº¨t²Î¡C§Ú­Ì°²³]¨Ï¥Î FreeBSD-current ªº¨Ï¥ÎªÌ³£¦³¯à¤O¥h¤ÀªR¥L ­Ì©Ò¹J¨ìªº°ÝÃD¨Ã¥B¥u¦^³ø¯u¥¿ªº°ÝÃD¦Ó«D¤pª¬ªp¡C¦pªG±z¦b -current mailing list ¤¤´£¨ìÃþ¦ü``make world ³y¦¨¤@¨Ç¦³Ãö groups ªº¿ù»~''ªº°ÝÃD¡A ¦³®É­Ô·|³Q¨ä¥L¤H»´µø¡C

¦³®É­Ô§Ú­Ì·|¬°³o¨Ç -current µo®i¤¤ªºµ{¦¡½Xµoªí snapshot¡A§ó¦³¬ÆªÌ¡A§Ú­Ì ÁÙ·|µoªí CDROM «¬¦¡ªº snapshot¡Cµoªí³o¨Ç snapshot ªº¥Øªº¦b©ó¡G

  • ´ú¸Õ³Ì·sª©ªº¦w¸Ëµ{¦¡¡C

  • ´£¨Ñ¤@­Ó²³æªº¤èªkµ¹¨º¨Ç³ßÅw¨Ï¥Î -current ¦ý¬O¨S¦³®É¶¡©MÀW¼e¥h ¨C¤Ñª@¯Åªº¨Ï¥ÎªÌ¡C

  • ¬°¤F´À§Ú­Ìµo®i¤¤ªºµ{¦¡«O¯d¤@­Ó©T©wªº°Ñ¦ÒÂI¡A¥H¨¾¤î§Ú­Ì¥¼¨Ó³y¦¨ ¤£©¯¡C(ÁöµM CVS ¥i¥H¥¿±`¦a¨¾¤îÃþ¦ü³oºØªº¥i©È¨Æ¥ó :)

  • ¬°¤F½T«O©Ò¦³»Ý­n´ú¸Õªº·s¥\¯à³£¥i¥H±o¨ì³Ì¦hªº´ú¸Õ¡C



µL½×¦p¦ó¡A§Ú­Ì¤£«OÃÒ snapshot ªº«~½è¡C¬°¤Fí©w©Ê¡A±z³Ì¦n¨Ï¥Î§¹¥þ release ªºª©¥»¡C

±z¥i¥Hª½±µ±q ftp://current.FreeBSD.org/pub/FreeBSD/ ¨ú±o snapshot release¡A¤£ºÞ¬O 4.0-current ©Î¬O 3.0-stable¡A¥­§¡¨C¤Ñ³£·|²£¥Í¤@­Ó snapshot ªºª©¥»¡C

6. ¤°»ò¬O FreeBSD-stable¡H

¦^·¹¨ì FreeBSD 2.0.5 ­èµoªíªº®É­Ô¡A§Ú­Ì¨M©w§â FreeBSD ªº release ¤À¦¨¨â¤ä¡C¤@¤ä¥s°µ-stable¡A §Ú­Ì¥u¹ï¥¦°µ¿ù»~­×¥¿¤Î¤p´T«×ªº­×§ï (³o¬Oµ¹ ISP ©M°Ó·~¤½¥qµ¥¹ï¹êÅ礤¥\ ¯à¤£·P¿³½ìªº³æ¦ì©Ò¨Ï¥Îªº)¡C¥t¥~¤@¤ä¥s°µ -current¡A±q 2.0 ª©µo¦æ¥H «á´N¤£¶¡Â_¦a´ÂµÛ 4.0-RELEASE (¥H¤Î¥H«áªºª©¥») «e¶iµÛ¡C¤U­±´N¬Oª©¥»ºt ¶iªº¥Ü·N¹Ï¡G

                 2.0
                  |
                  |
                  |  [2.1-stable]
 *BRANCH*       2.0.5 -> 2.1 -> 2.1.5 -> 2.1.6 -> 2.1.7.1  [2.1-stable ends]
                  |                            (Mar 1997)
                  |
                  |
                  |  [2.2-stable]
 *BRANCH*       2.2.1 -> 2.2.2-RELEASE -> 2.2.5 -> 2.2.6 -> 2.2.7 -> 2.2.8 [end]
                  |       (Mar 1997)    (Oct 97) (Apr 98) (Jul 98) (Dec 98)
                  |
                  |
               3.0-SNAPs  (started Q1 1997)
                  |
                  |
             3.0.0-RELEASE (Oct 1998)
                  |
                  |  [3.0-stable]
 *BRANCH*        3.1  (Feb 1999) -> 3.2 -> ... future 3.x releases ...
                  |               (May 1999)
                  |
                 \|/
                  +
          [4.0-current continues]



-current ³o­Ó¤À¤ä¥¿½wºC¦a´Â¦V 4.0 ¥H¤Î¥H«áªºª©¥»«e¶iµÛ¡A¦Ó¤§«eªº 2.2-stable ¤À¤ä«hÀHµÛ 2.2.8 ªºµoªí¦Ó¥\¦¨¨­°h¡C3.0-stable ±N·|¦¨¬°¥D­n ªºµo®i½u¡A3.3 ±N·|¦b 1999 ¦~²Ä¤T©u¤½¥¬¡A4.0 ¬O¥Ø«eªº "current ¤À¤ä"¡A 4.0 ªº²Ä¤@¦¸ release À³¸Ó·|¦b 2000 ¦~²Ä¤@©u¡C

7. ·sªº FreeBSD ±N©ó¤°»ò®É­Ô±À¥X¡H

¤@¯ë¦Ó¨¥¡A·í FreeBSD core team »{¬°¤w¸g²Ö¿n¤F¨¬°÷¦hªº·s¥\¯à©M¿ù»~­× ¥¿¡A¦Ó¥B³o¨Ç§ó°Ê¨Ã¤£¼vÅT¨t²Îí©w«×ªº®É­Ô¡A¥L­Ì¤~·|±À¥X·sª©ªº FreeBSD¡C ÁöµMµ¥«Ý³o¨Ç¦nªF¦èªº®É¶¡¥O¤H¦³ÂIªq³à¡A¦ý¬O¤j¦h¼Æªº¨Ï¥ÎªÌ³£»{¬°³oºØÂÔ·V ªººA«×¬O FreeBSD ³Ì¦nªº³¡¥÷¤§¤@¡C

¥­§¡¦Ó¨¥¡A§Ú­Ì¨C¥|­Ó¤ëµo¦æ¤@¦¸ release¡C

¬°¤Fº¡¨¬¨º¨Ç»Ý­n (©Î·Q­n) ¨ë¿Eªº¨Ï¥ÎªÌ¡A³q±` SNAP ªºµoªí¬O¬Û·íÀWÁc ªº¡A¯S§O¬O¦b release µoªí¤§«e¤@­Ó¤ë¥ª¥k¡C

8. FreeBSD ¥u¯à¦b PC ¤W¨Ï¥Î¶Ü¡H

FreeBSD 3.x ¥Ø«e¥i¥H¦b DEC Alpha ¤W¨Ï¥Î¡A´N¹³¦b x86 ¬[ ºc¤U¨Ï¥Î¤@¼Ë¡C§Ú­Ì¹ï²¾´Ó¨ì SPARC ¤W¤]¦³¬Û·íªº¿³½ì¡A¤£¹L³o³¡¥÷ªº­pµeÁÙ ¨S¦³§¹¥þ©ú®Ô¤Æ¡C

¦pªG±zªº¾÷¾¹¤£¬O¥H¤W³o¨Ç¬[ºc¡A¦Ó¥B±z²{¦b´N­nªº¸Ü¡A§Ú­Ì«ØÄ³±z°Ñ¦Ò NetBSD ©Î¬O OpenBSD¡C

9. ½Ö­t³d FreeBSD ªºµo®i¡H

¦pªG¬O¤@¨Ç¦³Ãö FreeBSD ­pµeªºÃöÁä©Ê¨M©w¡A¹³¬O¾ã­Ó­pµeªº¨«¦V©Î¬O¨M ©w½Ö¥i¥H§ï source tree ¸Ìªºµ{¦¡½X³oÃþªº¨Æ¡A¬O¥Ñ¤@­Ó¬ù 15 ­Ó¤H©Ò²Õ¦¨ªº core team ¨Ó¨M©w¡C¦Ó¦³ ¥t¤@¸s¬ù 150 ­Ó commiters ¦³Åv§Q¥i¥Hª½±µ­×§ï FreeBSD ªº source tree¡C

µL½×¦p¦ó¡A¤j¦h¼Æªº§ïÅܳ£·|¨Æ«e¦b mailing lists ¥ý°Q½×¹L¡A¦Ó¥B¨C­Ó¤H³£¥i¥H°Ñ»P °Q½×¡C

10. §Ú­n¦p¦ó¨ú±o FreeBSD¡H

¨C­Ó FreeBSD ªº­«­nª©¥»³£¥i¥H¸g¥Ñ°Î¦W ftp ±q FreeBSD FTP site ¨ú±o¡C

  • ¦pªG¬O¥Ø«eªº 2.2-stable release¡A2.2.8R¡A½Ð¬Ý 2.2.8-RELEASE ³o­Ó¥Ø¿ý¡C

  • ¦pªG¬O¥Ø«eªº 3.0-stable release¡A3.0-RELEASE¡A½Ð¬Ý 3.0-RELEASE ³o­Ó¥Ø¿ý¡C

  • ÀHµÛ RELENG_2_2 ¤À¤ä («á¨Óªº 2.2.8) ºCºC¦a¶i¤JºûÅ@¶¥¬q¡A§Ú­Ì¨C ¤Ñ³£·|µo¦æ 2.2 Snapshot¡C§Ú­Ì¥Ø«e¥¿§´µ½ºûÅ@µÛ RELENG_2_2 ³o­Ó¤À¤ä¡A°£«D ¹ï¨t²Î¦w¥þ©Î¬O¨t²Îªº¥i¾a©Ê¦³©Ò¼W±j¡A§_«h§Ú­Ì±N¤£¦A§ó°Ê¡C

  • ÀHµÛ RELENG_3 ¤À¤ä («á¨Óªº 3.0-release) ºCºC´ÂµÛ 3.2-RELEASE µo®i¡A§Ú­Ì¤]·|¨C¤Ñµo¦æ 3.0 Snapshot¡C

  • -current ¤À¤ä¨C¤Ñ³£·|±À¥X 4.0 Snapshot¡A¯Âºé¬O¬°¤F¼ö¤ßªº´ú¸ÕªÌ¥H¤Îµo®i¤H­û©Ò´£¨Ñªº¡C



FreeBSD ªº CDROM ¥i¥H±q¤U¦C¦a¤è¨ú±o :

Walnut Creek CDROM 4041 Pike Lane, Suite F Concord, CA 94520 USA Orders: +1 800 786-9907 Questions: +1 925 674-0783 FAX: +1 925 674-0821 email: WC Orders address WWW: WC Home page

¦pªG±z¦b¿D¬w¡A±z¥i¥H§ä¡G

Advanced Multimedia Distributors Factory 1/1 Ovata Drive Tullamarine, Melbourne Victoria Australia Voice: +61 3 9338 6777

CDROM Support BBS 17 Irvine St Peppermint Grove WA 6011 Voice: +61 9 385-3793 Fax: +61 9 385-2360

¦b­^°ê¡G

The Public Domain & Shareware Library Winscombe House¡ABeacon Rd Crowborough Sussex. TN6 1UL Voice: +44 1892 663-298 Fax: +44 1892 667-473

11. §Ú¦b¨º¸Ì¥i¥H§ä¨ì¦³Ãö FreeBSD mailing lists ªº¸ê°T¡H

±z¥i¥H¦b ¨Ï¥Î¤â¥U - mailing-lists ¤¤§ä¨ì§¹¾ãªº¸ê°T¡C

12. ¦b¨º¸Ì¥i¥H§ä¨ì FreeBSD Y2K ªº¬ÛÃö¸ê°T¡H

±z¥i¥H¦b FreeBSD Y2K ±MÄæ ¨ú±o§¹¾ãªº¸ê°T¡C

13. ¦³¤°»ò°Q½× FreeBSD ªº·s»D°Q½×¸s²Õ¶Ü¡H

±z¥i¥H¦b ¨Ï¥Î¤â¥U - ·s»D°Q½×¸s²Õ ¤¤§ä¨ì§¹¾ãªº¸ê°T¡C

14. ¦³±Mªù°Q½× FreeBSD ªº IRC ÀW¹D¶Ü¡H

¬Oªº¡A¤j³¡¥÷¥D­nªº IRC ºô¸ô¥D¾÷³£´£¨Ñ¤F FreeBSD ªº²á¤ÑÀW¹D¡G

  • EFNet ©Ò´£¨Ñªº #FreeBSD ÀW¹D¬O¤@­Ó FreeBSD ªº½× ¾Â¡A¦ý¬O±z¥i¯àµLªk±q¨ºÃä±o¨ì§Þ³N¤è­±ªº¤ä´©¡A±z¤]§O·Q¦b¨ºÃä§ä¨ì¥ô¦ó ¤H¥i¥HÀ°±zÁ×§K±¼¾\Ū man page ¥H¤Î¦Û¤v¬ã¨sªºµh­W¡C¨º¬O¤@­Ó¥H²á¤Ñ¬° ¥DªºÀW¹D¡A¦b¨ºÃä²á¨ì FreeBSD ©M²á¨ì©Ê¡B¹B°Ê¡B¥H¤Î®Ö¤lªZ¾¹ªº¾÷·|¬O ¤@¼Ë°ªªº¡C §Ú­Ì¤w¸gĵ§i¹L±z¤F¡C ±z¥i¥H¸g¥Ñ irc.chat.org ¨Ó³s½u¡C

  • DALNET ©Ò´£¨Ñªº #FreeBSD ÀW¹D¡A¦b¬ü°ê¥i¥H¸g¥Ñ irc.dal.net ¨Ó³s½u¡A¦b¼Ú¬w¥i¥H¸g¥Ñ irc.eu.dal.net ¨Ó³s½u¡C

  • UNDERNET ©Ò´£¨Ñªº #FreeBSD ÀW¹D¡A¦b¬ü°ê¥i¥H¸g¥Ñ us.undernet.org ¨Ó³s½u¡A¦b¼Ú¬w¥i¥H¸g¥Ñ eu.undernet.org ¨Ó³s½u¡C

  • ³Ì«á¡A±z¤]¥i¥H¥[¤J BSDNET ©Ò´£¨Ñªº #FreeBSD ÀW ¹D¡A³o¬O¤@­Ó¤p«¬ªº BSD ±M¥Î²á¤Ñºô¸ô¡A¥i¥H¸g¥Ñ irc.FreeBSD.org ¨Ó³s½u¡C



¥H¤Wªº³o¨ÇÀW¹D³£¬O¤£¦Pªº¡A¦Ó¥B¥¦­Ì¨Ã¨S¦³¤¬¬Û³s³q¡C¥¦­Ì²á¤Ñªº¤è¦¡¤] ¤£¾¨¬Û¦P¡A©Ò¥H±z¥i¯à¨C­Ó³£­n¥hÀ|¸Õ¤@¤U¡A¥H§ä¨ì³Ì¾A¦X±zªºÀW¹D¡C

15. FreeBSD ¬ÛÃö®ÑÄy

±z©Î³\¥i¥H¸Õ¸Õ¬Ý doc mailing list¡G <freebsd-doc@FreeBSD.org> ¤Wªº FreeBSD ¤å¥ó­pµe (¦pªG±z ¯à¥[¤J³o¬O­pµe¨º¬O¦A¦n¤£¹Lªº¤F)¡C³o­Ó mailing list ¬O¥Î¨Ó°Q½× FreeBSD ¤å¥óªº¡C¦pªG±z·Q­nµo°Ý°ÝÃDªº¸Ü¡A§Ú­Ì¤]¦³ questions mailing list¡G <freebsd-questions@FreeBSD.org> ¡C

±z¤]¥i¥H±q FreeBSD ¨Ï¥Î¤â¥U ¨ú±o FreeBSD``¨Ï¥Î¤â¥U''¡C½Ðª`·N¡A³o¥÷¤å¥ó¤´³B©ó»s§@¶¥¬q¡A¦³«Ü¦h³¡¥÷³£ ÁÙ¨S¦³§¹¦¨¡C

¦³Ãö FreeBSD ªº®ÑÄy¤¤¡A³Ì¦nªºÀ³¸Ó´N¬O Greg Lehey µÛ§@¡AWalnut Creek CDROM Books ¥Xª©ªº``The Complete FreeBSD''¤F¡C²{¦b³o¥»®Ñ¤w¸g¥X¨ì²Ä¤Gª© ¤F¡AÁ`¦@ 1750 ­¶¥ª¥k¡A¤º®e¥]¬A¦w¸Ë¡A¨t²ÎºÞ²z«ü¾É¡Aµ{¦¡¦w¸Ë¨ó§U¡A¥H¤Î manual pages¡C³o¥»®Ñ (¥H¤Î³Ì·sª©ªº FreeBSD release) ¥i¥H¦V Walnut Creek¡A CheapBytes¡A©Î¬O¥ô¦ó¤@¶¡ ±z³ßÅwªº®Ñ§½­qÁÊ¡C¥Lªº ISBN ¸¹½X¬O 1-57176-227-2¡C

µM¦Ó¡A¦]¬° FreeBSD 2.2.X ¬O¥H 4.4BSD-Lite2 ¬°°ò¦¨Óµo®iªº¨t²Î¡A©Ò¥H ¤j³¡¥÷ 4.4BSD ªº¤â¥U³£¾A¥Î©ó FreeBSD 2.2.X¡CO'Reilly and Associates ¥Xª©¤F¤U¦C¤â¥U¡G

  • 4.4BSD System Manager's Manual By Computer Systems Research Group, UC Berkeley 1st Edition June 1994, 804 pages ISBN: 1-56592-080-5

  • 4.4BSD User's Reference Manual By Computer Systems Research Group, UC Berkeley 1st Edition June 1994, 905 pages ISBN: 1-56592-075-9

  • 4.4BSD User's Supplementary Documents By Computer Systems Research Group, UC Berkeley 1st Edition July 1994, 712 pages ISBN: 1-56592-076-7

  • 4.4BSD Programmer's Reference Manual By Computer Systems Research Group, UC Berkeley 1st Edition June 1994, 886 pages ISBN: 1-56592-078-3

  • 4.4BSD Programmer's Supplementary Documents By Computer Systems Research Group, UC Berkeley 1st Edition July 1994, 596 pages ISBN: 1-56592-079-1



±z¥i¥H¦b WWW ¤W§ä¨ì¬ÛÃö¤¶²Ð¡G

4.4BSD books description¡C¦]¬°¾P°â±¡§Î¨Ã¤£¬O«Ü¦n¡A©Ò¥H±z¥i¯à«Ü Ãø¥h¨ú±o³o¨Ç®ÑÄy¡C

¦pªG±z·Q¹ï 4.4BSD ªº®Ö¤ß¬[ºc¦³§ó²`¼hªº»{ÃÑ¡A±zµ´¤£¯à¿ù¹L³o¥»®Ñ :

McKusick, Marshall Kirk, Keith Bostic, Michael J Karels, and John Quarterman.

The Design and Implementation of the 4.4BSD Operating System. Reading, Mass. : Addison-Wesley, 1996. ISBN 0-201-54979-4

¤@¥»¦³Ãö¨t²ÎºÞ²zªº¦n®Ñ¡G

Evi Nemeth, Garth Snyder, Scott Seebass & Trent R. Hein, ``Unix System Administration Handbook'', Prentice-Hall, 1995 ISBN: 0-13-151051-7

NOTE ½Ð½T»{±z¶R¨ìªºªº½T¬O²Ä¤Gª©¡A¥¦¬O¬õ¦â®Ñ¥Öªº¡A²Ä¤@ª©ªº¤£¬O¡C

³o¥»®Ñ²[»\¤F¤@¨Ç°ò¦ªºªF¦è¡A¥]¬A TCP/IP¡ADNS¡ANFS¡ASLIP/PPP¡A sendmail¡AINN/NNTP¡Aprinting¡Aµ¥¡C³o¥»®ÑÆZ¶Qªº (¤j¬ù US$45-$55) ¡A¤£¹L¥¦ªº½T¦³³o­Ó»ù­È¡C¥¦¤]ªþ¤F¤@¤ù¤º§t¤@¨Ç ¤u¨ãµ{¦¡­ì©l½Xªº CDROM¡F¤j³¡¥÷ªºªF¦è¦b FreeBSD 2.2.6R ªº CDROM ¸Ì¤]¦³ ( ³q±` FreeBSD CDROM ¸Ìªº¬O¤ñ¸û·sª©ªº) ¡C

16. §Ú­n¦p¦ó¥h¦s¨ú±z­Ìªº¿ù»~¦^³ø¸ê®Æ®w©O¡H

©Ò¦³¨Ï¥ÎªÌ open ªºÅܧó­n¨D³£¥i¥H¸g¥Ñ§Ú­Ì web ¬É­±ªº PR submission ¤Î query ¨Ó¬d¸ß (©Î¬O¦^³ø) §Ú­Ìªº¿ù»~¦^³ø¸ê®Æ®w¡Csend-pr(1) ³o­Ó«ü¥O¤] ¥i¥H¸g¥Ñ¹q¤l¶l¥ó¨Ó¦^³ø¿ù»~©Î¬O­n¨DÅܧó¡C

17. ¨º¸Ì¥i¥H§ä¨ì PostScript¡BPDF ©Î¬O¯Â¤å¦r®æ¦¡ªº FAQ¡H

³Ì·sªº FAQ ¥i¥H±q FreeBSD ºô¯¸©Î¬O¥ô¦ó¤@­Ó mirror ¯¸»O¨ú±o¡A¤£½×¬O PostScript ©Î¬O¯Â¤å¦rªº (¥]¬A 7 bit ASCII ¥H¤Î 8-bit Latin1) ³£¦³¡C

PostScript ®æ¦¡ (¤j¬ù 150KB)¡G



PDF ®æ¦¡ (¤j¬ù 280KB)¡G



¯Â¤å¦r®æ¦¡ (¤j¬ù 88KB)¡G



18. ¨º¸Ì¥i¥H§ä¨ì ASCII ©Î¬O PostScript ª©ªº¨Ï¥Î¤â¥U¡H

³Ì·sªº FAQ ¥i¥H±q FreeBSD ºô¯¸©Î¬O¥ô¦ó¤@­Ó mirror ¯¸»O¨ú±o¡A¤£½×¬O PostScript ©Î¬O¯Â¤å¦rªº (¥]¬A 7 bit ASCII ¥H¤Î 8-bit Latin1) ³£¦³¡C

PostScript ®æ¦¡ (¤j¬ù 1.7MB)¡G



ASCII ®æ¦¡ (¤j¬ù 1080KB)¡G



ISO 8859-1 ®æ¦¡ (¤j¬ù 1080KB)¡G



19. ASCII ª©ªº¨Ï¥Î¤â¥U¤£¬O¯Â¤å¦rÀÉ¡I

¬Oªº¡AASCII ©M Latin1 ®æ¦¡ªº FAQ ¥H¤Î¨Ï¥Î¤â¥UÄY®æ¨Ó»¡¨Ã¤£¯àºâ¬O¯Â ¤å¦rÀÉ¡F¥¦­Ì¥]§t¤F¤@¨Ç¦L¥X©³½u¥H¤Î­«ÂЦC¦Lªº±±¨î½X¥H«K¯àª½±µ¥ÑÂI¯x°} ¦¡¦Lªí¾÷¿é¥X¡C¦pªG±z·Q§â¥¦­ÌÂন¤@¯ëªº¤å¦rÀɪº¸Ü¡A¥i¥H§Q¥Î col¡G

          $ col -b < inputfile > outputfile
      



20. §Ú·Q¦¨¬° FreeBSD ªº mirror ¯¸»O¡I

·íµM¥i¥H¡I¦³«Ü¦h¤èªk¥i¥H mirror §Ú­Ìªººô­¶¡C

  • §Q¥Î CVSUP¡G±z¥i¥H§Q¥Î CVSUP ±q cvsup.FreeBSD.org ¨ú±o®æ¦¡¤Æ ¹LªºÀɮסC±z¥u»Ý­n§â¤U­±³o¦æ¥[¤J±zªº cvsup ³]©wÀÉ¡G

    www release=current hostname=/home base=/usr/local/etc/cvsup 
    prefix=/usr/local/www/data/www.FreeBSD.org delete old use-rel-suffix



  • §Q¥Î rsync¡G½Ð°Ñ¾\ the mirroring page ¥HÀò±o§ó¦h¸ê°T¡C

  • §Q¥Î ftp mirror¡G±z¥i¥H§Q¥Î±z³ßÅwªº ftp mirror ¤u¨ã±q FTP ¯¸ »O¤¤¨ú±oºô­¶¸ê®Æ¡C´N±q ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-current/www ¶}©l§a¡C



21. §Ú·Q­n½Ķ¤å¥ó

¶â¡A§Ú­Ì¨S¯à¤Oµ¹±zÁ~¤ô¡A¤£¹L¦pªG±z¯à´£¨Ñ½Ķ¦nªº¤å¥óªº¸Ü¡A§Ú­Ì·|°e ±z CD ©Î¬O T-shirt¡A¨Ã§â±z¥[¤J¨Ï¥Î¤â¥U¸Ì Contributor ªº¦æ¦C¡C

22. ¨ä¥L¸ê°T¨Ó·½

¤U¦C newsgroups ¤¤¥]¬A¤F FreeBSD ¬ÛÃöªº°Q½×¡G



ºô­¶¸ê·½¡G



FreeBSD ¨Ï¥Î¤â¥U¤]¦³¤@¤À«Ü§¹¾ãªº °Ñ¦Ò®ÑÄy¦Cªí¡A¦pªG±z ¥¿·Q¶R®Ñªº¸Ü¡A³o³¡¥÷­È±o¤@¬Ý¡C


Chapter 1. ¦w¸Ë FreeBSD

1.1. §Ú¸Ó¤U¸ü­þ¨ÇÀÉ®×¥H¨ú±o FreeBSD¡H
1.2. ±Ï©R¡I±Ò°Êªº³nºÐ image ÀɵLªk¶ë¨ì¤@¤ù³æ¿Wªº³nºÐ¤ù¸Ì¡I
1.3. ¦w¸Ë FreeBSD ªº«ü¥O¦b­þ¸Ì¡H
1.4. ­n°õ¦æ FreeBSD §ÚÁٻݭn¤°»ò¡H
1.5. §Ú¥u¦³ 4MB RAM¡A¨º§Ú¯à¦w¸Ë FreeBSD ¶Ü¡H
1.6. §Ú¸Ó«ç»ò»s§@¦Û­qªº¦w¸Ë³nºÐ¤ù¡H
1.7. §Ú¥i¥H¦b§Úªº PC ¤W¾Ö¦³¶W¹L¤@­Ó¥H¤Wªº§@·~¨t²Î¶Ü¡H
1.8. Windows 95 ¥i¥H¸ò FreeBSD ¨Ã¦s¶Ü¡H
1.9. Windows 95 §â§Úªº±Ò°ÊºÞ²z­û±þ±¼¤F¡I§Ú¸Ó«ç»ò§â¥¦±Ï¦^¨Ó¡H
1.10. §Ú¥i¥H¦b¤@­Ó¦³Ãa­y(bad blocks)ªººÏºÐ¤W¶i¦æ¦w¸Ë¶Ü¡H
1.11. ·í§Ú±Ò°Ê¦w¸Ë³nºÐ¤ù®É¡A©_©Çªº¨Æ±¡µo¥Í¤F¡I
1.12. ±Ï©R¡I§Ú¤£¯à±q tape ¦w¸Ë¡I
1.13. ¥Î¤@±ø¨ÃÁp½u(PLIP)³s±µ¨â¥x FreeBSD¡C
1.14. §Ú¥i¥H¦b§Úªº½¥¤W«¬¹q¸£¥Î PLIP(Parallel Line IP)¦w¸Ë¶Ü¡H
1.15. §Ú¸Ó«ç»ò¨Ï¥Î¤@­ÓºÏºÐ¸Ë¸mªº geometry¡H
1.16. ·í§Ú¤À³ÎºÏºÐ¾÷®É¦³¥ô¦ó­­¨î¶Ü¡S
1.17. ¥i¥H¨Ï¥ÎºÏºÐºÞ²zµ{¦¡(disk managers)¶Ü¡S©Î¬O¡A§Ú¦³¤@­Ó¥¨¤jªººÏºÐ¾÷¡I
1.18. ·í§Ú±Ò°Ê FreeBSD¡A§Ú¬Ý¨ì ``Missing Operating System''
1.19. §Ú¬Ý¤£¨ì boot manager ªº 'F?' ´£¥Ü¸¹¡C
1.20. §Ú¦³ >16MB RAM¡C³o·|¾É­P¥ô¦ó°ÝÃD¶Ü¡S
1.21. §Ú»Ý­n¦w¸Ë§¹¾ãªº­ì©lµ{¦¡(sources)¶Ü¡S
1.22. §Ú»Ý­n«Ø¥ß¤@­Ó®Ö¤ß¶Ü¡S
1.23. §Ú¤£¬O¦í¦b¬ü°ê¡A¨º§Ú¥i¥H¨Ï¥Î DES ¶Ü¡S
1.24. ±Ò°Ê³nºÐ¶}©lŪ¤F¥i¬O«o°±¦b``Probing Devices...''¿Ã¹õ¡C
1.25. ·í§Ú¦w¸Ë¦n­«·s±Ò°Ê¨t²Î«á¡A§Ú¬Ý¨ì``panic: cant mount root'' ªº¿ù»~°T®§¡C
1.26. °O¾ÐÅ骺­­¨î¬O¤°»ò¡S
1.27. ffs Àɮרt²Îªº­­¨î¬O¤°»ò¡S
1.28. §Ú¸Ó«ç»ò¦b³nºÐ¤W©ñ¤J 1TB ÀɮסH
1.29. ¦b±Ò°Ê·sªº kernel ®É¡A¬Ý¨ì "archsw.readin.failed" ³o­Ó¿ù»~°T®§

1.1. §Ú¸Ó¤U¸ü­þ¨ÇÀÉ®×¥H¨ú±o FreeBSD¡H

³q±`§A¥u»Ý­n¤@±i³nºÐ image ÀÉ¡Afloppies/boot.flp¡A§â¥¦«þ ¨©¨ì 1.44MB ³nºÐ¤ù¤WµM«á±Ò°Ê¥¦¡A¦A¥h¤U¸ü¨ä¥Lªº³¡¥÷(¦w¸Ëµ{§Ç·|ºÞ ²z§Aªº TCP/IP ³s½u¡A¥H¤Î tapes¡A¥úºÐ¾÷¡A³nºÐ¾÷¡ADOS ¤À³Î°Ï¡A¤Î ¨ä¥L¥u­n¬O¦w¸Ë¹Lµ{¤¤»Ý­n¥Î¨ìªº¨Æª«)¡C

­Y§A¥u»Ý­n¦Û¤v¤U¸ü distributions(¥i¨³³tªº¥Ñ DOS Àɮרt²Î¨Ó¦w¸Ë) ¡A¥H¤U¬O§Ú­Ì«ØÄ³§A§ì¨Ó¦w¸Ëªº distributions¡G

  • bin/

  • manpages/

  • compat*/

  • doc/

  • src/ssys.*



¦w¸Ëµ{§Çªº§¹¾ã«ü¥O¡A¥H¤Î§ó¦h´¶¹M©Ê¦w¸Ë®É·|¸I¨ìªº°ÝÃD¥i¥H¦b Handbook entry on installing FreeBSD.³o¸Ì§ä¨ì¡C

1.2. ±Ï©R¡I±Ò°Êªº³nºÐ image ÀɵLªk¶ë¨ì¤@¤ù³æ¿Wªº³nºÐ¤ù¸Ì¡I

¤@±i 3.5 ­^¦T(1.44MB)³nºÐ¤ù¥i¥H®e¯Ç 1474560 ¦ì¤¸²Õªº¸ê®Æ¡C ±Ò°Êªº image ÀÉ´N­è¦n¬O³o­Ó¤j¤p¡C

¦b·Ç³Æ±Ò°Ê³nºÐ¤ù®É±`¨£ªº¿ù»~¦³¡G

  • ¨Ï¥Î FTP ®É¨S¦³¨Ï¥Î binary ¼Ò¦¡¤U¸ü³nºÐ image¡C

    ¬Y¨Ç FTP client ³nÅ饦­Ì¤º©wªº¶Ç¿é¼Ò¦¡¬O ascii ¨Ã¥B¸ÕµÛ§ó§ï¥ô¦óªº end-of-line ¦r¤¸¡A¥H²Å¦X³o­Ó client ¨t²Î ¥»¨­ªºÂà´«¡C¤j³¡¤À±¡§Î¤U³o¥²µM·|·´·l±Ò°Ê image ÀÉ¡AÀˬd¤@¤U §A¤U¸üªº±Ò°Ê image Àɤj¤p¡G¦pªG³o¤£¬O§¹¥þ¦a»P server ºÝ¤Wªº¤j¤p¬Û¦P¡A¨º»ò§Aªº¤U¸üµ{§Ç´N¦³°ÝÃD¡C

    ¸Ñ¨M¤èªk¡G¦b§A³s±µ¤W server ¦ý©|¥¼¶}©l¤U¸ü¬M¹³Àɤ§«e¡A ¬Ý¨ì FTP ©R¥O´£¥Ü¸¹®É¥´ binary¡C

  • ¨Ï¥Î DOS ªº copy ©R¥O(©Îµ¥®Äªº GUI ¤u¨ã)¨Ó§â±Ò °Ê image Àɶǰe¨ì³nºÐ¤ù¡C

    Ãþ¦ü¹³ copy ªºµ{¦¡¡A¦b±Ò°Ê image ÀɳQ«Ø¥ß¨Ã¥Bª½±µ ¶}¾÷«á¨Ã¨S¦³¥\¥Î¡C¬M¹³Àɸ̦³§¹¾ãªººÏºÐ¤º®e¡AºÏ­y¹ïºÏ­y¡A³o¥N ªíµÛ§AµLªk¥ÎºÏ¤ù¤W©T©wªºÀÉ®×¥h¨ú¥N¥¦¡C §A¥²¶·§â¥¦¶Ç°e¨ì³nºÐ¤ùªº``raw''¤W¡A¨Ï¥Î§C¶¥¤Æ¤u¨ã(¹³¬O fdimage ©Î rawrite)¡A³o¨Ç¦b installation guide to FreeBSD¸Ì­±¦h¦³´y­z¡C



1.3. ¦w¸Ë FreeBSD ªº«ü¥O¦b­þ¸Ì¡H

§A¥i¥H¦b³o¸Ì§ä¨ì¦w¸Ë«ü¥O¡C Handbook entry on installing FreeBSD.

1.4. ­n°õ¦æ FreeBSD §ÚÁٻݭn¤°»ò¡H

§A»Ý­n¤@¥x 386 ©Î§ó¦nªº PC¡A¥]§t 5MB ©Î§ó¦hªº RAM ¥H¤Î¦Ü¤Ö 60MB ªººÏºÐªÅ¶¡¡C¥i¥H¶È¨Ï¥Î¤@­Ó§C¶¥ªº MDA ¹Ï§Î¥d¡A¦pªG§A­n°õ¦æ X11R6 ¡A´N»Ý­n VGA ©Î§ó¦nªºµø°T¥d¡C

¥t¥~¥i°Ñ¦Ò²Ä¤G³¹¸`¡G µwÅ骺¬Û®e©Ê ¡C

1.5. §Ú¥u¦³ 4MB RAM¡A¨º§Ú¯à¦w¸Ë FreeBSD ¶Ü¡H

FreeBSD 2.1.7 ¬O³Ì«á¤@­Ó¥i¦b 4MB ¨t²Î¤W³Q¦w¸Ëªºª©¥»¡C·sª©ªº FreeBSD¡A¹³¬O 2.2¡A»Ý­n¦Ü¤Ö 5MB ¨Ó¦w¸Ë¥¦¦b¤@­Ó¥þ·sªº¨t²Î¤W¡C

FreeBSD ªº©Ò¦³ª©¥»¡A¥]¬A 3.0¡A³£¯à¦b 4MB ªº°O¾ÐÅé¤U°õ¦æ¡A¤£ ¹L¦w¸Ë®É¤£¯à¥u¥Î 4MB¡C¦pªG§A·Q³o¼Ë¡A§A¥i¥H¦b¦w¸Ë®É¥[¤JÃB¥~ªº °O¾ÐÅé¡AµM«áµ¥¨t²Î¥i¥H°õ¦æ«á¡A´«¦^ 4MB¡C©Î¬O§A¥i¥H§â§AªººÏºÐ ¾÷¤Á¥X¤@­Ó 4MB ¥H¤W¸m´«ªÅ¶¡¡A¦w¸Ë¦n¨t²Î«á¦A§â¸m´«ªÅ¶¡¬å±¼¡C

FreeBSD 2.1.7 ¤]¦³¤£¯à¦b 4MB ¦w¸Ëªº±¡§Î¡C¥¿½Tªº»¡¡AÀ³¸Ó¬O«ü ¤£¯à¦b°ò¥»ªº 640kB ¥[¤W 3MB ©µ¦ù°O¾ÐÅé¸Ì¦w¸Ë¡C¦pªG§Aªº¥D¾÷ªO ¥i¥H­«·s§ä¦^¦b 640kB ¨ì 1MB ½d³ò¤¤¨º¨Ç``¿ò¥¢''ªº°O¾ÐÅé¡A¨º»ò ©Î³\§AÁÙ¬O¥i¥H§â FreeBSD 2.1.7 ¸Ë°_¨Ó¡C

¸ÕµÛ¶i¤J§Aªº BIOS ³]©w¿ï³æ¨Ã§ä¤@­Ó``remap''¿ï¶µ¡A§â¥¦¥´¶}¡C §A©Î³\¤]¸Ó§â ROM shadowing µ¹Ãö±¼¡C

¥u¦b¦w¸Ë®É¨Ï¥Î 4MB ¥i¯à®e©ö¤@ÂI¡A«Ø¥ß¤@­Ó¥u¦³§A»Ý­nªº¿ï¶µªº ®Ö¤ßµ{¦¡¡AµM«á´N¥i¥H¥u¥Î 4MB¡C

§A¤]¥i¥H¦w¸Ë 2.0.5 µM«á¦A§â§Aªº¨t²Î¥Î 2.1.7 ¦w¸Ëµ{¦¡¸Ì ``upgrade''ªº¿ï¶µ¤É¯Å¨ì 2.1.7 ª©¥»¡C

¦w¸Ë«á¦pªG§A«Ø¥ß¤@­Ó¦Û­qªº®Ö¤ß¡A³o±N·|¦b 4MB ¤U°õ¦æ¡C´¿¦³ ¤H¦¨¥\ªº¥Î 2MB ¶}¾÷(¤£¹L¨t²Î´X¥G¤£¯à¥Î :-))¡C

1.6. §Ú¸Ó«ç»ò»s§@¦Û­qªº¦w¸Ë³nºÐ¤ù¡H

¥Ø«e§AµLªk*¥u*»s§@¤@­Ó¦Û­qªº¦w¸Ë³nºÐ¤ù¡C§A¥²¶·°µ¥X¾ã­Ó¥þ·sªº release ¨t²Î¡A³o¸Ì­±´N¥]¬A§Aªº¦w¸Ë³nºÐ¤ù¡C¬Y¨Ç¦b /usr/src/release/floppies/Makefile ¸Ìªºµ{¦¡½X°²³]¯àÅý §A*¥u*°µ¥X¨º¨Ç³nºÐ¤ù¡A¦ý¬O¨Æ¹ê¤WÁÙ¤£¦æ¡C

­n°µ¥X¦Û­qªº release ª©¥»¡A½Ð¿í´` ³o¸Ì ªº«ü¥O¡C

1.7. §Ú¥i¥H¦b§Úªº PC ¤W¾Ö¦³¶W¹L¤@­Ó¥H¤Wªº§@·~¨t²Î¶Ü¡H

½Ð°Ñ¦Ò The multi-OS page.

1.8. Windows 95 ¥i¥H¸ò FreeBSD ¨Ã¦s¶Ü¡H

¥ý¦w¸Ë Windows 95¡AµM«á¦A¸Ë FreeBSD¡CFreeBSD ªº±Ò°ÊºÞ²z­û ·|±µµÛºÞ²z±Ò°Ê Win95 ©M FreeBSD ªº¤u§@¡C°²¨Ï§A²Ä¤G­Ó¤~¥h¸Ë Win95¡A¥¦±N·|°Ý³£¤£°Ýªº²Ê¾|¦a§â§Aªº±Ò°ÊºÞ²z­ûÂмg¹L¥h¡C°² ¦p³o¤w¸gµo¥Í¡A½Ð¬Ý¤U¤@¸`¡C

1.9. Windows 95 §â§Úªº±Ò°ÊºÞ²z­û±þ±¼¤F¡I§Ú¸Ó«ç»ò§â¥¦±Ï¦^¨Ó¡H

§A¥i¥H¥Î¥H¤U¨âºØ¤èªk¤§¤@¨Ó­«·s¦w¸Ë FreeBSD ªº±Ò°ÊºÞ²z­û¡G

  • °õ¦æ DOS¡A¶i¤J§Aªº FreeBSD distributions ªº tools/ ¥Ø¿ý ¨Ã§ä¨ì bootinst.exe¡C§A¥i¥H³o¼Ë°õ¦æ¥¦¡G

    bootinst.exe boot.bin

    ³o¼Ë±Ò°ÊºÞ²z­û±N·|¦A¦¸³Q¦w¸Ë¡C

  • ¥Î FreeBSD ±Ò°Ê³nºÐ¤ù¦A¦¸¶}¾÷µM«á¶i¤J Custom ¦w¸Ë¿ï³æ ¶µ¥Ø¡A¿ï¾Ü Partition¡A¿ï¾Ü¨º­Ó¥]§t±Ò°ÊºÞ²z­ûªººÏºÐ¾÷(¤j¦h¬O ²Ä¤@­Ó)¡AµM«á·í¤À³Î°Ï½s¿è¾¹(partition editor)¥X²{®É¡A²Ä¤@¥ó ¨Æ(·N«ä´N¬O¡G¤£­n°µ¥ô¦ó§ó§ï) ¥ý¿ï¾Ü (W)rite¡C·|¥X²{½T»{ªº¸ß °Ý¡A¦^µª yes¡AµM«á·í§A¬Ý¨ì Boot Manager ªº¿ï¾Ü´£¥Ü®É¡A½T©w §A¿ïªº¬O"Boot Manager"³o¶µ¡C ³o·|§â±Ò°ÊºÞ²z­û­«·s¼g¦^ºÏºÐ¸Ì¡C¸õÂ÷¦w¸Ë¿ï³æµM«á´N¸ò¥¿±`±¡§Î ¤@¼Ë­«·s±Ò°ÊµwºÐ¡C



1.10. §Ú¥i¥H¦b¤@­Ó¦³Ãa­y(bad blocks)ªººÏºÐ¤W¶i¦æ¦w¸Ë¶Ü¡H

FreeBSD ªº bad block (bad144 ©R¥O) ³B²z¨Ã«D 100% §¹¥þ(¥Î¹Ï§Î¤Æ¨Ó¬Ý)¡A¦Ó¥B«Ü¤£©¯§Ú­n§i ¶D§A°²¦p§A¦³¤@­Ó IDE ©Î ESDI ¸Ë¸m¥]§t¤j¶qªº bad blocks¡A¨º»ò FreeBSD ¥i¯à¤£¾A¦X§A¡I³oªí¥Ü¡A¹ï¨ä¥L¤j¦h¼Æªº IDE ¨t²Î¥i¯à¦³ ¥Î¡A§A¥i¯à·Q¦b©ñ±ó«e¥ý¹Á¸Õ¬Ý¬Ý¡C

¦pªG§A¦³¤@­Ó¦³ bad blocks ªº SCSI ¸Ë¸m¡A½Ð¬Ý ³o¸Ìªº¸Ñµª¡C

1.11. ·í§Ú±Ò°Ê¦w¸Ë³nºÐ¤ù®É¡A©_©Çªº¨Æ±¡µo¥Í¤F¡I

¦pªG§A¬Ý¨ì©_©Çªº¨Æ±¡¡A¹³¬O¾÷¾¹°±¦í¤F©Î¬O·í§A¸ÕµÛ±q¦w¸ËºÏ¤ù°_ °Ê®É¬ðµM¦Û°Ê­«·s¶}¾÷¤F¡A³o¸Ì¦³¤T­Ó°ÝÃD§A¸Ó¥ý°Ý°Ý¦Û¤v:-

  1. §A¬O§_¨Ï¥Î¤@­Ó·sªº¡A­è®æ¦¡¤Æ¹L¡A¨S¦³¥ô¦ó¿ù»~ªº³nºÐ¤ù(¥i ¥H¬O¤@±i¥þ·s­è©î«Êªº¡A¦Ó«D¬O¨ººØ¤w¸g§Aªº§É¤U½ö¤F¤T¦~¡A¬OÂø»xÃØ °eªº«Ê­±ºÏ¤ù)¡H

  2. §A¬O§_¥Î binary ¼Ò¦¡¤U¸ü³nºÐ¬M¹³ÀÉ¡H (¤£¥Î¤£¦n·N«ä¡A´Nºâ¬O§Ú­Ì¤§¤¤³Ì¦nªº¤@­Ó¤H¤]´¿·N¥~ªº§â binary ÀɥΠASCII ¼Ò¦¡¤U¸ü¦Ü¤Ö¤@¦¸¡I)

  3. ¦pªG§A¥¿¦b¨Ï¥Î¹³¬O Windows95 ©Î Windows NT ³o´XºØ·s«¬ªº §@·~¨t²Î¡A§A¦³¨S¦³§â¨t²ÎÃö¾÷µM«á±Ò°Ê¨ì³Ì­ì©lª¬ºA¡A¥u¦³ DOS¡H ³o¨Ç OS ¬Ý°_¨Ó·|ªý꨺¨Çª½±µ¾Þ§@µwÅ骺µ{¦¡¡A¹³¬O«Ø¥ßºÏºÐªºµ{¦¡ ¡A¥u­n¦b GUI Àô¹Ò¤Uªº DOS shell ´N·|¾É­P³o­Ó°ÝÃD¡C



¤]¦³¹L³ø§i¦³Ãö Netscape ·|¾É­P¤U¸ü±Ò°Ê³nºÐªº°ÝÃD¡A¦]¦¹¦pªG§A ¥i¥H¡A³Ì¦n¨Ï¥Î§OºØ¤£¦Pªº FTP client ¡C

1.12. ±Ï©R¡I§Ú¤£¯à±q tape ¦w¸Ë¡I

¦pªG§A±q tape ¦w¸Ë 2.1.7¡A§A¥²¶·¥Î¨C­Ó tar blocksize ¬O 10 (5120 bytes)«Ø¥ß³o­Ó tape¡C¤º©wªº tar blocksize ¬O 20(10240 bytes)¡AµM¦Ó¥Î³oºØ¤º©w¤j¤p«Ø¥ßªº tape µLªk¥Î¨Ó¦w¸Ë 2.1.7R¡F ¦pªG§A¥Î³oºØ tapes¡A§A·|¬Ý¨ì¦³Ãö¸ê®Æ°O¿ý°Ï¤j¤p¹L¤jªº©ê«è°T ®§¡C

1.13. ¥Î¤@±ø¨ÃÁp½u(PLIP)³s±µ¨â¥x FreeBSD¡C

§ä¤@±ø laplink ½u¡A½T©w¨âÃä¹q¸£ªº®Ö¤ß³£¤ä´© lpt ÅX°Êµ{¦¡¡C

      $ dmesg | grep lp
      lpt0 at 0x378-0x37f irq 7 on isa
      lpt0: Interrupt-driven port
      lp0: TCP/IP capable interface
      



§â laplink ½u´¡¤J¨ÃÁp¬É­±¤W¡C

¥Î root ¨­¤À¦b¨â¥x¹q¸£¤W³]©w lp0 ªººô¸ô¬É­±°Ñ¼Æ¡CÁ|¨Ò¡A¦pªG §A·Q¥Î max ³s±µ moritz¡G

                 max <-----> moritz
IP Address    10.0.0.1      10.0.0.2
      



max ºÝÀ³¸Ó³o¼Ë¶}©l¡G

# ifconfig lp0 10.0.0.1 10.0.0.2
     



moritz «h³o¼Ë¡G

# ifconfig lp0 10.0.0.2 10.0.0.1
     



¦n¤F¡I¤]½Ð§A¬Ý¬Ý lp(4) ©M lpt(4) ªº manpages¡C

§A¤]¸Ó§â³o¨Ç¥D¾÷¥[¨ì /etc/hosts ¸Ì­±¡C

     127.0.0.1               localhost.my.domain localhost 
     10.0.0.1                max.my.domain max
     10.0.0.2                moritz.my.domain moritz
     



¥Î¥H¤U¤èªkÀˬd¬O§_¦³¥¿±`°Ê§@¡G

on max:

$ ifconfig lp0
lp0: flags=8851<UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet 10.0.0.1 --> 10.0.0.2 netmask 0xff000000 



$ netstat -r
Routing tables

Internet:
Destination        Gateway            Flags     Refs     Use     Netif Expire
moritz              max              UH          4   127592       lp0



$ ping -c 4 moritz
PING moritz (10.0.0.2): 56 data bytes
64 bytes from 10.0.0.2: icmp_seq=0 ttl=255 time=2.774 ms
64 bytes from 10.0.0.2: icmp_seq=1 ttl=255 time=2.530 ms
64 bytes from 10.0.0.2: icmp_seq=2 ttl=255 time=2.556 ms
64 bytes from 10.0.0.2: icmp_seq=3 ttl=255 time=2.714 ms

--- moritz ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max/stddev = 2.530/2.643/2.774/0.103 ms



1.14. §Ú¥i¥H¦b§Úªº½¥¤W«¬¹q¸£¥Î PLIP(Parallel Line IP)¦w¸Ë¶Ü¡H

¥Î laplink ¨ÃÁp½u³s±µ¨â¥x¹q¸£¥H¨Ï¥Î³o­Ó¯S©Ê¡G

            +----------------------------------------+
            |A-name A-End   B-End   Descr.  Port/Bit |
            +----------------------------------------+
            |DATA0  2       15      Data    0/0x01   |
            |-ERROR 15      2               1/0x08   |
            +----------------------------------------+
            |DATA1  3       13      Data    0/0x02   |
            |+SLCT  13      3               1/0x10   |
            +----------------------------------------+
            |DATA2  4       12      Data    0/0x04   |
            |+PE    12      4               1/0x20   |
            +----------------------------------------+
            |DATA3  5       10      Strobe  0/0x08   |
            |-ACK   10      5               1/0x40   |
            +----------------------------------------+
            |DATA4  6       11      Data    0/0x10   |
            |BUSY   11      6               1/0x80   |
            +----------------------------------------+
            |GND    18-25   18-25   GND -            |
            +----------------------------------------+
      



½Ð°Ñ¦Ò Mobile Computing ºô­¶ªº ³o­Óµù¸Ñ¡C

1.15. §Ú¸Ó«ç»ò¨Ï¥Î¤@­ÓºÏºÐ¸Ë¸mªº geometry¡H

(¤@¥xºÏºÐªº"gromrtry"¡A§Ú­Ì«üªº¬O³o¥xºÏºÐ¤W cylinders¡Aheads ©M sectors/track ªº¼Æ¥Ø - ¬°¤F¤è«K¥BºÙ¤§¬° C/H/S¡C³o¬O PC ªº BIOS ¥Î¨ÓŪ/¼gºÏºÐªº¨Ì¾Ú)¡C

¬°¤F¬Y¨Ç²z¥Ñ¡A³o¦ü¥G·|¾É­P«Ü¦h§xÂZ¡C­º¥ý¡A¤@¥x SCSI ¸Ë¸mªº physical geometry ¸ò FreeBSD ¦b¨Ï¥Îªº disk blocks ¬O§¹ ¥þµLÃöªº¡C¨Æ¹ê¤W¡A¨Ã¨S¦³©Ò¿×"physical geometry"³oºØªF¦è¡A³o ¬O«üºÏºÐ¾÷¤WºÏ°Ï±K«×ªºÅÜ¤Æ - »s³y°Ó­n¨D¬O"¯u¹êªº"physical geometry ³q±`¬O«ü¡A¥L­Ì©Ò¯à§ä¥X®ö¶O³Ì¤ÖªÅ¶¡ªº geometry µ²ªG¡C ¹ï IDE ºÏºÐ¨Ó»¡¡AFreeBSD ¨Ï¥Î C/H/S ¤è¦¡¤u§@¡A¦ý¬O©Ò¦³²{¦b ªººÏºÐ¤w¸g¦b¤º³¡°Ñ¦Ò®É§â¥¦Âà´«¦¨ block ¤F¡C

¥t¥~´N¬O©Ò¿×ªºlogical geometry - ³o¬O·í BIOS °Ý"§Aªº geometry ¬O¤°»ò¡H"ªº®É­Ô¡A©Ò±o¨ìªºµª®×¨Ã¥B§â¥¦¥Î¨Ó¦s¨úºÏºÐ¡C ·í¶}¾÷®É FreeBSD ¨Ï¥Î BIOS ¸ê®Æ¡AÅý³o­Ó¥¿½T¬O¬Û·í­«­nªº¡C¥t¥~ ¡A¦pªG§A¦b¦P¤@­ÓºÏºÐ¾÷¤W¦³¤@­Ó¥H¤Wªº§@·~¨t²Î¡A¥L­Ì¥²¶·³£¦P·N grometry¡A§_«h§A¦b¶}¾÷®É·|¦³¤j°ÝÃD¡I

¹ï SCSI ºÏºÐ¾÷¨Ó»¡¡Ageometry ªº¨Ï¥Î¬O¨Ì¾a±Ò°Ê±±¨î¾¹¨Ó¤ä´© extended translation (³o³q±`ºÙ¤§¬°"¹ï>1GB DOS ºÏºÐ¾÷ ªº¤ä´©©Î"Ãþ¦üªººÙ©I)¡C¦pªG¤£¤ä´©¡A¨º»ò¨Ï¥Î N cylinders¡A64 heads ©M 32 sectors/track¡A³o¸Ì'N'¬O«üºÏºÐ¾÷ªº MB ®e¶q¡CÁ|¨Ò ¨Ó»¡¡A¤@­Ó 2GB ªººÏºÐ¾÷À³¸Ó°²³]¥¦¦³ 2048 cylinders¡A64 heads ©M 32 sectors/track¡C

¦pªG¥¦½T©w¬O ¥´¶}ªº(³q±`´£¨Ñ³oºØ¤èªk¦b MSDOS ¤U¦³¬Y¨Ç­­ ¨î)¡A¨Ã¥BºÏºÐ®e¶q¶W¹L 1GB¡A¨Ï¥Î M cylinders¡A¨C­Ó track 63 sectors (*¦Ó«D* 64)¡A¥H¤Î 255 heads¡A³o¸Ì 'M' ¬O¨C MB ªººÏºÐ®e¶q°£¥H 7.844238 (!)¡C©Ò¥H§Ú­Ìªº³o­Ó½d¨Ò¡A2G ºÏºÐ¾÷´N¦³ 261 cylinders¡A ¨C­Ó track 63 sectors ¥H¤Î 255 heads¡C

¦pªG§A¤£½T©w¥H¤W³o­Ó¡A©Î¬O FreeBSD ¦b¦w¸Ë¹Lµ{¤¤­n°»´ú geometry ªº¥¿½T©Ê®É¥¢±Ñ¤F¡A³Ì²³æªº¸Ñ¨M¤èªk³q±`¬O¦bºÏºÐ¤W«Ø¥ß¤@­Ó¤pªº DOS ¤À³Î°Ï¡C¥¿½Tªº geometry À³¸Ó¯à³Q°»´ú¨ì¡]¦Ó¥B¦pªG§A¤£·Q«O¯d¥¦¡A §AÁ`¬O¥i¥H¦b¤À³Î°Ï½s¿è¾¹¸Ì§â³o­Ó DOS ¤À³Î°Ï²¾°£±¼¡A©Î¬O§â¥¦¯d¤U ¨Ó¡Aµ¹µ{¦¡¤Æºô¸ô¥d¨Ï¥Î©ÎÀH§A°ª¿³«ç»ò¥Î¥¦¡^¡C

¥t¥~¡A¦³¤@­Ó§K¶O¦Ó¦³¥Îªº¤½¥Îµ{¦¡¥s ``pfdisk.exe'' ÀHµÛ FreeBSD ´²¼½¥X¨Ó¡]¦ì©ó FreeBSD CDROM ªº tools ¤l¥Ø¿ý ¤U©Î¬O¦b¤j¦h¼Æªº FreeBSD ftp ¯¸¥x¤º¥i§ä¨ì¡^¡A³o­Óµ{¦¡¥i¥Î¨Ó§ä ¥X¥t¤@§@·~¨t²Î¥¿¦b¨Ï¥ÎºÏºÐ¾÷¤Wªº­þ¶ô geometry¡CµM«á§A´N¥i¥H¦b ¤À³Î°Ï½s¿è¾¹¸Ì­±¿é¤J¥¦¡C

1.16. ·í§Ú¤À³ÎºÏºÐ¾÷®É¦³¥ô¦ó­­¨î¶Ü¡S

¬Oªº¡C§A¥²¶·½T»{§Aªº root ¤À³Î°Ï¬O¦b 1024 cylinders ¤§¤º¡AÅý BIOS ¥i¥H±q¨ä¤¤±Ò°Ê®Ö¤ß¡C(ª`·N¡G³o¬O PC ªº BIOS ¥\¯à­­¨î¡A¦Ó¤£ ¬O FreeBSD ªº)

¹ï SCSI ¸Ë¸m¨Ó»¡¡A³o³q±`·t¥ÜµÛ root ¤À³Î°Ï±N©ñ¦b¶}©lªº 1024 MB(©Î¬O¶}©lªº 4096MB¡A¦pªG extended translation ¬O¥´¶}ªº - ½Ð °Ñ¦Ò«e¤@¸`)¡C¹ï IDE ¨Ó»¡¡A¬ÛÃöªº³¡¥÷¬O 504MB¡C

1.17. ¥i¥H¨Ï¥ÎºÏºÐºÞ²zµ{¦¡(disk managers)¶Ü¡S©Î¬O¡A§Ú¦³¤@­Ó¥¨¤jªººÏºÐ¾÷¡I

FreeBSD »{ÃÑ Ontrack Disk Manager ¨Ã¥B¤¹³\¨Ï¥Î¥¦¡A¨ä¥Lªº disk managers «h¤£¦b¤ä´©¤§¦C¡C

¦pªG§A¥u·Q¦bºÏºÐ¾÷¤W¨Ï¥Î FreeBSD ¨º»ò§A®Ú¥»¤£»Ý­n disk manager¡C ¥u­n§âºÏºÐ³]©w¦¨ BIOS ¯à§ì¨ìªº³Ì¤jªÅ¶¡(³q±`¬O 504 megabytes)¡A¨º»ò FreeBSD À³¸Ó´N¥i¥Hºâ¥X§A¨Æ¹ê¤W¾Ö¦³¦h¤ÖªÅ¶¡¡C¦pªG§A¥¿¨Ï¥Î¤@­Ó MFM ±±¨î¾¹¨Ó±±¨îªº¦ÑºÏºÐ¡A§A¥i¯à»Ý­n©ú¥Õªº§i¶D FreeBSD ­n¨Ï¥Î¦h¤Ö­Ó cylinders¡C

¦pªG§A·Q¦bºÏºÐ¤W¨Ï¥Î FreeBSD ©M¥t¤@­Ó§@·~¨t²Î¡A§A¥i¯à¤£»Ý­n disk manager¡G¥u­n½T©w FreeBSD ªº±Ò°Ê¤À³Î°Ï¸ò¨ä¥L§@·~¨t²Îªº slice ³£¦ì©ó¶}©lªº 1024 cylinders ¤º¡C¦pªG§A¬Û·í¦a¤p¤ß¡A¤@­Ó 20 megabytes ªº±Ò°Ê¤À³Î°ÏÀ³¸Ó´N°÷¤F¡C

1.18. ·í§Ú±Ò°Ê FreeBSD¡A§Ú¬Ý¨ì ``Missing Operating System''

³o¬O¤@­Ó¨å«¬ªº±¡§Î¡A·í FreeBSD »P DOS©Î¨ä¥L§@·~¨t²Î¦b³B²zºÏºÐ geometry ¤W¦³½Ä¬ðªº®É­Ô´N·|µo¥Í¡C§A»Ý­n­«·s¦w¸Ë FreeBSD¡A¦ý¬O½Ð¿í·Ó»¡©ú¤W­±©Ò´£¨ìªº«ü¥OÀ³¸Ó´N¥i¥H¤F¡C

1.19. §Ú¬Ý¤£¨ì boot manager ªº 'F?' ´£¥Ü¸¹¡C

³o¬O«e¤@­¶©Ò´y­z°ÝÃDªº¥t¤@­Ó¼x¥ü¡C§Aªº BIOS geometry ©M FreeBSD ªº geometry ³]©w¤£¬Û¦P¡I¦pªG§Aªº±±¨î¾¹©Î BIOS ¤ä´© cylinders translation (³q±`³Q¼Ð¥Ü¦¨``>1GB drive support'')¡A¸ÕµÛ§â³o­Ó ³]©w¥´¶}µM«á­«·s¦w¸Ë FreeBSD¡C

1.20. §Ú¦³ >16MB RAM¡C³o·|¾É­P¥ô¦ó°ÝÃD¶Ü¡S

±q®Ä¯àªº¨¤«×¨Ó¬Ý¡A¤£·|¡CFreeBSD 2.X ¤º§t bounce buffers¡A³o¤¹³\ §Aªº bus mastering controller ¦s¨ú¶W¹L 16MB¡C(ª`·N¦pªG§A¥¿¨Ï¥Î ISA ¸Ë¸m³oÀ³¸Ó¬O¥²»Ýªº¡A¾¨ºÞ¤@­Ó©Î¨â­Ó§ó¦­ªº EISA ©M VLB ¸Ë¸m¤] ¥i¯à»Ý­n¥¦)¡C

¤]½Ð°Ñ¦Ò >64M machines ³o¸`¡A°²¦p§A¦³³o»ò¦h°O¾ÐÅé¡A©Î§A¨Ï¥Îªº¬O Compaq ©Î¬O¨ä¥L¯à³B²z ³o»ò¦h¦³¥Î°O¾ÐÅ骺¾÷¾¹¡C

1.21. §Ú»Ý­n¦w¸Ë§¹¾ãªº­ì©lµ{¦¡(sources)¶Ü¡S

³q±`¬O¤£»Ý­n¡CµM¦Ó¡A·|±j¯P«ØÄ³§A¦Ü¤Ö¦w¸Ë ``base'' ³o­Ó source kit¡A³o¥]§t¼Æ­Ó³o¸Ì²³æ´y­z¹LªºÀɮסAÁÙ¦³ ``sys'' (kernel) source kit¡A³o¥]§t®Ö¤ßµ{¦¡ªº sources¡C¨t²Î¸Ì­±¤£»Ý ­n¦³ sources ¤~¯à¾Þ§@¡AµM¦Ó¡A°£¤F kernel-configuration µ{¦¡ config ¥H¥~¡C¯Ê¤Ö®Ö¤ßªº sources¡A§Ú­Ìªº«Ø¿v¬[ºc¬O³]©w ¦¨Åý§A¥i¥H±q§O³B¦p NFS ¨Ó±¾¤W°ß¿Wªº­ì©lµ{¦¡¡A¦]¦¹ÁÙ¬O¥i¥H»s §@·sªº binaries¡C¡]¦]¬° kernel-source ªº­­¨î¡A§Ú­Ì«ØÄ³§A¤£­n ª½±µ§â¥¦±¾¦b /usr/src ¤U¡A³Ì¦n¥Î¨ä¥L¾A¦Xªº²Å¸¹©Ê­« ½Æ³sµ²¨ì source tree ªº¤W¼h¬[ºc¡C¡

½u¤W¾Ö¦³ sources ¨Ãª¾¹D¦p¦ó«Ø¥ß¤@­Ó¨t²Î¡A±N·|Åý§A¦b¤É¯Å¤µ«á FreeBSD ªº releases ª©¥»§ó®e©ö¤@ÂI¡C

­n¹ê»Úªº¿ï¾Ü sources ªº¤@­Ó¤l¶°¦X¡A¦b§A¦b¨t²Î¦w¸Ë¤u¨ãªº Distributions ¿ï³æ®É¡A¨Ï¥Î Custom ¿ï³æ¶µ¥Ø¡Csrc/install.sh script ±N·|§â sources distribution ªº³¡¥÷¦w¸Ë¶i¥h¡A¥D­n¬O¬Ý §A¶Ç¤J­þ¨Ç°Ñ¼Æ¡C

1.22. §Ú»Ý­n«Ø¥ß¤@­Ó®Ö¤ß¶Ü¡S

«Ø¥ß¤@­Ó·sªº®Ö¤ß¦b FreeBSD ¦w¸Ë¹Lµ{¤¤¬Oµ´¹ï¥²»Ýªº¤@­Ó¨BÆJ¡C ¦ý·sª© releases ±a¨Ó¤@­Ó§ó¤Íµ½ªº®Ö¤ß³]©w¤u¨ã«ü¥Oªº¦n³B¡C¦b FreeBSD ±Ò°Ê´£¥Ü¸¹(boot:)®É¡A¨Ï¥Î "-c" flag §A´N·|¶i¤J¤@­Ó³] ©w¿Ã¹õ¡A³o¤¹³\§A°µ±`¨£ ISA ¥dªº®Ö¤ß³]©w¡C

¤´µM«ØÄ³§A³Ì«á«Ø¥ß¤@­Ó®Ö¤ß¡A¥u¥]§t§A»Ý­nªºÅX°Êµ{¦¡¡A³o¬O¬°¤F ¸`¬Ù¤@ÂI RAM¡A¦ý¬O¹ï¤j¦h¼Æªº¨t²Î¨Ó»¡³o«o¤£¬OÄY®æªº­n¨D¡C

1.23. §Ú¤£¬O¦í¦b¬ü°ê¡A¨º§Ú¥i¥H¨Ï¥Î DES ¶Ü¡S

¦pªG¹ï§A¨Ó»¡¨Ï¥Î DES ®æ¦¡ªº¥[±K§Þ³N¤£¬Oµ´¹ï»Ý­nªº¡A§A¥i¥H¨Ï ¥Î FreeBSD ªº¤º©w¥[±K§Þ³N¡A¦³§ó¦n ªº¦w¥þ©Ê¡A¨Ã¥B¨S¦³ÃB¥~ ªº­­¨î¡CFreeBSD 2.0 ªº±K½X²{¦b¨Ï¥Î¤º©wªº MD5-based ¥[¥H ²V¦X¡A­n¥Î¦Û°Ê¯}¸Ñ±K½Xªºµ{¦¡¥h¯}¸Ñ¥¦¡A¤ñ°_ DES »Ý­n¨Ï¥Î§ó¦h CPU ±j¤Æ©Ê¥H«K¥Î¦Û°Ê±K½X¯}¸Ñ¾¹¡A¥¦ÁÙ¤¹³\§óªøªº±K½X¡C¤µ¤é¤£¨Ï ¥Î MD5-based ¥[±K§Þ³Nªº°ß¤@²z¥Ñ¬O¦b FreeBSD ©M«D FreeBSD ¨t²Î¤W¨Ï¥Î¬Û¦Pªº±K½X¶µ¥Ø¡C

¦]¬° DES ¥[±Kºtºâªk¤£¯à¥Ñ US ¦Xªk¿é¥X¨ì°ê¥~¡A«D US ¨Ï¥ÎªÌ¤£ À³¸Ó±q US FTP ¯¸¥x¤U¸ü³o­Ó³nÅé(secrdistªº¥ô¤@³¡¥÷)¡C

µM¦Ó¥t¥~ÁÙ¦³­Ó¦³®Äªº libcrypt¡A­ì©lµ{¦¡°ò¥»¤W¥Ñ¿D¬wªº David Burren ¼g¦¨¡C³o­Óµ{¦¡½X¥Ø«e¦b¬Y¨Ç«D US FreeBSD mirror ¯¸¥x¤W¥i¥H§ä¨ì¡C³o­Ó¨S¦³­­¨îªº libcrypt ­ì©lµ{¦¡¡A¥H¤Î¨Ï¥Î¥¦ ªº binaries µ{¦¡¡A¥i¥H¦b¥H¤U FTP ¯¸¥xÀò±o¡G

South Africa

ftp://ftp.internat.FreeBSD.org/pub/FreeBSD ftp://storm.sea.uct.ac.za/pub/FreeBSD

Brazil

ftp://ftp.iqm.unicamp.br/pub/FreeBSD

Finland

ftp://nic.funet.fi/pub/unix/FreeBSD/eurocrypt



«D US ªº securedist ¥i¥H·í­­¨î©Ê US securedist ªº§¹¥þ´À¥N¡C³o­Ó securedist package ¦w¸Ë¤èªk¸ò US package §¹¥þ¤@¼Ë(²Ó¸`½Ð°Ñ¦Ò¦w¸Ë¶·ª¾)¡C¦pªG§A­n¸Ë DES ¥[±Kªk §AÀ³¸Ó¾¨¥i¯à¦a¦b¦w¸Ë¨ä¥L³nÅ餧«e¥ý¸Ë¦n¥¦¡A¦A¸Ë¨ä¥L³nÅé¡C

«D US ¨Ï¥ÎªÌ½Ð¤Å±q USA ¤U¸ü¥ô¦ó¥[±K³nÅé¡C³o·|¾É­P¯¸¥xªººÞ²z ªÌ¦]¬°³Q¤U¸üªº³nÅé·S¤W¼Æ­Óªk«ß©Êªº§xÃø¡C

¤@­Ó«D US ªº Kerberos distribution ¥ç¥¿¦bµo®i¤¤¡A²{¦æª©¥»³q ±`¥i¥Ñ°Î¦W FTP braae.ru.ac.za ¨ÓÀò±o¡C

¤]¦³¤@­Ó mailing list ±Mªù¥Î¨Ó°Q½× «D US ¥[±K³nÅé¡C±ýÀò±o§ó¦h¸ê°T¡A±H¤@«Ê«H¡A¦b«H¥ó¤º®e¥]§t³æ¿W¤@¦æ°T®§»¡ ``help'' ¨ì¥H¤U¦ì§}¡G

.

1.24. ±Ò°Ê³nºÐ¶}©lŪ¤F¥i¬O«o°±¦b``Probing Devices...''¿Ã¹õ¡C

¦pªG§A¦w¸Ë¤F IDE Zip ©Î Jaz ¸Ë¸m¡A²¾°£¥¦¨Ã­«·s¸Õ¤@¹M¡C ±Ò°Ê³nºÐ¤ù¥i¯à·|³Q³o¨Ç¸Ë¸m²V²c¤F¡C·í¨t²Î¦w¸Ë¦n¥H«á§A¥i¥H¦A §â¥¦±µ¦^¨Ó¡C§Æ±æ³o¦b¤§«áªº release ª©¥»¥i¥H³Q­×¥¿¡C

1.25. ·í§Ú¦w¸Ë¦n­«·s±Ò°Ê¨t²Î«á¡A§Ú¬Ý¨ì``panic: cant mount root'' ªº¿ù»~°T®§¡C

³o­Ó¿ù»~¬O¦]¬°±Ò°Ê°Ï¶ô¸ò®Ö¤ßµ{¦¡¹ïºÏºÐ¸Ë¸mªº»{ª¾¤£¬Û¦P¡C³q±`³o­Ó ¿ù»~·|¥X²{¦bÂùºÏºÐªº IDE ¨t²Î¡AµwºÐ©ñ¦b master¡A©Î¬O¦b¤ÀÂ÷ªº IDE ±±¨î¾¹¤W¥u¦³³æ¤@ºÏºÐ¾÷¡A¦ý¬O FreeBSD ¸Ë¦b secondary IDE ¤W ¡C·í®Ö¤ß«ü©w²Ä¤G­ÓºÏºÐ±±¨î¾¹ªº²Ä¤@­ÓºÏºÐ¾÷ wd2 ®É¡A±Ò°Ê block «o»{¬°¨t²Î¸Ë¦b wd1(²Ä¤G­Ó BIOS ºÏºÐ¾÷)¡C°»´ú§¹¸Ë¸m«á¡A®Ö¤ßµ{¦¡ ¸ÕµÛ§â±Ò°Ê block »{¬°ªº±Ò°ÊºÏºÐ(wd1) mount °_¨Ó¡A¨Æ¹ê¤W«o¬O wd2 ¡A©Ò¥H¥¢±Ñ¤F¡C

­n­×¥¿³o­Ó°ÝÃD¡A¥H¤U´XºØ¤èªk¤§¤@³£¥i¥H¸Ñ¨M¡G

  1. ·í Boot: ´£¥Ü¸¹¥X²{®É¡A¿é¤J¡G 1:wd(2,a)kernel µM«á«ö Enter¡C¦pªG¨t²Î¶}©l¤F¡A´N°õ¦æ¥H¤U©R¥O¡G

    echo "1:wd(2,a)kernel" > /boot.config

    Åý¥¦Åܦ¨¤º©wªº boot string¡C

  2. §â FreeBSD ºÏºÐ¾÷²¾¨ì primary IDE controller¡A¦]¦¹µwºÐ¾÷¬O ³sÄòªº¡C

  3. Rebuild your kernel, ­×§ï¦³Ãö wd ³]©wªº¦æ¼Æ¡G

    controller      wdc0    at isa? port "IO_WD1" bio irq 14 vector wdintr
    disk            wd0     at wdc0 drive 0
    # disk            wd1     at wdc0 drive 1 # comment out this line

    controller      wdc1    at isa? port "IO_WD2" bio irq 15 vector wdintr
    disk            wd1     at wdc1 drive 0 # change from wd2 to wd1
    disk            wd2     at wdc1 drive 1 # change from wd3 to wd2

    ¦w¸Ë·sªº®Ö¤ßµ{¦¡¡C ¦pªG§A²¾°Ê§AªººÏºÐ¾÷¡A¨Ã§Æ±æ§â¥ý«eªº³]©w«ì´_¡A¥u­n§âºÏºÐ¥Î¹w´Á ªº³]©w¸m´«¦^¨ÓµM«á­«·s¶}¾÷¡C§Aªº¨t²ÎÀ³¸Ó´N¯à¦¨¥\ªº±Ò°Ê¡C



1.26. °O¾ÐÅ骺­­¨î¬O¤°»ò¡S

¹ï°O¾ÐÅé¨Ó»¡¡A(²z½×¤W)­­¨î¬O 4 gigabytes¡C§ó¦h¸ê°T¥i°Ñ¦Òwcarchive ªº³]©w ¡C ¦pªG±z¹w©w¦b¤@¥x¾÷¾¹¤W¦w¸Ë³o»ò¦h°O¾ÐÅé¡A±z»Ý­n§ó¥[¤p¤ß¡A±z¥i¯à­n¨Ï¥Î ECC °O¾ÐÅé¥H´î¤Ö 9/18 pin °O¾ÐÅé¼Ò²Õ¤§¶¡ªº¬Û®e©Ê°ÝÃD¡C

1.27. ffs Àɮרt²Îªº­­¨î¬O¤°»ò¡S

¹ï ffs filesystems ¦Ó¨¥¡A³Ì¤j²z½×­È­­¨î¦b 8 terabytes(2G blocks )¡A©Î·í¨Ï¥Î¤º©w 8K block ¤j¤p®É¡A­­¨î¬O 16TB¡CÁÙ¦³¡A³nÅé­­¨î¬O 1 terabytes¡A¦ý¦pªG¬O¸g¹L­×§ïªºÀɮרt²Î¤W 4 terabytes ¬O¥i¯à(¨Ã ¥B¦s¦b)ªº¡C

³æ¤@ ffs Àɮתº¤j¤p³Ì¤j¬OÁͪñ 1G blocks(4TB) - °²¦p block ¤j¤p¬O 4K¡C

                           maxfilesize
                ----------------------------------
                2.2.7    3.0
fs block size   -stable  -current  works  should-work
-------------   -------  --------  -----  -----------
4K              4T-1       4T-1    4T-1   4+T
8K              32+G       8T-1    32+G   16T-1
16K             128+G      16T-1   128+G  32T-1
32K             512+G      32T-1   512+G  64T-1
64K             2048+G     64T-1   2048+G 128T-1
     



·í fs block ¤j¤p¬O 4K¡Atriple indirect block ¹B§@¨Ã¥B©Ò¦³ªº¨Æ±¡ ³£À³¸Ó¥Hªí¥Ü¦¨¨Ï¥Î triple indirect block ªº³Ì¤j fs block ¨Ó§@­­ ¨î(ªñ¦ü©ó 1K^3 + 1K^2 + 1K)¡A¦ý¦b fs block ¼Æ¥Ø¤W«o¦³¤@­Ó(¿ù»~) ªº 1G-1 ­­¨î¡C¹ï fs block ¼Æ¥Øªº­­¨îÀ³¸Ó¬O 2G-1¡C¦b fs block ¼Æ¥Ø±µªñ 2G-1 ®É¦³ÂI¿ù»~¡A¦ý·í fs block ¤j¤p¬O 4K ®É³o­Ó block ¼Æ¥Ø¬O¤£¯à¹F¨ìªº¡C

block ¤j¤p¦pªG¬O 8K ©Î§ó¤j¡Afs block ¼Æ¥ØÀ³¸Ó­­¨î¦b 2G-1¡A¦ý¹ê »Ú fs block ¼Æ¥Ø«o­­¨î¦b 1G-1¡A°£¤F¦b -stable ®É triple indirect blocks ¬OµLªk¹F¨ìªº¡A©Ò¥H³Ì¦h fs block ¼Æ¥Øªº­­¨î¥i¥Hªí¥Ü¦¨¥Î double indirect blocks(ªñ¦ü©ó(blocksize/4)^2 + (blocksize/4)) ¡A¥B¦b -current ¤U¶W¹L³o­Ó­­¨î¥i¯à·|¾É­P°ÝÃD²£¥Í¡C¨Ï¥Î¥¿½Tªº 2G-1 block ­­¨îªº½T·|¾É­P°ÝÃDµo¥Í¡C

1.28. §Ú¸Ó«ç»ò¦b³nºÐ¤W©ñ¤J 1TB ÀɮסH

§Ú¦Û¤v´N¦b³nºÐ¤ù¤W©ñ¦n´X­Ó :-)¡CÀɮתº³Ì¤j®e¶q¨Æ¹ê¤W¸òºÏºÐ³Ì¤j ªº®e¶q¨Ã¨S¦³±K¤Á¬ÛÃö¡CºÏºÐªº³Ì¤j®e¶q¬O 1TB¡A³o¬O¤@­ÓÀɮפj¤p¥i ¥H¶W¹LºÏºÐ®e¶qªº¤@­Ó¯S¦â¡C

¥H¤U½d¨Ò·|¦b¤@­Ó¨Ï¥Î¾ã­Ó 32K ªÅ¶¡³o¼Ë¤pªº root partition ºÏºÐ ¤W«Ø¥ß¤@­Ó¤j¤p¬O 8T-1 ªºÀÉ®×(3 indirect blocks and 1 data block )¡Cdd «ü¥O»Ý­nÅý dd ¯à¦b¤@­Ó¤jÀɮפU°õ¦æ¡C

ttyv0:bde@alphplex:/tmp/q> cat foo
df .
dd if=/dev/zero of=z bs=1 seek=`echo 2^43 - 2 | bc` count=1
ls -l z
du z
df .
ttyv0:bde@alphplex:/tmp/q> sh foo
Filesystem  1024-blocks     Used    Avail Capacity  Mounted on
/dev/sd0a         64479    27702    31619    47%    /
1+0 records in
1+0 records out
1 bytes transferred in 0.000187 secs (5346 bytes/sec)
-rw-r--r--  1 bde  bin  8796093022207 Sep  7 16:04 z
32 z
Filesystem  1024-blocks     Used    Avail Capacity  Mounted on
/dev/sd0a         64479    27734    31587    47%    /
ttyv0:bde@alphplex:/tmp/q> exit



Bruce Evans, September 1998

1.29. ¦b±Ò°Ê·sªº kernel ®É¡A¬Ý¨ì "archsw.readin.failed" ³o­Ó¿ù»~°T®§

¦b±Ò°Ê loader ¤§«e·|¬Ý¨ì "|" ³o­Ó²Å¸¹¦bÂà¡A³o®É¥i¥H«ö¥ô¦óÁ䤤Â_¡AµM «á¦A«ü©w­n¸ü¤J¨º­Ó kernel¡C¥J²Ó¨Ó»¡¡A§A¤w¸g§ó·s kernel ªº­ì©l½X¡B¤]¥Î¥¦ °µ¤F·sªº kernel¡A¦ý«o *¨S¦³­«·s make world*¡C§Ú­Ì¤£¤ä´©³o»ò°µ¡A½Ð¥ý make world¡A¦A§ó·s kernel¡C


Chapter 2. µwÅ骺¬Û®e©Ê

2.1. FreeBSD ¤ä´©­þ¨ÇµwºÐªº¤¶­±¡H
2.2. FreeBSD ¤ä´©­þ¤@¨Ç SCSI ¥d¡H
2.3. FreeBSD ¤ä´©­þ¤@¨Ç CD-ROM¡H
2.4. FreeBSD ¤ä´© ZIP ¶Ü¡H
2.5. FreeBSD ¦³¤ä´© JAZ¡BEZ ¤Î¨ä¥L¹³³o¤@Ãþ¥i¥H²¾°Êªº³]³Æ¶Ü¡H
2.6. ¦³¨º¨Ç multi-port serial ¥d³Q FreeBSD ©Ò¤ä´©¡H
2.7. §Ú¦³¤@°¦ bus mouse¡C§Ú¸Ó¦p¦ó³]©w¡H
2.8. §Ú¦p¦ó¨Ï¥Î PS/2 mouse ©Î¬O PS/2 keyboard¡H
2.9. ¬O§_¦³¥i¯à¦b X Window ¤§¥~¨Ï¥Î·Æ¹«©O¡H
2.10. ¦p¦ó¦b text console ¸Ì°Å¶K¡H
2.11. §Úªº·Æ¹«¤W¦³ºu½ü¡A¯à¤£¯à¦b FreeBSD ¤U¨Ï¥Î¡H
2.12. §Ú¯à¦b§Úªº laptop ¤W¨Ï¥Î·Æ¹«/­y¸ñ²y/touchpad ¶Ü¡H
2.13. FreeBSD ¤ä´©­þ¨Ç tape ©PÃä¡H
2.14. FreeBSD ¤ä´© tape changer ¶Ü¡H
2.15. FreeBSD ¤ä´©­þ¨Ç­µ®Ä¥d¡H
2.16. es1370 ªº­µ®Ä¥d¥Î pcm ÅX°Êµ{¦¡Å¥¤£¨ìÁn­µ¡H
2.17. FreeBSD ¤ä´©­þ¨Çºô¸ô¥d¡H
2.18. §Úªº¹q¸£¨S¦³¯BÂI¹Bºâ¾¹¡A³oÅ¥°_¨Ó¦n¹³¤£¤Ó¦n¡H
2.19. 2.X Á٤䴩­þ¨Ç³]³Æ¡H
2.20. FreeBSD ¤ä´©¹q·½ºÞ²z¨t²Î¶Ü¡H
2.21. ¦b Micron systems ªº¥D¾÷ªO¤W§Ú¨S¦³¿ìªk¶i¤J FreeBSD
2.22. §Ú¦³¤@¶ô·s¶Rªº Adaptec ¥d¡A¦ý¬O FreeBSD §ä¤£¨ì¥¦¡C
2.23. §Ú³o¦³¤@­Ó PnP ªº modem¡A¦ý¬O FreeBSD ¨S§ä¨ì«¨¡H
2.24. §Ú¸Ó¦p¦ó¦b serial console «e¬Ý¨ì boot: ³o­Ó´£¥Ü²Å¸¹¡H
2.25. ¬°¤°»ò§Úªº 3Com PCI ºô¸ô¥d¨S¦³¿ìªk¦b Micron ¥D¾÷ªO¤W¤u§@¡H
2.26. FreeBSD ¤ä´© Symmetric Multiproccessing (SMP) ¶Ü?

2.1. FreeBSD ¤ä´©­þ¨ÇµwºÐªº¤¶­±¡H

FreeBSD ¤ä´© EIDE ¤Î SCSI ¶gÃä (¦³µÛ¬Û®eªº controller¡F ½Ð°Ñ¦Ò¤U¤@¬q)¡A¥H¤Î¨Ï¥Î¡uWestern Digital¡v¤¶­±ªº¶gÃä (MEM¡B ¡BRLL¡BESDI¡A·íµM¡AIDE ¤]¦b¥]¬A¤º)¡C¦ý¤Ö¼Æ¨Ï¥Î±M¦³ªº ESDI ªº¤¶­±µLªk¹B§@¡G¹³¬O WD1002/3/6/7 ¤¶­±µ¥µ¥¡C

2.2. FreeBSD ¤ä´©­þ¤@¨Ç SCSI ¥d¡H

¦b Handbook ¸Ì¦³§¹¾ãªº¸ê®Æ¡C

2.3. FreeBSD ¤ä´©­þ¤@¨Ç CD-ROM¡H

­º¥ý¡A¥ô¦ó±µ¦b SCSI ¤¶­±¤Wªº CDROM ³£¦³³Q FreeBSD ©Ò¤ä´©¡C

¨ä¦¸¡A¤U­±©Ò¦Cªº CD-ROM ¤]³£¦³³Q¤ä´©¡G

  • Mitsumi LU002 (8bit), LU005 (16bit) ¤Î FX001D (16bit ¨â­¿³t)¡C

  • Sony CDU 31/33A

  • ±µ¦b Sound Blaster ¤W«D SCSI ¤¶­±ªº CD-ROM

  • Matsushita/Panasonic CD-ROM

  • ¬Û®e©ó ATAPI IDE ¤¶­±ªº CD-ROM



¤w¸gª¾¹D«D SCSI ªº¶gÃä³]³Æ·|¤ñ SCSI ªººC«Ü¦h¡A¥t¥~¡A¦³¤@¨Ç ATAPI CDROM (³o¤]´N¬O»¡«D SCSI ªº CDROM) ¥i¯àµLªk¹B§@¡C

¹ï¤F¡A2.2 ª©ªº FreeBSD CDROM (¥Ñ Walnut Creek ¾ã²zªº) ¤ä´©¥úºÐ¶}¾÷¡C

2.4. FreeBSD ¤ä´© ZIP ¶Ü¡H

FreeBSD ·íµM¤ä´© SCSI ZIP¡C¦ý¬O ZIP ¥u¯à°÷³Q³]©w¦b SCSI ID 5 ©Î¬O 6 ¡C¦ý¦pªG SCSI ¥d¤Wªº BIOS ¤ä´©¥¦¡A§A¬Æ¦Ü¥i¥H¥Î¥¦¨Ó¶}¾÷¡C§Ú­Ì¤£¾å±o­þ¤@ ¶ô¥d¥i¥HÅý§A§â¥dªº ID ³]¦b°£¤F 0 ©Î 1 ¥H¥~ªº¦a¤è¶}¾÷... ¬Ý¬Ý§Aªº»¡©ú¤â ¥U (ªG§A¦¨¥\ªº¸Ü¡A¤]½Ð§AÅý§Ú­Ìª¾¹D)

ATAPI (¤]´N¬O IDE ¤¶­±) ZIP ¤w¸g¦b FreeBSD 2.2.6 ¤Î¥H«áªºª©¥»³Q¤ä´©¤F¡C

FreeBSD ±q 3.0 ¶}©l¤]¤ä´© Parallel Port Zip¡C¦pªG§A¥Îªºª©¥»°÷·sªº ¸Ü¡A¥ýÀˬd kernel ³]©wÀɤ¤¬O§_¦³ scbus0¡Bda0¡B ppbus0 ©M vp0 ³o´X­ÓÅX°Êµ{¦¡¡]Generic kernel ³]©wÀÉ ¤¤°£¤F vp0 ¤§¥~³£¦³¡^¡C¥[¤F³o´X­ÓÅX°Êµ{¦¡¤§«á¡AParallel Port Zip ´N¥i ¥H·í§@ /dev/da0s4¡A¬Ý¬O¥Î mount /dev/da0s4 /mnt¡B©Î¬O¡]DOS ºÏ¤ù¡ mount_msdos /dev/da0s4 /mnt ¨ÓŪ¼g¡C

¤]¥i¥H°Ñ¦Ò¦³Ãö ¥i²¾°£³]³Æªºµù¸Ñ ¡A ¤Î ®æ¦¡¤Æªº¸ê®Æ ªº¸ê®Æ¡C

2.5. FreeBSD ¦³¤ä´© JAZ¡BEZ ¤Î¨ä¥L¹³³o¤@Ãþ¥i¥H²¾°Êªº³]³Æ¶Ü¡H

°£¤F IDE ªº EZ drive ¥~¡A¨ä¥LªºÀ³¸Ó³£¬O SCSI ¤¶­±¡C©Ò¥H§AÀ³¸Ó±N¤j³¡ ¥÷³]³Æ¬Ý¦¨ SCSI ºÏºÐ¾÷¡A§â³Ñ¤U¨º¨Çªº IDE EZ ªº³]³Æ¬Ý¦¨ IDE ³]³Æ¡C

§Ú­Ì¨Ã¤£½T©w FreeBSD ¹ï©ó§ó´« jaz ºÏ¤ù®Éªº¤ä´©«ç¼Ë ¡C¦ý§Ú­Ìª¾¹D¥²»Ý¦b©â´« jaz ºÏ¤ù«e±N³o­ÓÀɮרt²Î¥ý¨ø¤U¡C·íµM¡A§A¥²»Ý½T ©w¦b¶}¾÷®É³o¨Ç³]³Æªº¹q·½¬O¥´¶}ªº¡A¥H«KÅý FreeBSD ¥i¥H°»´ú¨ì¡C

°Ñ¦Ò®æ¦¡¤Æªº¸ê®Æ¡C

2.6. ¦³¨º¨Ç multi-port serial ¥d³Q FreeBSD ©Ò¤ä´©¡H

§A¥i¥H°Ñ¦Ò ¨ä¥L¶gÃä³]³Æ ªº²M³æ¡C

ÁöµM¦³¨Ç¥d¬O¨SµPªº¡A¦ý¤]¥i¥H¦b FreeBSD ¤U¤u§@¡A¹³¬O¸¹ºÙ¤ä´© AST ªº¥d¡C

°Ñ¦Ò sio ³o¥÷»¡©ú¤å¥ó¥i¥HÅý§A¤F¸Ñ§ó¦h¦³Ãö©ó³o¤@Ãþ¥dªº¸ê°T¡C

2.7. §Ú¦³¤@°¦ bus mouse¡C§Ú¸Ó¦p¦ó³]©w¡H

FreeBSD ¤ä´©¥Ñ Microsoft¡ALogitech ¤Î ATI ©Ò¥Í²£ªº bus mouse ¤Î InPort bus mouse¡C³o¨Ç·Æ¹«ªº driver ³£¤w¸g¤º§t¦b GENERIC ¸Ì­±¤F¡C¦pªG§A¦Û¤v¦³­«·s °µ¤@­Ó kernel¡A½Ð½T©w¦³¨S¦³§â¤U¦C³o¤@¦æ¥[¤J§Aªº kernel config file¡G

        device mse0 at isa? port 0x23c tty irq5 vector mseintr
      



¶R bus mouse ®ÉÀ³¸Ó·|§t¤@¶ô¤¶­±¥d¡C³o¶ô¥d¤¹³\§A³]©w¤£¦Pªº port address ¤Î IRQ number¡C°Ñ¦Ò§Aªº»¡©ú¤â¥U¤Î mse man page ¨Ó±o¨ì§ó¦hªº¸ê°T.

2.8. §Ú¦p¦ó¨Ï¥Î PS/2 mouse ©Î¬O PS/2 keyboard¡H

¦pªG§Aªº FreeBSD ¬O 2.2.5 ¥H¤Wªºª©¥» (§t 2.2.5)¡A¨º»ò§A»Ý­nªº driver ¤£¶È©ñ¨ì kernel ¸Ì­±¤F¡A¦Ó¥B§Aªº PS/2 ³]³ÆÀ³¸Ó¥i¥H¦b¶}¾÷®É³Q°»´ú¨ì¡C

¦pªG§A¥Îªº¬O 2.1.x ¨ì 2.2.5 (¤£§t 2.2.5) ª©ªº FreeBSD¡A§A¥i¥H¦b ¶}¾÷ªº®É­Ô¶i¤J¡ukernel configuration menu¡v¸Ì¥h±Ò°Ê¡A¤]´N¬O¦b¶}¾÷®É¥X²{ boot: ªº²Å¸¹«á¥´¤J -c¡C¦]¬°¹w³]­È¬OÃö±¼ªº¡A©Ò¥H§A¥²»Ý¦Û¤v¥h±Ò°Ê¥¦¡C

¦pªG§A¥Îªº¬O§óªºª©¥»¡A§A»Ý­n¦Û¤v½s¤@­Ó kernel¡A¦b§Aªº®Ö¤ß³]©wÀɸ̭±¥[¤J¡G

        device psm0 at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr
      



¦pªG§A¹ï©ó¦Û¤v½s¤@­Ó®Ö¤ß¨S¦³¸gÅç¡A½Ð°Ñ¦Ò ¦Û­q®Ö¤ß ³o¸ªº»¡©ú¡C

¦pªG¦b¶}¾÷®É¦³§ä¨ì psm0 «o¤£¯à¨Ï¥Î¡A½Ð½T©w¦b /dev ¤U¦³ psm0 ³o­Ó³]³ÆÀÉ¡C ¦pªG¨S¦³¡A§AÀ³¸Ó¥Î root ªº¨­¥÷¿é¤J¤U­±³o¦æ¨Ó°µ¥X¡G

        cd /dev; sh MAKEDEV psm0
      



2.9. ¬O§_¦³¥i¯à¦b X Window ¤§¥~¨Ï¥Î·Æ¹«©O¡H

¦pªG§A¥Îªº¬O default console driver¡A¤]´N¬O syscons¡A¦Ó·Q­n¥Î ·Æ¹««ü¼Ð¨Ó°Å¶K¤å¦r¡A¨º»ò´N°õ¦æ·Æ¹«ªº daemon¡A¤]´N¬O moused¡AµM«á ¥Î¤U­±³o¨â¦æ¨Ó±Ò°Ê¥¦¡G

        moused -p /dev/xxxx -t yyyy
        vidcontrol -m on
      



xxxx ªº¦a¤è¶ñ¤J mouse ªº device name¡A¦Ó yyyy ¶ñ¤J³o°¦·Æ¹«ªº protocol type¡C§A¥i¥H°Ñ¦Ò moused ³o­Ó man page ¨Ó§ä¬Ý¬Ý¦³¨º¨Ç protocol types ¥i¥H¶ñ¡C

¦pªG§A·Q­n¦b¶}¾÷®É´N°õ¦æ moused¡C¦b 2.2.1 ª©¤§«e (§t 2.2.1)¡A¨ì /etc/sysconfig ³]©w¤U­±ªº­È¡G

        mousedtype="yyyy"
        mousedport="xxxx"
        mousedflags=""
      



¦b 2.2.2 ª©¥H«á (§t 2.2.2) ¨ì /etc/rc.conf ³]©w¤U­±ªº­È¡G

        moused_type="yyyy"
        moused_port="xxxx"
        moused_flags=""
      



¥t¥~±q 2.2.6 ª©¶}©l¡Amoused ¥i¥H¦Û°Ê¨M©w protocol type¡A°£«D·Æ¹«¹ê¦b ¬O¤Ó¤F¡C¦pªG¤Óªº¸Ü¡A¦b moused_type ¶ñ¤J ``auto''¡AµM«á¬èë ¥i¥H°»´úªº¨ì¡C

·í°õ¦æ moused «á¡A·Q­n¦b¨ä¥Lµ{¦¡¸Ì¨Ï¥Î·Æ¹«»Ý­n¹³ X Window ³oÃþªºÀ³¥Î µ{¦¡¡A°Ñ¦Ò ¥t¥~³o¬q ¡C

2.10. ¦p¦ó¦b text console ¸Ì°Å¶K¡H

·í°õ¦æ moused «á¡A(°Ñ¦Ò«e¤@¸`)¡A«ö¦í¥ªÁä¡A ²¾°Ê·Æ¹«¨Ó¿ï¾Ü¤@­Ó°Ï°ì¤§«á©ñ¶}¡CµM«á¡A«ö¤U¤¤Áä©Î¥kÁä¡A´N¥i¥H¶K¤W¥h¤F¡C

¦b 2.2.6 ª©«á (§t 2.2.6)¡A«ö¤U¤¤Áä·|°õ¦æ¶K¤W³o­Ó°Ê§@¡A¦ý«ö¤U¥kÁä·|©µ¦ù ©Ò¿ï¨úªº°Ï°ì¡C¦pªG§Aªº·Æ¹«¨S¦³¤¤Áä¡A§A¥i¥H¥Î¼ÒÀÀªº¤è¦¡©Î¬O­«·s©w¸q·Æ¹««ö Á䪺¤è¦¡¨Ó¹F¦¨¡u©µ¦ù¡vªº¥\¯à¡C°Ñ¦Ò moused ³o­Ó man pages ¨Ó±o¨ì§ó¦h¬ÛÃö¸ê°T¡C

2.11. §Úªº·Æ¹«¤W¦³ºu½ü¡A¯à¤£¯à¦b FreeBSD ¤U¨Ï¥Î¡H

«Ü¤£©¯ªº¡A¦b¤j¦h¼Æªº±¡ªp¤U¤£¦æ¡C³o¨Ç±a¦³ºu½üªº·Æ¹«»Ý­n¥Î¯S ®íªºÅX°Êµ{¦¡¡C°£«D·Æ¹«¦³³Q§Aªºµ{¦¡©Î¬OÅX°Êµ{¦¡©Ò¤ä´©¡A¤£µM³o¨Ç·Æ ¹«¥u¯à°÷·í¦¨¬O´¶³qªº¨âÁä©Î¤TÁ䪺·Æ¹«¨Ï¥Î¡C

2.12. §Ú¯à¦b§Úªº laptop ¤W¨Ï¥Î·Æ¹«/­y¸ñ²y/touchpad ¶Ü¡H

°Ñ¦Ò¤W¤@¬qªºµª®×¡A¨Ã¥B°Ñ¦Ò Mobile Computing ºô­¶ªº ³o­Óµù¸Ñ¡C

2.13. FreeBSD ¤ä´©­þ¨Ç tape ©PÃä¡H

FreeBSD ¤ä´© SCSI¡AQIC-36 (QIC-02 ¤¶­±) ¤Î QIC-40/80 (Floppy ¤¶­±) tape drives¡C ¥]¬A 8-mm (aka Exabyte) ¤Î DAT drives¡C¤w¸gª¾¹D QIC-40/80 drives «ÜºC¡C

¬Y¨Ç¦­´Áªº 8-mm drives ¨Ã¤£¬Û®e©ó SCSI-2¡A¥i¯à¨S¦³¿ìªk¦b FreeBSD ¤W¹B§@¡C

2.14. FreeBSD ¤ä´© tape changer ¶Ü¡H

FreeBSD 2.2 §Q¥Î ch ³o­Ó³]³Æ¨Ó¤ä´© SCSI changers¡A§A¥i¥H°Ñ¦Ò chio ³o­Ó«ü¥O¡C ¦p¦ó±±¨î changer ªº¤èªk¥i¥H¦b chio ³o¥÷»¡©ú¤å¥ó¸Ì§ä¨ì¡C

¦pªG§A¤£¬O¥Î AMANDA ©Î ¨ä¥L¤w¸g³Qª¾¹Dªº changer¡A°O¦í¡A§A¥uª¾¹D¦p¦ó±N¤@­Ó tape ±q¨ä¤¤¤@­Ó²¾¨ì¥t¥~¤@­Ó¡A ©Ò¥H§A»Ý­n°O¦í¨º¤@­Ó tape ¦b¸Ì­±¡A¤Î²{¦b¦³¨º¤@­Ó tape »Ý­n©ñ¦^¥h¡C

2.15. FreeBSD ¤ä´©­þ¨Ç­µ®Ä¥d¡H

FreeBSD ¤ä´© SoundBlaster¡ASoundBlaster Pro¡ASoundBlaster 16¡A Pro Audio Spectrum 16¡AAdLib ¤Î Gravis UltraSound sound cards¡C ¦ý¹ï©ó MPU-401 ¤Î¨ä¬Û®e MIDI ¥dªº¤ä·½¦³­­¡C¹ï©ó¨Ï¥Î Microsoft Sound System ªº¥d¥i¥H³z¹L pcm ªºÅX°Êµ{¦¡¨Ó¨Ï¥Î¥¦¡C

NOTE ³o­ÓÅX°Êµ{¦¡¥u¾A¥Î©óÁn­µ¤è­±¡A¦Ó¥B¨Ã¤£¤ä´©¦b³o¨Ç ¥d¤Wªº CD-ROM¡ASCSI ©Î joysticks¡C¦ý¤]¦³¨Ç¨Ò¥~¡A¹³¬O SoundBlaster¡B SoundBlaster SCSI ¤¶­±¤Î¬Y¨Ç«D SCSI CDROMS ¦³³Q¤ä´©¡A¦ý§AµLªk¨Ï¥Î³o ¨Ç³]³Æ¶}¾÷¡C

2.16. es1370 ªº­µ®Ä¥d¥Î pcm ÅX°Êµ{¦¡Å¥¤£¨ìÁn­µ¡H

±z¥i¥H¦b¨C¦¸¶}¾÷®É°õ¦æ³o­Ó©R¥O¡G

mixer pcm 100 vol 100 cd 100

2.17. FreeBSD ¤ä´©­þ¨Çºô¸ô¥d¡H

°Ñ¦Ò¤A¤Óºô¸ô¥d ¡A¸Ì­±¦³§¹¾ãªº²M³æ¡C

2.18. §Úªº¹q¸£¨S¦³¯BÂI¹Bºâ¾¹¡A³oÅ¥°_¨Ó¦n¹³¤£¤Ó¦n¡H

Note ³o¥u·|¼vÅT¨ì¥Î 386/486SX/486SLC ªº¤H - ¨Ï¥Î¨ä¥Lªº CPU ³£ ¤w¸g¤º§t¯BÂI¹Bºâ¾¹¤F¡C

¤@¯ë¨Ó»¡³o¤£·|³y¦¨¥ô¦ó°ÝÃD¡A¦ý·í§A­n¥Îªº®É­Ô¡AµL½×¦b®Ä²v¤W»Pºë±K«×¤W¡A ¼ÒÀÀ¯BÂI¹Bºâªºµ{¦¡½X¤£¯à­ÝÅU (°Ñ¦Ò¯BÂI¹Bºâ¼ÒÀÀ¾¹)¡C ¤×¨ä¬O¦b X ¤U­±µe©·§Î®É·|«ÜºC¡C©Ò¥H¡A§Ú­ÌÁÙ¬O·|«ØÄ³¶R¤@Áû¯BÂI¹Bºâ¾¹¡C

NOTE ¦³¨Ç¼Æ¾Ç¹Bºâ¾¹¤ñ¨ä¥Lªº¦n¡C¦ý¬O¨S¦³¤H±j­¢§A¶R Intel ªº¡C °£«D§A½T©w§A¶Rªº¥i¥H¦b FreeBSD ¤W¥¿½Tªº¤u§@¡C

2.19. 2.X Á٤䴩­þ¨Ç³]³Æ¡H

½Ð¦h¦h°Ñ¦Ò Handbook ¡A¸Ì­±¦³¦C¥X¡C

2.20. FreeBSD ¤ä´©¹q·½ºÞ²z¨t²Î¶Ü¡H

FreeBSD ¤ä´©¬Y¨Ç¾÷¾¹¤Wªº APM¡C½Ð°Ñ¦Ò LINT ³o­Ó kernel ³]©wÀÉ¡A ¨Ã§ä¬Ý¬Ý APM ³o­ÓÃöÁä¦r¡C

2.21. ¦b Micron systems ªº¥D¾÷ªO¤W§Ú¨S¦³¿ìªk¶i¤J FreeBSD

Micron ªº¬Y¨Ç¥D¾÷ªO¨S¦³¿í¦u PCI BIOS ªº³W©w¡A¦Ó¾É¦Ü©ó·í¶i¤J FreeBSD ®É±¾±¼¡C¦]¬°³o¨Ç PCI ªº³]³Æ¨S¦³¦b¶}¾÷®É¦V¥D¾÷ªO³ø§i¥Lªºªº¦ì¸m¡C

¶i¤J BIOS «á¡A±N¡uPlug and Play Operating System¡v³o¶µµ¹ disable ±¼ ¥i¥H¼È®É¸Ñ¨M³o­Ó°ÝÃD¡C¦pªG§A·Q±o¨ì§ó¦h¦³Ãö Micron ªº°T®§¡A¥i¥H°Ñ¦Ò http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron

2.22. §Ú¦³¤@¶ô·s¶Rªº Adaptec ¥d¡A¦ý¬O FreeBSD §ä¤£¨ì¥¦¡C

Adaptec ·sªº AIC789x ¨t¦C´¹¤ù²Õ¦b­è¥XÄlªº CAM SCSI Àô¹Ò¤U¥i¥H¨Ï¥Î¡C 2.2-STABLE »Ý­n patches¡A¦b ftp://ftp.FreeBSD.org/pub/FreeBSD/development/cam/¡CA CAM-enhanced ¶}¾÷ºÏ¤ù¦b http://www.FreeBSD.org/~abial/cam-boot/¡CµL½×§A¬O¥Î¨º¤@­Ó¡A½Ð¥ý°Ñ¦Ò README

2.23. §Ú³o¦³¤@­Ó PnP ªº modem¡A¦ý¬O FreeBSD ¨S§ä¨ì«¨¡H

§A»Ý­n§â modem ªº PnP ID ¥[¨ì serial ÅX°Êµ{¦¡ªº PnP ID ªí¸Ì¡AµM«á±N PnP ªº¥\¯àµ¹¥´¶}¡C¦b§Aªº®Ö¤ß³]©wÀɸ̥[¤J controller pnp0 «á¦A­«·s ½sͤ@­Ó kernel¡AµM«á­«·s±Ò°Ê§Aªº¨t²Î¡C®Ö¤ß·|¦C¥X¥¦©Ò§ä¨ìªº©Ò¦³³]³Æªº PnP ID¡C½Ð±N³o¨Ç modem ªº PnP ID ½Æ»s¨ì /sys/i386/isa/sio.c¡A ¤j¬ù 2777 ¦æªº¦a¤è¡C§A¥i¥H§ä "SUP1310" ³o­Ó¦r¦ê¨ÓÀ°§U§A§ä¨ì ¡¨siopnp_ids[]¡¨³o­Óªí¡C­«·s½sͤ@­Ó kernel ¤§«á­«·s¶}¾÷¡A§Aªº modem À³¸Ó·|³Q§ä¨ì¤F¡C

¦b¶}¾÷®É¥²¶·¤â°Ê¿é¤JÃþ¦ü¤U­±ªº¦r¦ê¡A¨Ï±o kernel ¥i¥H¬Ý¨ì§Aªº modem¡G

   pnp 1 0 enable os irq0 3 drq0 0 port0 0x2f8
   



2.24. §Ú¸Ó¦p¦ó¦b serial console «e¬Ý¨ì boot: ³o­Ó´£¥Ü²Å¸¹¡H

  1. ¦b§Aªº®Ö¤ßÀɸ̭±¥[¤J¤@¦æ options COMCONSOLE¡AµM«á­«·s½sͧAªº®Ö¤ß¡A

  2. µM«á¨ì /boot.config ¸Ì¼g¤J -P ³o¨â­Ó¦r¡C

  3. Unplug the keyboard from the system.



°Ñ¦Ò /usr/src/sys/i386/boot/biosboot/README.serial ¨Ó¤F¸Ñ§ó¦hªº¸ê°T¡C

2.25. ¬°¤°»ò§Úªº 3Com PCI ºô¸ô¥d¨S¦³¿ìªk¦b Micron ¥D¾÷ªO¤W¤u§@¡H

¬Y¨Ç Micron ¥D¾÷ªO¨S¦³¿í¦u PCI BIOS ªº³W©w¦Ó¨Ï±o PCI ªº¶gÃä³]³Æ¨S¦³¦^³ø ¥L­Ìªº¦ì¸m¡C³o¨Ï±o¦b¶i¤J FreeBSD ®É·|±¾±¼¡C

¦pªG­n¼È®É¸Ñ¨M³o­Ó°ÝÃD¡A½Ð¦b BIOS ¸Ì disable¡uPlug and Play Operating System¡v

¦³Ãö Micron §ó¦hªº°T®§¥i¥H°Ñ¦Ò¡G http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron

2.26. FreeBSD ¤ä´© Symmetric Multiproccessing (SMP) ¶Ü?

SMP ¥u¦b 3.0-STABLE ¤Î¨ä¤§«áªºµo¦æª©¥»¤¤³Q¤ä´©.


Chapter 3. ±`¨£°ÝÃD¸Ñ¨M

3.1. §ÚªºµwºÐ¦³Ãa­y!
3.2. FreeBSD §ì¤£¨ì§Úªº Bustek 742a EISA SCSI ¥d!
3.3. FreeBSD §ì¤£¨ì§Úªº HP Netserver ªº SCSI ±±¨î¥d¡I
3.4. CMD640 IDE ±±¨î´¹¤ù¥X¤F¤°»ò°ÝÃD?
3.5. §Ú¤@ª½¬Ý¨ìÃþ¦ü ``ed1: timeout'' ªº°T®§
3.6. ¦b§Ú·Q­n±¾¤W CDROM ®É¡A¥X²{``Incorrect super block''ªº°T®§
3.7. ·í§Ú·Q±¾¤W CDROM ®É¡A¥X²{¤F ``Device not configured'' ªº¿ù»~°T®§
3.8. §Úªº¦Lªí³t«×¯}¤Ñ¯îªººC¡C§Ú¸Ó«ç»ò°µ¡H
3.9. §Úªºµ{¦¡¦³®É·|¦] ``Signal 11'' ³o­Ó¿ù»~¦Ó°±¤î
3.10. ·í§Ú¶}¾÷®É¡A¿Ã¹õÅܶ¡A¥B¤£°±°{°Ê¡I
3.11. §Ú¦³ 128 MB ªº RAM¡A¦ý¬O¨t²Î¥u¥Î¨ä¤¤ªº 64MB
3.12. FreeBSD 2.0 ¦]¬° ``kmem_map too small!'' ¦Óµo¥Í panic¡I
3.13. ¥Î·s kernel ¶}¾÷®É¡A¥X²{ ``CMAP busy panic'' ³o­Ó¿ù»~°T®§
3.14. ahc0: brkadrint¡A Illegal Host Access at seqaddr 0x0
3.15. Sendmail ¤@ª½©ê«è ``mail loops back to myself''
3.16. ¦b»·ºÝ¾÷¾¹(remote machine)°õ¦æ¥þ¿Ã¹õªº³nÅé®É¡A¦³¤£¥¿±`ªº±¡§Î¡I
3.17. §Úªº¾÷¾¹¤@ª½Åã¥Ü "calcru: negative time..."

3.1. §ÚªºµwºÐ¦³Ãa­y!

­Y¬O SCSI µwºÐªº¸Ü¡AÀ³¸Ó¦³¯à¤O¦Û°Ê§@ re-mapping ªº°Ê§@¡C µM¦Ó¡A¦]¬°¤@¨Ç¯«¯µªº¦]¯À¡A¦b¥X¼t®É¡A«Ü¦hµwºÐªº³o¶µ¥\¯à¬OÃö³¬ªº.

­n±N¨ä­«·s¶}±Ò¡A±z»Ý­n½s¿è¸Ë¸mªº²Ä¤@­Ó page ¼Ò¦¡ ¡]first device page mode¡^¡A¦b FreeBSD ¤W¥i¥H¥Î¤U­±ªº«ü¥O¿ì¨ì ¡]¥H root ¨­¤À°õ¦æ¡

        scsi -f /dev/rsd0c -m 1 -e -P 3
      



µM«á±N AWRE ©M ARRE ªº¼Æ­È±q 0 Åܦ¨ 1:-

        AWRE (Auto Write Reallocation Enbld):  1
        ARRE (Auto Read Reallocation Enbld):  1
      



¤W­±³o¬q¬O¥Ñ Ted Mittelstaedt ©Ò´£¨Ñ¡G

­Y¬° IDE µwºÐ¡A¥ô¦óªºÃa­y³q±`³£¬O³Â·Ðªº¹w¥ü¡C¥Ø«e©Ò¦³¸û·sªº IDE µw ºÐ¡A¤º³¡³£¦³¦Û°Ê remapping Ãa­yªº¯à¤O¡C¥Ø«e©Ò¦³ IDE µwºÐ»s³y°Ó¡A³£´£¨Ñ ¤F§ó¤[ªº«OÃÒ¡A¦Ó¥B·|À°±z§ó´«¥X²{Ãa­yªºµwºÐ¡C

¦pªG±z¤´·Q­n­×´_²£¥ÍÃa­yªº IDE µwºÐ¡A±z¤´¥i¥H¸ÕµÛ¥h¤U¸ü IDE µwºÐ»s³y °Ó©Ò´£¨ÑªºÀË´úµ{¦¡¡A¨Ã¥Î¥¦¨ÓÀˬd±zªºµwºÐ¡C¦³®É³o¨Ç³nÅé¥i¥H±j­¢µwºÐ¹q¸ô ­«·sÀˬdµwºÐªºÃa­y¡A¨Ã±N¥¦­Ì¼Ð¥Ü¥X¨Ó.

¹ï ESDI¡ARLL ¤Î MFM ªºµwºÐ¨Ó»¡¡A³q±`Ãa­y¬O¥¿±`²{¶H¡A¤]¤£¬O¤°»ò³Â·Ðªº «e¥ü¡C¦b PC ¤W¡AºÏºÐ±±¨î¥d©M BIOS ­t³d¼Ð¥ÜÃa­yªº¥ô°È¡C³o¹ï¤@¨Ç¨Ï¥Î BIOS ¨Ó¦s¨úºÏºÐªº§@·~Àô¹Ò(¦p DOS)¬O¨S¦³°ÝÃDªº¡CµM¦Ó¡AFreeBSD ªººÏºÐÅX°Êµ{¦¡ ¨Ã¤£¸g¹L BIOS ¨Ó¦s¨úºÏºÐ¡A©Ò¥H¡A¦³­Ó bad144 ªº¾÷¨î¥Î¨Ó¨ú¥N³o¶µ¥\¯à¡C bad144 ¥u¯à¥Î¦b wd ³o­ÓºÏºÐÅX°Êµ{¦¡¤W¡A¥¦µLªk¥Î¦b SCSI µwºÐ¤W¡Cbad144 ªº¤u§@¤èªk¬O±N©Ò¦³§ä¨ìªºÃa­y¸ê®Æ¦s¨ì¤@­Ó¯S§OªºÀÉ®×ùØ¡C

¨Ï¥Î bad144 ªºÄµ§i - ¦sµÛÃa­y¸ê®Æªº¯S§OÀɮ׬O©ñ¦bµwºÐªº³Ì«á¤@­y ¤W¡C¦]¬°³o­ÓÀÉ®×Àx¦sªºÃa­y¸ê®Æ¤¤¡A¦³¥i¯à¦³¨Ç¸ê®Æ¬O«ü¦VµwºÐ³Ì«eºÝ©Òµo¥Í ªºÃa­y±¡§Î¡A´N¬O¥i¯àÀx¦s /kernel ³o­ÓÀɪº¦a¤è¡A©Ò¥H¥¦¤@©w­n¯à³Q¶}¾÷µ{¦¡ ©ÒŪ¨ú¡A¦Ó¶}¾÷µ{¦¡¬O³z¹L BIOS ¨ÓŪ¨ú kernel ÀÉ¡C³oªí¥Ü¤F¨Ï¥Î bad144 ªº µwºÐµ´¤£¯à¾Ö¦³¶W¹L 1024 ­Ó cylinder¡A16 ­Ó head ¤Î 63 ­Ó sector¡C ³o³y¦¨¤F¨Ï¥Î bad144 ªºµwºÐªº¤j¤p¤£¯à¤j©ó 500 MB¡C

­n¨Ï¥Î bad144 «Ü²³æ¡A¥u­n¦b¶}©l¦w¸Ë®É¡A¦b FreeBSD fdisk µe­±§â "Bad Block" ±½ºË³]¬° ON §Y¥i¡C¦b FreeBSD 2.2.7 ¥H«á³£¥i¥H¨Ï¥Î¦¹¤èªk¡C ¦ý³o­ÓµwºÐªº cylinder ¤@©w­n¦b 1024 ¥H¤U¡C¨Ï¥Î«e¡A§Ú­Ì«ØÄ³³o­ÓµwºÐ­n ¦Ü¤Ö¥ý¨Ï¥Î¥|­Ó¤p®É¡A¥H«K¼ö¿±µÈ»PºÏ­y°¾²¾¹F¤@¯ëª¬ºA¡C

¦pªG³o­ÓµwºÐ¾Ö¦³¶W¹L 1024 ­Ó cylinder (¹³¤j®e¶qªº ESDI µwºÐ)¡A ESDI ±±¨î¥d§Q¥Î¤@­Ó¯S§OªºÂà´«¼Ò¦¡¨Ï¥¦¯à¦b DOS ¤U¤u§@¡C ¦Ó¦pªG±z¦b fdisk ùتº "set geometry" ¤¤¿é¤J "Âà´«¹L" ªº geometry¡Awd ³o ­ÓÅX°Êµ{¦¡¯à¤F¸Ñ³o¨ÇÂà´«¼Ò¦¡¡C±z¤]µ´¹ï¤£¯à¨Ï¥Î dangerously dedicated ¼Ò ¦¡¨Ó«Ø¥ß FreeBSD ªº¤À³Î°Ï¡A¦]¬°¥¦·|©¿²¤ geometry ³o­Ó°Ñ¼Æ¡C ¦¹¥~¡A´Nºâ fdisk ¨Ï¥Î±z©Ò¿é¤Jªº geometry °Ñ¼Æ¡A¥¦¨ÌµM·|¥hŪ¨ú³oµwºÐªº ¯u¥¿¸ê®Æ¡A¦Ó·|¹Á¸Õ¥h«Ø¥ß¤@­Ó¹L¤jªº FreeBSD ¤À³Î°Ï¡C¦pªGºÏºÐªº geometry ¤w¸g³Q "Âà´«" ¹L¤F¡A¨º»ò³o­Ó¤À³Î°Ï "¥²¶·" ¥H¤â°Ê¿é¤J block ¼Æ¥Øªº¤èªk¨Ó «Ø¥ß¡C

¤@­Ó§Ö³tªº¤p§Þ¥©¬O§Q¥Î ESDI ±±¨î¥d¨Ó³]©w¤j®e¶qªº ESDI µwºÐ¡A¥Î DOS ¶} ¾÷¤ù¶}¾÷¡A¦A±N¥¦ format ¬° DOS ªº¤À³Î°Ï¡CµM«á­«¶}¾÷¶i¤J FreeBSD ¦w¸Ëµ{§Ç ¡A¦b fdisk µe­±¡A§âDOS ¤À³Î°Ïªº blocksize ©M block number §Û¤U¨Ó¡CµM«á­« ·s³]©w geometry ¨Ï¨ä¸ò DOS ¨Ï¥Îªº¤@¼Ë¡C§R°£ DOS ¤À³Î°Ï¡AµM«á¨Ï¥Î±z­è­è§Û ¤Uªº blocksize ¨Ó«Ø¥ß¤@­Ó cooperative FreeBSD ¤À³Î°Ï¡CµM«á³]©w³o­Ó¤À³Î°Ï ¬°¥i¶}¾÷¡A¦A¥´¶}Ãa­y±½ºË¡C¦b¯u¥¿ªº¦w¸Ë¹Lµ{¤¤¡Abad144 ·|¦b¥ô¦óÀɮרt²Î³Q «Ø¥ß«e¥ý³Q°õ¦æ¡C(±z¥i¥H«ö Alt-F2 ¨ÓºÊ¬Ý³o¤@¤Á)¦pªG¦b«Ø¥ßÃa­y¸ê®ÆÀɮɵo¥Í ¤F°ÝÃD¡A±z·|»Ý­n³]©w¤@­Ó¸û¤jªººÏºÐ geometry - ³oªí¥Ü±z»Ý­n­«¶}¾÷¡AµM«á¥þ ³¡¦A­«·s¶}©l (¥]¬A­«·s¤À³Î¥H¤Î¦b DOS ¤U­«·s format)¡C

¦pªG remapping ªº¥\¯à¤w¸g±Ò°Ê¤F¡A¦Ó±z¨ÌµM¤@ª½¬Ý¨ìÃa­y²£¥Í¡A¨º»ò¦Ò¼{ ´«¤@¥xµwºÐ§a¡CÃa­yªº±¡§Î¥u·|ÀH®É¶¡¼W¥[¦Ó§ó¬°ÄY­«¡C

3.2. FreeBSD §ì¤£¨ì§Úªº Bustek 742a EISA SCSI ¥d!

¤U­±ªº¸ê°T¬Oµ¹ 742a ³o±i¥d¥Îªº¡A¦ý¬O¨ä¥L Buslogic ªº¥d©Î³\¤]¥i¥H ¾A¥Î¡C (Bustek ´N¬O Buslogic)

742a ³o±i¥d¦³¨â­Ó¥D­nªº¡uª©¥»¡v¡C¤@­Ó¬Oª©¥» A-G¡A¥t¤@­Ó¬Oª©¥» H ¤Î¨ä¥H«á¡Cª©¥»¸ê°T¥i¥H±q¤¶­±¥dÃä½tªº¬y¤ô¸¹³Ì«á­±±oª¾¡C742a ³o±i ¥d¦³¨â­Ó°ßŪ´¹¤ù¦b¥¦¤W­±¡A¤@­Ó¬O BIOS ´¹¤ù¡A¦Ó¥t¤@­Ó¬O¶´Åé´¹¤ù¡C FreeBSD ¨Ã¤£¦b¥G±z¥d¤Wªº BIOS ª©¥»¡A¦ý¬O¶´Å骺ª©¥»´N«Ü­«­n¤F¡C¦pªG §A¥´¹q¸Üµ¹¥L­Ì§Þ³N¤ä´©±M½uªº¸Ü¡A¥L­Ì·|±Hµ¹±z³Ì·sªºª©¥»¨Ñ±z¤É¯Å¡C BIOS ©M¶´Åé´¹¤ù¬O¤@°_°e¨Óªº¡C ±z»Ý­n±N¥d¤W BIOS ©M¶´Å骩¥»¡A¨Ì±z¥d ª©¥»ªº¤£¦P¡A¤É¯Å¨ì³Ì·sªº¤@ª©¡C

ª©¥» A-G ªº¥d³Ì°ª¥u¯à±N BIOS/¶´Åé ¤É¯Å¨ì 2.41/2.21 ª©¡A¦Óª©¥» H «á¡A¥Ø«e BIOS/¶´Å骺³Ì·sª©¥»¬O 4.70/3.37¡C³o¨â­Ó¶´Å骩¥»¶¡ªº®t²§¦b ©ó¡A3.37 ³oª©¤ä´© ``round robin''

Buslogic ªº¥d¤W­±¤]³£¦³§Ç¸¹¡C¦pªG±z¥dªºª©¥»¸û¡A±z¥i¥H¸ÕµÛ¥´¹q ¸Üµ¹ Buslogic ªºRMA ³¡ªù¡AµM«áµ¹¥L­Ì±zªº§Ç¸¹¡A¬Ý¯à¤£¯à¸ò¥L­Ì¥æ´«¤@ ±i¸û·sª©¥»ªº¥d¡C¦pªG¨º±i¥d°÷ªº¸Ü¡A¥L­Ì·|´«µ¹§A¡C

FreeBSD 2.1 ¥u¤ä´©¶´Åé 2.21 ª©¥H«áªºª©¥»¡C¦pªG±z¶´Å骩¥»¤ñ³o­ÓÁ٠ªº¸Ü¡A¨º»ò±zªº¥d´N¤£¯à³Q¿ëÃÑ¥X¬O Buslogic ªº¥d¡C¥¦¦³¥i¯à·|³Q¿ëÃѦ¨ Adaptec 1540¡C¸û¦­ªº Buslogic ¥d¤Wªº¶´Å馳¤@­Ó AHA1540``¼ÒÀÀ''¼Ò¦¡¡A ³o¹ï¤@±i EISA ¥d¨Ó»¡¨Ã¤£¬O¥ó¦n¨Æ¡C

¦pªG±z¦³¤@±i¸ûª©¥»ªº¥d¡A¦Ó±z¨ú±o 2.21 ª©¶´Å骺¸Ü¡A±z»Ý­nÀˬd¤@¤U jumper W1 ªº¦ì¸m¡A±N¥¦½Õ¦Ü B-C¡A­ì©l³]©w¬O A-B¡C

742a EISA ¥d¨S¦³¦b ¦b¾Ö¦³ >16 MB °O¾ÐÅ骺¾÷¾¹¤W ³o¬q¤¤©Ò´£¹Lªº ``>16MB'' °ÝÃD¡C³o­Ó°ÝÃD¥u·|µo¥Í¦b Vesa-Local ¶×¬y±Æªº Buslogic SCSI ¥d¤W¡C

3.3. FreeBSD §ì¤£¨ì§Úªº HP Netserver ªº SCSI ±±¨î¥d¡I

°ò¥»¤W³o­Ó¬O¤@­Ó¤wª¾ªº°ÝÃD¡C¦b HP Netserver ¾÷¾¹¤Wªº on-board EISA ¤¶­± SCSI ±±¨î¥d¥e¾Ú¤F©w§}¬°²Ä 11 ªº EISA ¼Ñ¡A¦]¦¹©Ò¦³ªº ``¯u¹ê'' EISA ¼Ñ³£¦b¥¦¤§«e¡C¥i¬O¡A¦b EISA ©w§}ªÅ¶¡ >= 10 ®É¡A·|»P«ü©wµ¹ PCI ¥Îªº©w§}ªÅ¶¡¬Û½Ä¬ð¡A¥B FreeBSD ªº auto-configuration µLªk¥¿½Tªº³B²z ³o­Ó±¡§Î¡C

¦]¦¹¡A²{¦b§A¯à°µªº³Ì¦n¨Æ±¡´N¬O¦b kernel ùس]©w EISA_SLOTS ³o­Ó¿ï¶µ¬° 12 ¡AµM«á·í§@¨S¦³³o­Ó°ÝÃD :)¡C ½Ð¨Ì·Ó Handbook ¤¤¦³Ãö kernel ªº³]©w ùةһ¡ªº¤èªk¨Ó ³]©w»P½sͱzªº kernel

·íµM¡A¦b¦w¸Ë¨ì³oºØ¾÷¾¹¤W®É¡A³o¬O¤@­ÓÂû¥Í³J³J¥ÍÂûªº°ÝÃD¡C ¬°¤F¸Ñ¨M³o­Ó°ÝÃD¡A¦b UserConfig ¤¤¦³¤@­Ó¯S§Oªº¤èªk¡A ¦w¸Ë®É¤£­n¶i¤J ``visual'' ¤¶­±¡A¬Û¤Ïªº¡A¦b©R¥O¦C¼Ò¦¡¤¤¡AÁä¤J

        eisa 12
        quit
      



µM«á´N¦p¥H©¹¤@¼Ë¦w¸Ë±zªº¨t²Î¡CÁöµM§Ú­Ì«ØÄ³±z½sĶ»P¦w¸Ë¤@­Ó ÄÝ©ó¦Û¤vªº kernel¡A¦ý

dset ²{¦b¤]¤w¸g¤F¸Ñ³o­Ó°Ñ¼Æ¡A¥B·|Àx¦s¥¦¡C

§Æ±æ¡A¦b¥¼¨Óªºª©¥»¤¤¯à¹ï³o­Ó°ÝÃD¦³¤@­Ó¦nªº¸Ñ¨M¤èªk¡C

ª`·N: ±zµLªk¦b HP Netserver ¤W¨Ï¥Î dangerously dedicated ºÏºÐ¼Ò¦¡¡C±z¥i¥H°Ñ¦Ò ³o¥÷µù¸Ñ¥HÀò±o§ó¦h¸ê°T¡C

3.4. CMD640 IDE ±±¨î´¹¤ù¥X¤F¤°»ò°ÝÃD?

¥¦ªº°ÝÃD¦b©óµLªk¦P®É³B²z¨â­Ó channel ªº«ü¥O¡C

²{¦b¤w¸g¦³­Ó¸Ñ¨M¤èªk¤F¡A¥B·|¦Û°Ê¦b±z¨Ï¥Î³o¶ô´¹¤ù®É±Ò°Ê¡C ¦pªG»Ý­n§ó¸ÔºÉªº¸ÑÄÀ¡A½Ð¬d¾\¦³ÃöºÏºÐÅX°Êµ{¦¡ªº»¡©ú(man 4 wd)

¦pªG±z¥Ø«e¬O¨Ï¥Î CMD640 IDE ±±¨î´¹¤ù¡A¥[¤W FreeBSD 2.2.1 ©Î 2.2.2¡A¦Ó¥B±z¤S·Q­n¨Ï¥Î¨ì²Ä¤G­Ó channel ®É¡A½Ð¦b±zªº kernel ³] ©w¤¤¥[¤J options "CMD640" µM«á­«·s½sͤ@­Ó·sªº kernel¡C ³o­Ó option ¦b 2.2.5 ª©¥H«á¬O¤º©w±Ò°Êªº¡C

3.5. §Ú¤@ª½¬Ý¨ìÃþ¦ü ``ed1: timeout'' ªº°T®§

³o­Ó³q±`¬O¥Ñ©ó¤¤Â_½Ä¬ð(interrupt conflict)©Ò³y¦¨ªº (¨Ò¦p¡A¨â¶ô¥d ¨Ï¥Î¨ì¤F¬Û¦Pªº IRQ)¡C FreeBSD ¦b 2.0.5 ª©¥H«e³£®e³\³o­Ó±¡§Î¡A ´Nºâ¦³ IRQ ½Ä¬ð±¡§Î¡Aºô¸ô¥d¤]À³¸Ó¤´¥i¥¿±`¹B§@¡C µM¦Ó¡A¦b 2.0.5 ª©¤Î¨ä¥H«á¡A¤w¤£¦A®e³\¦³ IRQ ½Ä¬ðªº±¡§Î¤F¡C ½Ð©ó¶}¾÷®É¨Ï¥Î -c ³o­Ó¿ï¶µ¡AµM«á§ó§ï ed0/de0/..¡Cµ¥ªº³]©w¡A¨Ï¨ä ©M±zºô¸ô¥d¥»¨­ªº³]©w¤@­P¡C

¦pªG±z¬O¨Ï¥Î±zºô¸ô¥d¤Wªº BNC ±µÀY¡A±z©Î³\¤]·|¦]¤£¨}ªº²×ºÝ¹qªý³]©w¡A ¦Óµo¥Í¸Ë¸m (device) timeout ªº±¡§Î¡C­nÀˬd¬O§_¦³³oºØ±¡§Î¡A±z¥i¥H¦b ºô¸ô¥d¤Wª½±µ±µ¤W²×ºÝ¹qªý (¤£­n±µºô¸ô½u)¡AµM«á¬Ý¬Ý³o­Ó¿ù»~°T®§¬O¤£¬O ´N®ø¥¢¤F¡C

¦³¨Ç NE2000 ªº¬Û®e¥d¡A¦pªG¥¦ªº UTP °ð¨S¦³±µºô¸ô½u¡A©Î¬O¸Óºô¸ô½u¨Ã ¨S³Q¨Ï¥Îªº¸Ü¡A¤]·|¥X²{³o­Ó¿ù»~°T®§¡C

3.6. ¦b§Ú·Q­n±¾¤W CDROM ®É¡A¥X²{``Incorrect super block''ªº°T®§

±z¥²¶·§i¶D mount ±z·Q±¾¤Wªº device ªºÀɮ׮榡¡C¦b­ì©l³]©wùØ¡A mount ·|°²³]±zªºÀɮ׮榡¬° ``ufs''¡C¦pªG±z·Q­n±¾¤W CD-ROM ùتºÀɮסA ±z»Ý­n¦b mount ®É«ü©w ``-t cd9660'' ³o­Ó¿ï¶µ¡C·íµM¡A³o¬O°²³]¥úºÐ¤ù¬O¨Ï¥Î ISO 9660 ªºÀɮרt²Î (µ´¤j¦h¼Æ¥úºÐ¤ù¬Ò¬O¥Î³o®MÀɮרt²Î) ¥B¦b 1.1 ª©¥H«á¡AFreeBSD ¤w¸g¯à¬Ý±oÀ´ Rock Ridge (ªøÀɦW) ³o­Ó©µ¦ù®æ¦¡¡C

Á|¨Ò¨Ó»¡¡A¦pªG±z·Q±N ``/dev/cd0c'' ³o­Ó CDROM ¸Ë¸m (device) ±¾¦b /mnt ¤U¡A±z»Ý­n°õ¦æ:

        mount -t cd9660 /dev/cd0c /mnt
      



­nª`·Nªº¬O¡A±zªº¸Ë¸m¦WºÙ¥i¯à·|¤£¤@¼Ë (¦b¦¹½d¨Ò¤¤¬O ``/dev/cd0c''¡A¥¦¬O®Ú¾Ú±zªº CDROM ¤¶­±¦Ó©wªº¡C ¥t¥~­nª`·Nªº¡A``-t cd9660'' ³o­Ó¿ï¶µ¥u¬O©I¥s ``mount_cd9660'' ³o­Ó«ü¥O¡A©Ò¥H¤W­±³o­Ó½d¨Ò ¤]¥i¥HÁYµu¬°:

        mount_cd9660 /dev/cd0c /mnt
      



3.7. ·í§Ú·Q±¾¤W CDROM ®É¡A¥X²{¤F ``Device not configured'' ªº¿ù»~°T®§

³o³q±`¬Oªí¥Ü±zªº CD-ROM ùØ­±¨S¦³¥úºÐ¤ù¡A©ÎªÌ¬O³o¥x¾÷¾¹µLªk³Q ¶×¬y±Æ (bus) §ì¨ì¡C©ñ¤ù¥úºÐ¤ù¦b¥úºÐ¾÷ùØ¡A¦pªG¥¦¬O IDE (ATAPI) ªº ¥úºÐ¾÷ªº¸Ü¡AÀˬd¤@¤U¥¦ªº master/slave ª¬ºA¡C¥úºÐ¾÷³q±`»Ý­n´X¬íÄÁ ªº®É¶¡¤~¯à³Æ§´ (ready)¡A©Ò¥H½Ð­@¤ßµ¥­Ô¡C

¦³®É³o¬Oµo¥Í¦b SCSI CD-ROM ¤W¡A¦]¬°¥¦¦b¶×¬y±Æ­«¸m (bus reset) ®É¨Ó¤£¤Î¦^À³¡A©Ò¥H®ø¥¢¤F¡C¦pªG±z¾Ö¦³ªº¬O SCSI CD-ROM¡A½Ð¹Á¸Õ¦b kernel ³]©wÀɤ¤¥[¤J¥H¤Uªº³]©w¡AµM«á­«·s½sĶ¡C

        options "SCSI_DELAY=15"
      



3.8. §Úªº¦Lªí³t«×¯}¤Ñ¯îªººC¡C§Ú¸Ó«ç»ò°µ¡H

¦pªG¬O¥­¦æ°ð¡A¥B°ß¤@ªº°ÝÃD´N¬O³t«×«ÜºCªº¸Ü¡A¸ÕµÛ³]©w±zªº ¦Lªí¾÷°ð¬° ``polled'' ¼Ò¦¡:

        lptcontrol -p
      



¦³¨Ç·sªº HP ¦Lªí¾÷¦ü¥GµLªk¦b interrupt ¼Ò¦¡¤¤¥¿±`¤u§@¡A «Ü©úÅ㪺¬O¦]¬°¤@¨Ç®É¯ß°ÝÃD (¦ýÁÙ¤£¬O«ÜÁA¸Ñ¬°¤°»ò·|¦p¦¹)

3.9. §Úªºµ{¦¡¦³®É·|¦] ``Signal 11'' ³o­Ó¿ù»~¦Ó°±¤î

³o­Ó³q±`¬O¦]¬°¦³°ÝÃDªºµwÅé (°O¾ÐÅé¡A¥D¾÷ªOµ¥µ¥) ©Ò³y¦¨ªº. ¸Õ¸Õ¦b±zªº PC ¤W¶]­Ó°O¾ÐÅé´ú¸Õµ{¦¡¬Ý¬Ý¡Cª`·N¡A´Nºâ±z¸Õ¹Lªº¨C¤@ºØ°O ¾ÐÅé´ú¸Õµ{¦¡³£¦^³ø»¡±zªº°O¾ÐÅé¨S¦³°ÝÃD¡A¦ý¬O¡A¦³¤@¨Ç§C«~½èªº°O¾ÐÅé¡A ÁöµM¯à³q¹L°O¾ÐÅé´ú¸Õ¡A¤£¹L¦b¯u¥¿¤u§@®É«o·|¥X°ÝÃD (¨Ò¦p±q Adaptec 1542 µ¥µ¥ SCSI ±±¨î¥d°µ bus mastering DMA¡B¦b½s¿è kernel ®É¡B ©Î¬O¨t²Îªº­t¸ü«Ü°ª®É)

SIG11 FAQ (¦ì§}¦b¤U­±) «ü¥X°O¾ÐÅ骺³t«×¤£°÷§Ö³q±`¬O³o­Ó°ÝÃDªº­ì¦]¡C ¸ÕµÛ¦b±zªº BIOS ³]©w¤¤¼W¥[°O¾ÐÅé wait ª¬ºAªº®É¶¡¡A©Î¬O§ó´«§ó§Öªº°O¾Ð Åé¡C

¥H§Ú¦Ó¨¥¡A§Ú´¿¹J¹L¥Ñ¤£¨}ªº§Ö¨ú°O¾ÐÅé©Î¬O¤£¨}ªº on-board §Ö¨ú¥d ©Ò³y¦¨ªº³o­Ó°ÝÃD¡C¸ÕµÛ¦b BIOS ³]©w¤¤¨ú®ø on-board (²Ä¤G¶¥) §Ö¨ú¡A ¬Ý¬Ý³o¼Ë¯à¤£¯à¸Ñ¨M³o­Ó°ÝÃD

³o¨à¦³¤@¥÷«Ü¦nªº FAQ: SIG11 °ÝÃDªº FAQ

3.10. ·í§Ú¶}¾÷®É¡A¿Ã¹õÅܶ¡A¥B¤£°±°{°Ê¡I

³o­Ó°ÝÃD¡A¤wª¾¬O¥Ñ ATI Mach 64 Åã¥Ü¥d©Ò¤Þ°_ªº¡C¦]¬°³o¶ô¥d¨Ï¥Î¨ì 2e8 ³o­Ó¦ì§}¡A¦Ó³o»P²Ä¥|­Ó§Ç¦C°ð(serial port)©Ò¨Ï¥Îªº¦ì§}¬Û¦P¡C¦Ó sio.c ³o­ÓÅX°Êµ{¦¡¡A¤£ª¾¹D¬O bug ©Î¬O¥\¯à(feather)¡A´Nºâ±z¨S¦³²Ä¥|­Ó§Ç¦C°ð¡A ©Î¬O¤w¸g±N sio3 (²Ä¥|­Ó§Ç¦C°ð¡^¨ú®ø¤F¡A¥¦¨ÌµM·|¥h¹Á¸ÕÅX°Ê¥¦¡C

ª½¨ì³o­Ó°ÝÃD³Q¸Ñ¨M¥H«e¡A±z¥i¥H¨Ï¥Î³o­Ó¤èªk¡G

  1. ¦b¶}¾÷´£¥Ü¡]¬Ý¨ìboot: ®É¡^¥´¤J -c¡C ¡]³o·|Åý kernel ¶i¤J³]©w¼Ò¦¡¡^

  2. ¨ú®ø sio0¡Asio1¡Asio2 and sio3 ¡]¥þ³¡¡^ ³o¥i¥HÅý sio ÅX°Êµ{¦¡¤£°Ê§@ -> ©ó¬O°ÝÃD¸Ñ¨M¡C

  3. ¿é¤J exit ¥HÄ~Äò±Ò°Êµ{§Ç



¦pªG±z·Q­n¨Ï¥Î±zªº§Ç¦C°ð¡A±z»Ý­n­×§ï /usr/src/sys/i386/isa/sio.c¡A¦b¸ÓÀɤ¤§ä¥X 0x2e8 ³o­Ó¦r¦ê ²¾°£³o­Ó¦r¦ê¤Î¥¦«e­±ªº³r¸¹¡]«O¯d«á­±ªº¡^¡AµM«á­«·s½sͤ@­Ó·sªº kernel

´Nºâ¨Ï¥Î¤F¤W­±³o¨Ç¤èªk¡AX Window ¤´µM¦³¥i¯àµLªk¶¶§Q°õ¦æ¡C¦³¨Ç·sªº ATI Mach 64 Åã¥Ü¥d¡]¯S§O¬O ATI Mach Xpression¡^¡AµLªk¦b¥Ø«eª©¥»ªº XFree86 ¤W¥¿±`¤u§@¡F±Ò°Ê X Window ®É¿Ã¹õÅܶ¡A©Î¬O·|¦³©_©Çªº°ÝÃD µo¥Í¡C±z¥i¥H¨ì XFree86 ªººô¯¸ §ä¨ì new beta release ³o­Ó³sµ²(link)¡A¨Ó¨ú±o X-server ªº beta ª©¡A¥¦ªº ¬Û®e±¡§ÎÀ³¸Ó´N¤ñ¸û¦n¤F¡C±z»Ý­n¨ú±o¤U¦C³o¨ÇÀɮסG

AccelCards¡ABetaReport¡ACards¡ADevices¡AFILES¡AREADME.ati¡A README.FreeBSD¡AREADME.Mach64¡ARELNOTES¡AVGADriver.Doc¡A X312BMa64.tgz

¥H³o¨ÇÀɮרú¥N±z­ì¦³ªºÂÂÀɮסAµM«á¤Á°O¦A¶] xf86config ¤@¹M¡C

3.11. §Ú¦³ 128 MB ªº RAM¡A¦ý¬O¨t²Î¥u¥Î¨ä¤¤ªº 64MB

¦]¬° FreeBSD ¬O¨Ï¥Î©I¥s BIOS ¨Ó¨ú±o°O¾ÐÅé¤j¤pªº¤èªk¡A¦]¦¹¥¦¥u¯à °»´ú¨ì 16 bits ¦ì¤¸ªø«×ªº KByte ¤j¤p (65535 KBytes = 64MB) (©ÎªÌ§ó¤Ö..¡C¦³¨Ç BIOS ±N³Ì°ª°O¾ÐÅé¤j¤p­­¬°¥u¦³ 16MB) ¦pªG±z¾Ö¦³ 64MB ¥H¤Wªº RAM¡AFreeBSD ·|¹Á¸Õ¥h°»´ú¥X¥¦¡A¦ý¬O¦³¥i¯à ·|¥¢±Ñ¡C

­n¸Ñ¨M³o­Ó°ÝÃD¡A±z»Ý­n¨Ï¥Î¤U­±©Ò´£ªº kernel ³]©w¿ï¶µ¡C ÁöµM¦³¤èªk¥i¥H±q BIOS ¤¤¨ú±o°O¾ÐÅ骺§¹¾ã¸ê°T¡A¦ý¬O¥Ø«e§Ú­Ì¦b bootblock ¤¤¨Ã¨S¦³¦h¾lªºªÅ¶¡¨Ó°µ³o¥ó¨Æ¡C·í¬Y¤Ñ bootblock ªÅ¶¡ ¤£¨¬ªº±¡§ÎÀò±o¸Ñ¨M®É¡A§Ú­Ì±N·|¨Ï¥Î BIOS ªº©µ¦ù¥\¯à¨Ó¨ú±o°O¾Ð Å骺§¹¾ã¸ê°T...¦ý²{¦b§Ú­Ì±N¥¦©ñ¦b kernel ³]©w¿ï¶µ¤¤¡C

options "MAXMEM=<n>"

n ¬O«ü±zªº°O¾ÐÅé¤j¤p¡A¥H KB ¬°³æ¦ì¡C¥H¤@¥x¦³ 128MB RAM ªº ¾÷¾¹¨Ó»¡¡A±z¥i¨Ï¥Î 131072 ³o­Ó¼Æ¦r¡C

3.12. FreeBSD 2.0 ¦]¬° ``kmem_map too small!'' ¦Óµo¥Í panic¡I

ª`·N ³o­Ó°T®§¤]¦³¥i¯à¬O ``mb_map too small!''

³o­Ó panic ¬Oªí¥Ü¨t²Î¥Î¥ú¤Fµ¹ºô¸ô½w½Ä°Ïªº©Ò¦³ªºµêÀÀ°O¾ÐÅé (¯S §O¬O mbuf clusters)¡C±z¥i¥H¼W¥[µ¹ mbuf clusters ªº VM ªº¼Æ¶q¡A ¥u­n¥[¤J:

options "NMBCLUSTERS=<n>"

¦b±zªº kernel ³]©wÀɤ¤¡A<n> ¬O¤@­Ó¦b 512-4096 ¶¡ªº¼Æ¦r¡A ¨Ì±z·Q´£¨Ñ¦h¤Ö¦P®Éªº TCP ³s±µ¼Æ¥Ø¦h¹è¦Ó©w¡C§Ú·|«ØÄ³¸Õ¸Õ 2048 - ³o¼Æ¦rÀ³¸Ó¥i¥H§¹¥þÁ×§K³o­Ó panic ¤F¡C±z¥i¥H°õ¦æ: netstat -m ¨ÓºÊ¬Ý¦³¦h¤Ö mbuf clusters ¦b¨t²Î¤W¥¿³Q °t¸m/¨Ï¥Î¡CNMBCLUSTERS ªº¼Æ­È¤º©w¬° 512 + MAXUSERS * 16¡C

3.13. ¥Î·s kernel ¶}¾÷®É¡A¥X²{ ``CMAP busy panic'' ³o­Ó¿ù»~°T®§

¥Î¨Ó°»´ú¹L´Á /var/db/kvm_*.db Àɮתº¾÷¨î°¸º¸·|"¥XÂñ" ¦Ó¨Ï¥Î¤@­Ó§t¤£¥¿½T¸ê®ÆªºÀɮצ³®É´N·|¾É­P panic¡C

¦pªGµo¥Í¤F³o­Ó°ÝÃD¡A½Ð­«·s¶}¾÷¡A¶i¤J³æ¨Ï¥ÎªÌ¼Ò¦¡¡AµM«á°õ¦æ:

        rm /var/db/kvm_*.db
      



3.14. ahc0: brkadrint¡A Illegal Host Access at seqaddr 0x0

³o¬O¤@­Ó©M Ultrastor SCSI ±±¨î¥d¦³Ãöªº½Ä¬ð

¦b¶}¾÷®É¡A¶i¤J kernel ³]©w¿ï³æ ¨ú®ø uha0¡A¥¦¬O³y¦¨³o­Ó°ÝÃDªº­ì¦]

3.15. Sendmail ¤@ª½©ê«è ``mail loops back to myself''

³o­Ó°ÝÃD¦b sendmail ªº FAQ ¤¤¬O³o¼Ë¦^µªªº:-

        * §Ú¤@ª½¦¬¨ì¦³Ãö "Local configuration error" ªº«H¥ó¡A¨Ò¦p:

        553 relay.domain.net config error: mail loops back to myself
        554 <user@domain.net>... Local configuration error

        §Ú­n¦p¦ó¸Ñ¨M³o­Ó°ÝÃD?

        ±z§Q¥Î MX ³]©w¡AÅý­n±H¨ì¬Y domain (¦p: domain.net) ªº«H¥ó¡A
        ±H¨ì±z©Ò«ü©wªº¾÷¾¹ (¦b³o­Ó¨Ò¤l¤¤¬° relay.domain.net)¡A¦ý¬O³o
        ³¡¾÷¾¹¨Ã¥¼³Q³]©w±µ¨ü domain.net ªº«H¥ó¡C§â domain.net ¥[¨ì
        /etc/sendmail.cw ¤¤ (¦pªG±z¦³¨Ï¥Î FEATURE(use_cw_file)) ©Î¬O
        ¦b sendmail.cf ¤¤¥[¤J "Cw domain.net"
      



sendmail FAQ ²{¦b¤w¤£¦AÀHµÛ sendmail "¥X³f"¡C ¥¦¥Ø«e¬O³Q©w´Áªºµoªí¦b: comp.mail.sendmail¡A comp.mail.misc¡A comp.mail.smail¡A comp.answers¡A©M news.answers¡C ±z¤]¥i¥H±H¤@«Ê Email ¨ì mail-server@rtfm.mit.edu¡AµM«á¦b«H¥ó¤º¤å¤¤¼g¤W "send usenet/news.answers/mail/sendmail-faq" ³o­Ó«ü¥O ¥H¨ú±o³o¥÷¤å¥ó¡C

3.16. ¦b»·ºÝ¾÷¾¹(remote machine)°õ¦æ¥þ¿Ã¹õªº³nÅé®É¡A¦³¤£¥¿±`ªº±¡§Î¡I

©Î³\»·ºÝ¾÷¾¹¨Ã«D±N±zªº²×ºÝ¾÷§ÎºA³]¬° FreeBSD console ©Ò¥Î ªº cons25¡A¦Ó¬O³]¬°¨ä¥¦ºØÃþ¡C

³o¨à¦³´X­Ó¸Ñ¨M³o­Ó°ÝÃDªº¤èªk:

  • ¦b logging ¶i»·ºÝ¾÷¾¹«á¡A§ó§ï±zªº shell ÅÜ¼Æ TERM ¬° ansi ©Î¬O sco¡C

  • ¦b local ºÝ¥Î¤@¨Ç¥i¥H¼ÒÀÀ VT100 ªº¼ÒÀÀ¾¹¡A¦p screen¡C screen ´£¨Ñ±z¦b¤@­Ó terminal ùئP®É¶]¦n´X­Ó session ªº¯à¤O¡A¦Ó¥B¥¦¥»¨­¤]¬O¤@­Ó¬Û·í¦nªº³nÅé¡C

  • ¦b»·ºÝ¾÷¾¹ªº²×ºÝ¾÷¸ê®Æ®w(terminal database)¤¤¥[¤J cons25 ªº¸ê®Æ¡C

  • ±Ò°Ê X µM«á§Q¥Î xterm ¨Ó login ¶i»·ºÝªº¾÷¾¹¡C



3.17. §Úªº¾÷¾¹¤@ª½Åã¥Ü "calcru: negative time..."

¸ò¤¤Â_ ¡]interrupt¡^ ¦³Ãöªº¤£¦PµwÅé »P/©Î ³nÅ骺·f°t³£¦³¥i¯à³y¦¨ ³o­Ó°ÝÃD¡C³o¦³¥i¯à¬O bug ©Î¬O¬Y­Ó¸Ë¸m¥»¨­ªº°ÝÃD¡C¦b¥­¦æ°ð¤W¨Ï¥Î ¤jªº MTU ¨Ó§@ TCP/IP ¶Ç¿é¥i¥H­«²{³o­Ó°ÝÃD¡C­Y¬O¹Ï§Î¥[³t¥d³y¦¨³o­Ó °ÝÃDªº¸Ü¡A±zÀ³¸Ó¥ýÀˬd¥dªº¤¤Â_³]©w¡C

³o­Ó°ÝÃDªºÃä»Ú®ÄÀ³¬O·|³y¦¨¦³¨Ç process ¥X²{ "SIGXCPU exceeded cpu time limit" ªº°T®§¡A¦Ó¤£¥¿±`¤¤Â_

­Yª©¥»¬O 1998 ¦~ 11 ¤ë 29 ¤é¥H«áªº FreeBSD 3.0¡A¦pªG³o­Ó °ÝÃD¤@ª½µLªk¥H¨ä¥L¤èªk¸Ñ¨M¡A´N¥u¯à³]©w sysctl ÅܼơG

               sysctl -w kern.timecounter.method=1



³o¼Ë·|¹ï®Ä¯à¦³¨Ç¼vÅT¡A¦ý¬O­Y¦Ò¼{¨ì³o­Ó°ÝÃD±a¨Óªº«áªG¡A³o¼Ë°µ¬O­È ±oªº¡C¦pªG³o­Ó°ÝÃDÁÙ¬O¦s¦bªº¸Ü¡A±N sysctl ¨º­Ó­È¨ÌµM³]¬° 1¡AµM«á ¼W¥[ kernel ³]©wÀɤ¤ "NTIMECOUNTER" ³o­Ó¿ï¶µªº¼Æ­È¡C¦pªG±z±N "NTIMECOUNTER" ¼W¥[¨ì 20 ¨ÌµMµLªk¸Ñ¨M³o­Ó°ÝÃD¡A¨º»ò±z¾÷¾¹¤Wªº¤¤Â_ ¤w¸g¦h¨ìµLªk«O«ùí©wªºª¬ºA¤F¡C


Chapter 4. °Ó·~³nÅé

ª`·N³o¤@¸`ªº¤º®eÁÙ¬O¬Û·í¤Ö¡A¤£¹L§Ú­Ì·íµM§Æ±æ¦U­Ó¤½¥q¯à¬°¥¦¥[ ÂI¤º®e :) FreeBSD ²Õ´©M¦C¦b³o¸Ìªº¥ô¦ó¤@®a¤½¥q³£¨S¦³ª÷¿ú¤Wªº§Q®` Ãö«Y¡A¦C¥X¨Ó¥u¬O¹ï¤j²³ªº¤½¶}ªA°È¡]¦P®É¤]»{¬°¦b FreeBSD ¤Wªº°Ó·~¿³ ½ì¡A·|¹ï FreeBSD ªø¤[¥Í¾÷¦³·¥¥¿­±ªº®Ä¯q¡^¡C§Ú­Ì¹ªÀy°Ó·~³nÅ骺¼t°Ó §â¥L­Ìªº²£«~¥]¬A¦b¤U­±ªº¦W³æ¤¤¡A¦b Vendors page ¥i¥H¬Ý¨ì¸ûªø¦Cªí¡C

4.1. §Ú¥i¥H¦b­þÃä§ä¨ìµ¹ FreeBSD ¥Îªº Motif¡H
4.2. §Ú¥i¥H¦b­þÃä§ä¨ìµ¹ FreeBSD ¥Îªº CDE¡H
4.3. ¦³¨S¦³­n¿ú¡A¦ý¬O°ª®Ä²vªº X servers¡H
4.4. ¦b FreeBSD ¤W¦³¥ô¦óªº¸ê®Æ®w¶Ü¡H
4.5. ¥i¥H¦b FreeBSD ¤W°õ¦æ Oracle ¶Ü¡H

4.1. §Ú¥i¥H¦b­þÃä§ä¨ìµ¹ FreeBSD ¥Îªº Motif¡H

¥i¥HÁpµ¸ Apps2go ¨ú±o FreeBSD ELF ª©¥»ªº Motif 2.1 ®M¥ó¡C

³o­Ó®M¥ó¸Ì¦³¡G

  • OSF/Motif manager, xmbind, panner, wsm.

  • Development kit with uil, mrm, xm, xmcxx, include and Imake files.

  • Static and dynamic ELF libraries¡]µ¹ FreeBSD 3.0 ¤Î¥H«áª©¥» ¨Ï¥Î¡^

  • Demonstration applets.



¦]¬° Apps2go ¤]¦³´£¨Ñ NetBSD ©M OpenBSD ªºª©¥»¡A©Ò¥H¦b­qÁÊ ®É½Ð¯S§O«ü©w¬O­n FreeBSD ª©¥»ªº Motif¡I¥L­Ì¥Ø«e¥u´£¨Ñ¥H FTP ªº¤è¦¡¨ú±o ³o¥÷®M¥ó¡C

§ó¦h¸ê°T

Apps2go WWW ­º­¶

©Î

Sales ©Î Support email «H½c¡C

©Î

¹q¸Ü (817) 431 8775 or +1 817 431-8775



¤]¥i¥HÁpµ¸ Metro Link ¨ú±oµ¹ FreeBSD ELF ©Î a.out ª©¥»ªº Motif 2.1 ®M¥ó¡C

³o¥÷®M¥ó¥]¬A¡G

  • OSF/Motif manager, xmbind, panner, wsm.

  • Development kit with uil, mrm, xm, xmcxx, include and Imake files.

  • Static and dynamic libraries¡]FreeBSD 3.0 ¤Î¤§«áª©¥»¬O¥Î ELF¡FFreeBSD 2.2.8 ¤Î¤§«eªº¬O¥Î a.out¡^

  • Demonstration applets.

  • Preformatted man pages.



¥Ñ©ó Metro Link ¤]¦³´£¨Ñ Linux ªºª©¥»¡A©Ò¥H­qÁʮɭn¯S§O«ü ©ú¬O FreeBSD ª©¥»ªº Motif¡I¥i¥H¥Ñ¥úºÐ©Î±q FTP ¨Ó¨ú±o³o­Ó®M¥ó¡C

Ápµ¸ Xi Graphics¡A¥L­Ì´£¨Ñ¤F¤@­Óµ¹ FreeBSD ¥Îªº a.out ®æ¦¡ªº Motif 2.0 ®M¥ó¡C

¦b³o®M¥ó¤¤¥]¬A¤F¡G

  • OSF/Motif manager, xmbind, panner, wsm.

  • Development kit with uil, mrm, xm, xmcxx, include and Imake files.

  • Static and dynamic libraries¡]µ¹ FreeBSD 2.2.8 ©M§ó¦­ª©¥»¥Îªº¡^

  • Demonstration applets.

  • Preformatted man pages.



¦b§A¸ò¥L­Ì­qÁÊ Motif ®É¡A½Ð¤@©wµù©ú§A­nªº¬O FreeBSD ªºª©¥»¡I ¦]¬° Xi Graphics ¤]¦P®É´£¨Ñ¤F BSDI ¸ò Linux ª©¥»ªº Motif¡C ¥Ø«eµo¦æªºª©¥»¬O©ñ¦b¥|¶ôºÏ¤ù¤¤¡A±N¨Ó¥L­Ì·|±N©Ò¦³ªºªF¦è³£©ñ¨ì¥úºÐ¸Ì¡A ´N¹³¥L­Ì©Òµo¦æªº CDE ¤@¼Ë¡C

4.2. §Ú¥i¥H¦b­þÃä§ä¨ìµ¹ FreeBSD ¥Îªº CDE¡H

Xi Graphics ¥H«e¦³½æ FreeBSD ¥Îªº CDE¡A¤£¹L²{¦b¤w¸g °±¤îµo°â¤F¡C

KDE ¬O¥t¤@­Ó­ì©l½X¤½¶}ªº X11 ®à­±µ{¦¡¡A¦³«Ü¦h¦a¤è©M CDE ¬Û·íÃþ¦ü¡C

4.3. ¦³¨S¦³­n¿ú¡A¦ý¬O°ª®Ä²vªº X servers¡H

¦³¡AXi Graphics ©M Metro Link ³£¦³´£¨Ñµ¹ FreeBSD¡]©Î¨ä¥L Intel ¥­¥x¤W¡^¥Îªº X µøµ¡¥[³t²£«~¡C

Metro Link ´£¨Ñªº°ª®Ä¯à X Server ¨Ï¥Î¤F FreeBSD ¤ºªº package ¾ã®M¤u ¨ã¡A¦]¦¹³]©w¤Q¤À®e©ö¡A¤ä´©¥Ø«e¥«­±¤W¦U¤j¼tµPªºÅã¥Ü¥d¡C¥u¦³ binary ÀɮסA ¥i¥H±q FTP ¯¸¬Û·í¤è«K¦aª½±µ¤U¸ü¡A§ó¤£¥Î»¡ Metro Link ³o®M²£«~ªº»ù®æ¬O «D±`¦X²zªº $39¡C

Metro Link ¤]¦³´£¨Ñ FreeBSD ¤Wªº ELF ©M a.out Motif¡]©¹¤W­±¬Ý¬Ý¡^¡C

§ó¦hªº¸ê°T

Metro Link WWW ­º­¶

©Î

Sales ©Î Support email «H½c

©Î

¹q¸Ü (954) 938-0283 or +1 954 938-0283



Xi Graphics ©Ò´£¨Ñªº°ª®Ä¯à X Server ¦³«D±`²³æªº³]©w¤è¦¡¡A¨Ã¥B¤ä´© ¤F¥Ø«e¥«­±¤W·í¬õªº¦U¤j¼tµPªºÅã¥Ü¥d¡C¥¦¥uµ¹§A Binary ÀɮסA¬O¥ÎºÏ¤ùªº¤è ¦¡µo¦æ¡AFreeBSD ¸ò Linux ª©¥»³£¬Û¦P¡CXi Graphics ¦P®É¤]´£¨Ñ¤F±Mªùµ¹ laptop ¥Îªº°ª®Ä¯à X Server¡C

5.0 ª©¦³´£¨Ñ§K¶Oªº "compatibility demo" ª©¥»¡A§A¥i¥H¦b FreeBSD ªº­ì ¼t¥|¤ù¥úºÐ¤¤§ä¨ì¡A·íµM§A¤]¥i¥Hª½±µ¦bºô¸ô¤W¨ú±o¡C

Xi Graphics ¤]¦³¦b½æ FreeBSD ¥Îªº Motif ¸ò CDE¡]©¹¤W­±¬Ý¬Ý¡^¡C

§ó¦hªº¸ê°T

Xi Graphics WWW ­º­¶

©Î

Sales ©Î Support email «H½c

©Î

¹q¸Ü (800) 946 7433 or +1 303 298-7478.



4.4. ¦b FreeBSD ¤W¦³¥ô¦óªº¸ê®Æ®w¶Ü¡H

¦³! ½Ð¬Ý FreeBSD ºô¯¸¤W°Ó·~³nÅ餽¥q³o¤@³¡¥÷¡C

ÁÙ¦³½Ð°Ñ¦Ò ports ¤¤ Databases ¬ÛÃöªº¦¬¶°¡C

4.5. ¥i¥H¦b FreeBSD ¤W°õ¦æ Oracle ¶Ü¡H

¥i¥H¡A¤U­±³o­Óºô­¶·|»¡©ú¦p¦ó¦b FreeBSD ¤W°õ¦æ Linux ª©ªº Oracle¡G




Chapter 5. ¤@¯ëÀ³¥Îµ{¦¡

5.1. ¶â..§Ú­n¦b­þ§ä¨ì§Ú­nªºµ{¦¡©O?
5.2. §Ú¥i¥H¦b­þÃä§ä¨ì libc.so.3.0?
5.3. ghostscript ¦b§Úªº 386/486SX ¤W¦³ÂI°ÝÃD©O¡I
5.4. ·í§Ú°õ¦æ SCO/iBCS2 ªºµ{¦¡®É¡A¥¦±¾¦b socksys¡C
5.5. §Ú­n¦p¦ó¦b§Úªº¾÷¾¹¤W³]©w INN (Internet News)¡H
5.6. §Ú¸Ó¨Ï¥Î¨º­Óª©¥»ªº Microsoft FrontPage¡H
5.7. FreeBSD ¤ä´© Java ¶Ü¡H
5.8. ¨º¸Ì¥i¥H§ä±o¨ì ld.so¡H

5.1. ¶â..§Ú­n¦b­þ§ä¨ì§Ú­nªºµ{¦¡©O?

½Ð¬Ý¬Ý ports ¥Ø¿ý §a¡C ³oÃ䦳¥÷¤w¸g port ¨ì FreeBSD ªº³nÅé¦Cªí¡C¥Ø«e¦³¶W¹L 1800 ­Ó³nÅé¤w¸g³Q port ¨ì FreeBSD ¤W¡A¨Ã¥B¨C¤Ñ³£¦b¼W¥[¤¤¡C©Ò¥H¦³ªÅ´N¦h¬Ý¬Ý³o¥÷¦Cªí¡A ¤£µM§A¤]¥i¥H­q¾\ freebsd-announce ³o¥÷ mailing list¡A·|¦³¤H±N ¨C­Ó¬P´Á³Ì·sªº³nÅé¦Cªí¶K¦b¤W­±¡C

¤j³¡¥÷ªº ports À³¸Ó³£¥i¥H¦b 2.2¡A3.0 ¸ò 4.0 ªº¨t²Î¤W¨Ï¥Î¡A ¨Ã¥BÁÙ¦³³¡¥÷ªº ports ¥i¥H¦b 2.1.x ªº¨t²Î¤W¹B§@¡C ¨C¦¸·í FreeBSD release ®É¡A³£·|¦³¤@¥÷ ports tree ³Q©ñ¦b³o¤@­Ó release cd ¸Ì­±ªº ports/ ¥Ø¿ý¸Ì¡C

§Ú­Ì¤]¤ä´©¤@ºØ¥s ``package'' ªº·§©À¡A°ò¥»¤W´N¬O gzip À£ÁY¡B¥i¥Î ¨Óµo¦æªº binary ÀɮסA¦ý¬O¸Ì­±ÂäF¤@¨Ç¬Û·í¦³¥Îªº¸ê°T¡A¥i¥Hµ¹¦UºØ¦Û ­q¦w¸Ë¨Ó¨Ï¥Î¡C¨Ï¥ÎªÌ¤£¥²ª¾¹D¬Y­Ó package ¸Ì¨s³º¦³¥]¬A­þ¨ÇÀɮסA´N¥i ¥H«Ü¤è«K¦a­«½Æ±N¥¦¦w¸Ë/¤Ï¦w¸Ë¡C

§A¥i¥H°õ¦æ /stand/sysinstall «á¡A¦b post-configuration ¿ï³æ¤U¿ï¾Ü package ³o­Ó¦w¸Ë¿ï¶µ¡F©Î¬O¹ï¬Y­Ó¦³¿³½ìªº package ÀÉ®×°õ ¦æ pkg_add(1)¡A§â¥¦¸Ë°_¨Ó¡CPackage Àɮ׳q±`¥H .tgz §@¬°©µ¦ùÀɦW¡A¤â¤W¦³ FreeBSD CDROM ªº¤H¥i¥H¦b packages/All ³o­Ó¥Ø¿ý¤U§ä¨ì³oÃþÀɮסC¹ï¤£¦Pªº FreeBSD ª©¥»¡A¤]¥i¥H±q¤U¦C¦ì§}¥Ñºô ¸ô¤W¨ú±o¡G



©Î¬OÂ÷§A³Ìªñªº mirror ¯¸¡C

­nª`·Nªº¬O¡A¦]¬°·sªº port ¤@ª½¦b¼W¥[¤¤¡A©Ò¥H¨Ã¤£¬O©Ò¦³ port ³£ ¦³¬Û¹ïÀ³ªº package¡C³Ì¦n©w®ÉÀˬd ftp.FreeBSD.org¡A ¬Ý¬Ý¦³­þ¨Ç package ¥i¥H¥Î¡C

5.2. §Ú¥i¥H¦b­þÃä§ä¨ì libc.so.3.0?

§A¥i¯à¦b¤@¥x 2.1.x ªº¾÷¾¹¤W¡A¶]µÛµ¹ 2.2/3.x/4.0 ªº³nÅé¡C ½Ð¦A©¹¤W­±¤@­Ó³¹¸`¬Ý¡A¥¿½Tªº¨ú±oµ¹§A¾÷¾¹¥Îªº port/package¡C

5.3. ghostscript ¦b§Úªº 386/486SX ¤W¦³ÂI°ÝÃD©O¡I

§A¨S¦³¯BÂI¹Bºâ¾¹¡A¹ï§a¡H §A¥²¶·¦b§Aªº kernel ¤¤¥[¤J¼Æ¾Ç¹Bºâ¼ÒÀÀ¾¹¡A§A¥i¥H¸òµÛ¤U­±ªº¨BÆJ°µ¡A ¨Ã¦b§ó§ï¹L§Aªº kernel ³]©wÀÉ«á¡A­«·s½s͹L¤@¦¸¡C

        options GPL_MATH_EMULATE
      



NOTE ·í§A¥[¤J¤W¤@¦æªº¦P®É¡A§A¥²¶·±N MATH_EMULATE ²¾°£±¼¡C

5.4. ·í§Ú°õ¦æ SCO/iBCS2 ªºµ{¦¡®É¡A¥¦±¾¦b socksys¡C

§A¥²¶·¥ý­×§ï /etc/sysconfig (or /etc/rc.conf) ³oÀɮ׳̫á¤@­Ó³¹¸`¡A±N¤U­±©ÒÁ¿¨ìªºÅÜ¼Æ ³]¦¨ YES:

        # Set to YES if you want ibcs2 (SCO) emulation loaded at startup
        ibcs2=NO
      



³o·|¦b¶}¾÷®É±N ibcs2 ³o¤@­Ó kernel ¼Ò²Õ¸ü¤J¡C

§AÁÙ­n±N§Aªº /compat/ibcs2/dev §ï¦¨¤U­±³o¼Ë¡G

lrwxr-xr-x  1 root  wheel         9 Oct 15 22:20 X0R@ -> /dev/null
lrwxr-xr-x  1 root  wheel         7 Oct 15 22:20 nfsd@ -> socksys
-rw-rw-r--  1 root  wheel         0 Oct 28 12:02 null
lrwxr-xr-x  1 root  wheel         9 Oct 15 22:20 socksys@ -> /dev/null
crw-rw-rw-  1 root  wheel   41,   1 Oct 15 22:14 spx
      



§A¥u»Ý­n±N socksys Âà¦V¨ì /dev/null ¥hÄF¹L open & close ªº°Ê§@¡C¦b -current ¸Ì­±ªº ibcs2 ¬ÛÃöµ{¦¡½X±N·|³B ²z¨ä¾lªº³¡¥÷¡A³oºØ§@ªk¤ñ¥H«eªº¤è¦¡°®²b¤Ó¦h¤F¡C °²¦p§A·Q­n¨Ï¥Î spx ¤è­±ªºµ{¦¡¡A¦b§Aªº®Ö¤ß³]©wÀɸ̭±¥[¤W SPX_HACK¡C

5.5. §Ú­n¦p¦ó¦b§Úªº¾÷¾¹¤W³]©w INN (Internet News)¡H

¦b§A¨Ï¥Î package ©ÎªÌ¬O port ¦w¸Ë§¹ inn ¤§«á¡A Dave Barr's INN Page ¬O­Ó«D±`¦nªº¶}©l¡A§A¥i¥H¦b¨ºÃä§ä¨ì INN ªº FAQ¡C

5.6. §Ú¸Ó¨Ï¥Î¨º­Óª©¥»ªº Microsoft FrontPage¡H

Use the Port, Luke¡I¦b ports tree ¤¤¤w¸g¦³¤@­Ó¥]§t FrontPage ªº Apache ª©¥»¤F¡C

5.7. FreeBSD ¤ä´© Java ¶Ü¡H

¦³¡A½Ð¬Ý http://www.FreeBSD.org/java.

5.8. ¨º¸Ì¥i¥H§ä±o¨ì ld.so¡H

¦pªG±z§Æ±æ¦b 3.1-R ¤§«áªº ELF ¾÷¾¹¤W°õ¦æ¹³ Netscape Navagator µ¥ ªº aout µ{¦¡¡A¥¦·|»Ý­n /usr/libexec/ld.so ©M aout library¡C³o¨Ç³£¥] ¬A¦b compat22 ®M¥ó¤¤¡A±z¥i¥H¥Î /stand/sysinstall ©Î compat22 ¤l¥Ø¿ý ¤Uªº install.sh ¸Ë°_¨Ó¡C

¦P®É¤]½Ð±z¬Ý¤@¤U 3.1-R ©M 3.2-R ªº ERRATA¡C


Chapter 6. ®Ö¤ß³]©w

6.1. §Ú·Q¦Û­q®Ö¤ßµ{¦¡¡A³o·|«Ü§xÃø¶Ü¡H
6.2. §Úªº®Ö¤ß¦]¬° _hw_float ¿ò¥¢¦Ó½sĶ¥¢±Ñ¡C
6.3. multi-port serial code ªº¤¤Â_½Ä¬ð¡C
6.4. §Ú¸Ó«ç»ò±Ò°Ê QIC-40/80 ªº¤ä´©¡H

6.1. §Ú·Q¦Û­q®Ö¤ßµ{¦¡¡A³o·|«Ü§xÃø¶Ü¡H

¤£·|¡I½Ð¬d¾\ ¨Ï¥Î¤â¥U¤¤ªº®Ö¤ß³]©w¤@¸`¡C

ª`·N¡G§Ú·|«ØÄ³§A¦b§AÅý®Ö¤ß¯à¥¿±`¤u§@«á¡A°µ¤@­Ó kernel.YYMMDD¤é´Á§Î¦¡ªº³Æ¥÷¡A³o¼Ë¤U¦¸¦pªG§A«Ü¤£©¯ªºª±Ãa ¤F³]©w¡A¦Ü¤Ö¥i¥H¤£»Ý­n¨Ï¥Î³Ì­ì©lªºkernel.GENERIC¡C°²¦p§A ¥¿±q¤@­Ó¨S¦³¦b GENERIC kernel ¸Ì­±¤ä´©ªº±±¨î¾¹¸Ì±Ò°Ê¡A³oÅã±o¯S §O­«­n(¨S¿ù¡A³o¬Oµ§ªÌªº¸gÅç)¡C

6.2. §Úªº®Ö¤ß¦]¬° _hw_float ¿ò¥¢¦Ó½sĶ¥¢±Ñ¡C

Åý§Ú²q¬Ý¬Ý¡A§A§â npx0 ±q§A ªº®Ö¤ß³]©wÀɲ¾°£¤F¡A¦]¬°§A¨S¦³¼Æ¾Ç¹Bºâ¾¹¡A¹ï¶Ü¡H¿ù¤F¡I:-) ³o­Ó npx0¬O¥²¶·­n¦³ªº¡C´Nºâ§A¨S¦³¼Æ¾Ç¹Bºâ¾¹¡A§A¤´¥²¶· ¤Þ¤Jnpx0¸Ë¸m¡C

6.3. multi-port serial code ªº¤¤Â_½Ä¬ð¡C

Q. ·í§Ú½sͤ@­Ó multi-port serial code ªº®Ö¤ß®É¡A¥¦§i¶D§Ú ¥u¦³²Ä¤@­Ó³Q°»´ú¨ì¡A¨ä¥Lªº«h¦]¤¤Â_½Ä¬ð¦Ó¸õ¹L¤F¡A§Ú¸Ó«ç»ò­×¥¿¥¦¡H

A. ³o­Ó°ÝÃD¬O¦]¬° FreeBSD ¨Ï¥Î¤º«Øµ{¦¡½XÁ×§K¦]¬°µwÅé©Î³nÅé ½Ä¬ð¾É­P®Ö¤ßµ{¦¡¹L©óªÎ¤j©ÎµL¥Î¡C­n­×¥¿³oºØ±¡§Îªº¤èªk¬O°£¤F¤@­Ó port ¥~§â¨ä¥L©Ò¦³ªº IRQ ³]©w³£°µ«O¯d¡C³o¸Ì¦³¤@­Ó½d¨Ò¡G

        #
        # Multiport high-speed serial line - 16550 UARTS
        #
        device sio2 at isa? port 0x2a0 tty irq 5 flags 0x501 vector siointr
        device sio3 at isa? port 0x2a8 tty flags 0x501 vector siointr
        device sio4 at isa? port 0x2b0 tty flags 0x501 vector siointr
        device sio5 at isa? port 0x2b8 tty flags 0x501 vector siointr
      



6.4. §Ú¸Ó«ç»ò±Ò°Ê QIC-40/80 ªº¤ä´©¡H

§A»Ý­n¦b generic config Àɤ¤§â¥H¤U³o¦æªºµù¸Ñ¨ú®ø(©Î¬O§â¥¦¥[¨ì§Aªº ³]©wÀÉ)¡A¦b fdc ³o¦æ¥[¤J``flags 0x1''µM«á­«·s½s֤ͮߡC

controller  fdc0  at isa? port "IO_FD1" bio irq 6 drq 2 flags 0x1 vector fdintr
disk        fd0   at fdc0 drive 0                       ^^^^^^^^^
disk        fd1   at fdc0 drive 1
#tape       ft0   at fdc0 drive 2
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      



±µµÛ¡A§A¥i¥H¦b/dev°õ¦æ¥H¤U©R¥O¡A«Ø¥ß¤@­Ó¥s /dev/ft0 ªº¸Ë¸m¡G

        sh ./MAKEDEV ft0
      



¬Oµ¹²Ä¤@­Ó¸Ë¸m¨Ï¥Î¡C¦P²zft1 ¬O²Ä¤G­Ó¡A¥H¦¹Ãþ±À¡C

§A±N·|¦³­Ó¥s/dev/ft0ªº¸Ë¸m¡A¥i¥H³z¹L¤@­Ó¯S®íªºµ{¦¡¥s ``ft''ªº¨ÓºÞ²z¥¦ - ½Ð¬Ý ft ªº man page ¦³§ó¶i¤@¨B»¡©ú¡C

ª©¥»¤ñ-current¦­ªº¨t²Î¦b³B²zÃaªººÏ±a´CÅé®É¦³¨Ç°ÝÃD¡A¦pªG§A ªºftºÏÀY¦³¤@ª½¦b¦P¤@­Ó¦a¤è¨Ó¦^²¾°Êªº°ÝÃD¡A¹Á¸Õ±q-current ¸Ìªº/usr/src/sbin/ft§ä¥X³Ì·sª©ªºft ¨Ã¥B¸Õ¬Ý¬Ý¡C


Chapter 7. ¨t²ÎºÞ²z

7.1. ¨t²Î°_©l³]©wÀɦb­þ¡H
7.2. §Ú¸Ó¦p¦ó²³æ¦a¥[¤J¨Ï¥ÎªÌ¡S
7.3. §Ú¸Ó«ç»ò§â·sµwºÐ¥[¤J FreeBSD ¨t²Î¤¤¡S
7.4. §Ú¦³¤@­Ó·sªº¥i²¾°£¸Ë¸m¡A§Ú¸Ó«ç»ò¨Ï¥Î¡S
7.5. §Ú¸Ó«ç»ò mount ¦¸­nªº DOS ¤À³Î°Ï¡S
7.6. §Ú¥i¥H¦b FreeBSD ¤U mount ¨ä¥L²§½è©ÊÀɮרt²Î¶Ü¡S
7.7. §Ú¸Ó¦p¦ó¨Ï¥Î NT loader ¨Ó±Ò°Ê FreeBSD¡S
7.8. §Ú¸Ó¦p¦ó¥Î LILO ±Ò°Ê FreeBSD ©M Linux¡S
7.9. §Ú«ç»ò¨Ï¥Î BootEasy ¨Ó±Ò°Ê FreeBSD ©M Linux¡S
7.10. ¤@­Ó©Ò¿×``¦MÀI©^Äm(dangerously dedicated)''ªººÏºÐ¦³®`¶Ü¡S
7.11. §Ú¦p¦ó¯à¥[¤J§ó¦hªº¸m´«ªÅ¶¡(swap space)¡S
7.12. §Ú¤£·|³]©w§Úªº¦Lªí¾÷¡C
7.13. §Ú¨t²Î¤WªºÁä½L°t¸m¿ù¤F¡C
7.14. §ÚµLªkÅý user quotas ¥¿±`¤u§@¡C
7.15. §Úªº ccd ¦³¦ó¤£§´¡S
7.16. ¬°¦ó§Ú¤£¯à½s¿è§Ú ccd ªººÏºÐ¼Ð°O¡S
7.17. FreeBSD ¤ä´© System V IPC ®æ¦¡«ü¥O¶°¡H
7.18. §Ú¸Ó¦p¦ó¨Ï¥Î sendmail ³z¹L UUCP ¨Ó»¼°e¶l¥ó¡H
7.19. ·í§Ú¥Î¼·±µ³s¤Wºô¸ô®É¸Ó«ç»ò³]©w«H¥ó»¼°e¡H
7.20. «x¡I§Ú§Ñ°O root ªº±K½X¤F¡I
7.21. §Ú¸Ó«ç»ò«O¯dÅý Control-Alt-Delete ¤£¯à­«·s±Ò°Ê¨t²Î¡H
7.22. §Ú¸Ó«ç»ò§â DOS ¤å¦rÀÉ®×­«·s®æ¦¡¤Æ¦¨ UNIX ªº¡H
7.23. §Ú¸Ó«ç»ò¥Î¦WºÙ¬å±¼ process¡H
7.24. ¬°¦ó¦b root ªº ACL ®É su ¦n¹³¦³°ÝÃD¡H
7.25. §Ú¸Ó«ç»ò²¾°£ Kerberos¡H
7.26. §Ú¸Ó«ç»ò¼W¥[¨t²ÎªºµêÀÀ²×ºÝ¾÷¡H
7.27. /dev/snd0 ³o­Ó¸Ë¸m°µ¤£¥X¨Ó¡I
7.28. ¥i¥H¤£¥Î¶}¾÷¡A­«·sŪ¨ú /etc/rc.conf¡B¦A¦¸±Ò°Ê /etc/rc ¶Ü¡H
7.29. ¤°»ò¬O sandbox¡H
7.30. §Ú¸Ó«ç»òÅý¤@¯ë¨Ï¥ÎªÌ±¾¤W³nºÐ¾÷¤Î¨ä¥L¥i²¾°£´CÅé¡H

7.1. ¨t²Î°_©l³]©wÀɦb­þ¡H

±q 2.0.5R ¨ì 2.2.1R¡A¥D­nªº³]©wÀɬO /etc/sysconfig¡C ©Ò¦³ªº¿ï¶µ³£³Q«ü©w¦b³o­ÓÀÉ¡A¦Ó¨ä¥L¹³ /etc/rc ©M /etc/netstart ¥u¬O¤Þ¥Î¥¦¡C

Æ[¹î /etc/sysconfig ³o­ÓÀɨíץ¿¨ä­È¥H¾A¦X§Aªº¨t²Î¡C ³o­ÓÀɥεù¸Ñ¶ñº¡¥Hªí¥Ü¦ó³B¸Ó©ñ¸m¤°»ò³]©w¡C

¦b 2.2.1 ¥H«á¤Î 3.0 ¡A/etc/sysconfig §ó¦W¬°¤@­Ó§ó®e ©ö´y­zªºÀɦW¥s rc.conf ¡A¨Ã¥B»yªk²¤Æ¤F¨Ç¡C/etc/netstart ¥ç§ó¦W¬° /etc/rc.network ¦]¦¹©Ò¦³ªºÀɮ׳£¥i¥H¥Î cp /usr/src/etc/rc* /etc ¨Ó«þ¨©¡C

/etc/rc.local ¥X²{¨Ã¥i¥H¥Î¨Ó±Ò°ÊÃB¥~ªº¥»¦aªA°È¹³¬O INN ©Î¬Y¨Ç¦Û­q¿ï¶µ¡C

/etc/rc.serial ¥Î¨Óªì©l¤Æ§Ç¦C°ð(¹³¬OÂê©w°ðªº¯S©Êµ¥¡^¡C

/etc/rc.i386 ¬O Intel ±M¥Î³]©w¡A¹³¬O iBCS2 ¼ÒÀÀ©Î¬O PC ¨t²Î¥D±±¥x³]©w¡C

¥Ñ 2.1.0R ¶}©l¡A§A¤]¥i¥H¦b /etc/sysconfig (©Î /etc/rc.conf) ¸Ì«ü©w¤@­Ó¥Ø¿ý¾Ö¦³"¥»¦a"°_©lÀÉ¡G

        # Location of local startup files.
        local_startup=/usr/local/etc/rc.local.d
      



¨C­Ó¥H .sh µ²§ÀªºÀɱN¥H¦r¥À¶¶§Ç³Q°õ¦æ¡C

°²¦p§A·Q½T«O¬Y­Ó°õ¦æ¶¶§Ç¤S¤£·Q§ï©Ò¦³ªºÀɦW¡A§A¥i¥H¨Ï¥Î¤@­Ó²³æ ªº¬[ºc¦p¤U¡A§Q¥Î¨Æ¥ý¦w±Æ¨ì¨C­ÓÀɦW«eªº¼Æ¦r¨Ó½T«O¶¶§Ç¡G

        10news.sh
        15httpd.sh
        20ssh.sh
      



³o¥i¯à¬Ý°_¨Ó¦³ÂIÁà(©ÎÃþ¦ü SysV :-)) ¦ý¬O¥¦´£¨Ñ¤@­Ó²³æ¦Ó³W«ßªº ¬[ºcÅý¥»¦a¥[¤Jªº®M¥ó¤£¶·½s¿è /etc/rc.local ´N¯à­«·s±Æ §Ç¡C³\¦hªº ports/packages °²³] /usr/local/etc/rc.d ¬O ¥»¦a°_©lªº¥Ø¿ý¡C

7.2. §Ú¸Ó¦p¦ó²³æ¦a¥[¤J¨Ï¥ÎªÌ¡S

¨Ï¥Î adduser «ü¥O¡C¦pªG»Ý­n§ó½ÆÂøªº¨Ï¥Î¤è¦¡¡A½Ð¥Î pw ³o­Ó«ü¥O¡C

­n¦A¦¸²¾°£¨Ï¥ÎªÌ¡A¨Ï¥Î rmuser «ü¥O¡C

7.3. §Ú¸Ó«ç»ò§â·sµwºÐ¥[¤J FreeBSD ¨t²Î¤¤¡S

¹î¬Ý www.FreeBSD.org ªººÏºÐ®æ¦¡¤Æ«ü¾É¤å¥ó¡C

7.4. §Ú¦³¤@­Ó·sªº¥i²¾°£¸Ë¸m¡A§Ú¸Ó«ç»ò¨Ï¥Î¡S

¥i²¾°£¸Ë¸mµL½×¬O ZIP ©Î EZ(©Î¬Æ¦Ü¬O³nºÐ¾÷¡A¦pªG§A­n³o¼Ë¨Ï¥Î ¥¦)¡A©Î¬O¤@­Ó·sªºµwºÐ¡A¥u­n¬O¦w¸Ë¨Ã¥Ñ¨t²Î­«²Õ¡A¦Ó§A¦³ºÏ¤ù§X /³nºÐ¤ù/©Î¨ä¥LªF¦è¥i¥H´¡¤J¡A¨º³o¨Ç¸Ë¸m³£¬OÃþ¦ü¥\¯àªºªF¦è¡C

(¥»¸`¥D­n¥Ñ Mark Mayo's ZIP FAQ ¤Þ¤J)

°²¦p¬O ZIP ©Î³nºÐ¾÷¡A§A¤w¸g¦b¤W­±¦³ DOS Àɮרt²Î¡A¥i¥H¨Ï¥Î ¹³³o¼Ëªº©R¥O¡G

        mount -t msdos /dev/fd0c /floppy
      



³o¬O°w¹ï³nºÐ¾÷¡A©Î¬O¥H¤U©R¥O¡G

        mount -t msdos /dev/da2s4 /zip
      



¨Ï¥Î ZIP ªº¥X¼t¹w³]­È¡C

¨ä¥LºÏ¤ù¡A¥Î fdisk ©Î /stand/sysinstall ¹î¬Ý ¦p¦ó°t¸m¡C

±µ¤U¨Ó³o­Ó½d¨Ò¬O ZIP ¸Ë¦b da2¡A¦b²Ä¤T­Ó SCSI ºÏºÐ¡C

°£«D¬O³nºÐ¾÷¡A©Î¤@­Ó§A­pµe¸ò¨ä¥L¤H¤À¨É¨Ï¥Îªº¥i²¾°£¸Ë¸m¡A¦b ¦w¸Ë BSD Àɮרt²Î¥i¯à¬O¤@­Ó¤ñ¸û¦nªº¥D·N¡C§A±N¾Ö¦³ªøÀɦW¤ä´© ¡A¦Ü¤Ö¨â­¿¥H¤Wªº®Ä²v¼W¶i¡AÁÙ¦³§ó°ªªºÃ­©w«×¡C­º¥ý¡A§A»Ý­n­«·s »s§@ DOS ¼hªº¤À³Î°Ï/Àɮרt²Î¡C§A¥i¥H¨Ï¥Î fdisk ©Î /stand/sysinstall¡A©Î¹ï¤@­Ó§A¤£·Q¤ä´©¦h­«§@·~¨t²Îªº ¤pºÏºÐ¡A¥u­n§â¥¦¹º¤À¦¨¾ã­Ó FAT ¤À³Îªí(slices)¨Ã¥Î¥H¤U BSD ¤À ³Îªk¡G

        dd if=/dev/zero of=/dev/rda2 count=2
        disklabel -Brw da2 auto
      



§A¥i¥H¨Ï¥Î disklabel ©Î /stand/sysinstall ¥h«Ø¥ß¦h­« BSD ¤À³Î°Ï¡CµLºÃªº¦pªG§A¥¿¦bµwºÐ¾÷¤W¼W¥[¸m´«ªÅ¶¡(swap space)®É §A´N»Ý­n³o»ò°µ¡A¦ý¬O¦b¥i²¾°£¸Ë¸m¦p ZIP ¤W¥i¯à´N¬OµL·N¸qªº¡C

³Ì«á¡A«Ø¥ß¤@­Ó·sªºÀɮרt²Î¡A¤]´N¬O¦b ZIP ¸Ë¸m¤W¬O¨Ï¥Î¾ã­ÓºÏºÐ¡G

        newfs /dev/rda2c
      



¨Ã¥B§â¥¦ mount °_¨Ó¡G

        mount /dev/da2c /zip
      



¦b /etc/fstab ¥[¤J¤U­±³o¤@¦æ¥i¯à¬O¤@­Ó¦n¥D·N¡A§A¥H«á´N¥u ­n¥´"mount /zip" :

        /dev/da2c /zip ffs rw,noauto 0 0
      



7.5. §Ú¸Ó«ç»ò mount ¦¸­nªº DOS ¤À³Î°Ï¡S

¦¸­n DOS ¤À³Î°Ï¬O¦b©Ò¦³¥D­n¤À³Î°Ï¤§«á³Q§ä¨ì¡AÁ|¨Ò¡A¦pªG§A¦³¤@­Ó "E" ¤À³Î°Ï¦b²Ä¤G­Ó SCSI ¸Ë¸mªº²Ä¤G­Ó DOS ¤À³Î°Ï¡A§A»Ý­n¦b /dev ¤U «Ø¥ß "slice 5" ªº¯S®íÀɮסAµM«á mount /dev/da1s5¡G

        # cd /dev
        # ./MAKEDEV sd1s5
        # mount -t msdos /dev/da1s5 /dos/e
      



7.6. §Ú¥i¥H¦b FreeBSD ¤U mount ¨ä¥L²§½è©ÊÀɮרt²Î¶Ü¡S

Digital UNIX UFS ¥úºÐ¾÷¥i¥H¦b FreeBSD ¤Wª½±µ mount¡C±q Digital UNIX ©M¨ä¥L¤ä´© UFS ®æ¦¡ªº¨t²Î mount ºÏºÐ¤À³Î°Ï¥i¯à§ó ½ÆÂø¡A¥D­n²Ó¸`¬O¨Ì¿à§@·~¨t²ÎªººÏºÐ¤À³Îªk¡C

Linux: 2.2 ¤Î¥H«áªºª©¥»¤ä´© ext2fs ¤À³Î°Ï¡A½Ð¬d¾\ mount_ext2fs ¦³§ó¦h¸ê°T¡C

NT: ¤w¸g¦³¤@­Ó FreeBSD ¤U¥i¥H¨Ï¥Îªº°ßŪ NTFS ÅX°Êµ{¦¡ ¦s¦b¡A§ó¦h¸ê°T§A¥i¥H¹î¬Ý Mark Ovens ¦b http://ukug.uk.freebsd.org/~mark/ntfs_install.html ªº«ü¾É¤¶²Ð¡C

¦pªG±z¯à´£¨Ñ¥ô¦ó³o­Ó¥DÃDªº¨ä¥L¸ê°T¡A§Ú­Ì·|«Ü·P¿E¡C

7.7. §Ú¸Ó¦p¦ó¨Ï¥Î NT loader ¨Ó±Ò°Ê FreeBSD¡S

¥H¤U©Ò´y­zªºµ{§Ç¦b 2.2.x ©M 3.x(¨Ï¥Î 3-stage ¶}¾÷¼Ò¦¡)¨t²Î¤§¶¡¦³¬Û·í¤jªº¤£¦P¡C

³Ì´¶¹Mªº·Qªk¬O§â§A­ì¥» FreeBSD root ¤À³Î°Ïªº²Ä¤@­ÓºÏ°Ï«þ¨©¨ì DOS/NT ¤À³Î°Ï¸Ìªº¤@­ÓÀɮפº¡C°²³]§A©R¦W¥¦¬°¡G c:\bootsect.bsd (¥Ñ c:\bootsect.dos ±Â·N¦Ó¨Ó)¡A±µµÛ§A¥i¥H½s¿è c:\boot.ini Àɮפº®e¦p¤U¡G

        [boot loader]
        timeout=30

        default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
        [operating systems]
        multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows NT"
        C:\BOOTSECT.BSD="FreeBSD"
        C:\="DOS"
      



¹ï 2.2.x ª©¥»ªº¨t²Î¨Ó»¡¡A¦¹µ{§Ç°²³] DOS¡ANT¡AFreeBSD¡A©Î¨ä¥L§@·~¨t²Î¤w¸g³Q¦w¸Ë¦b <¦P¤@­Ó> ºÏºÐªº¦U¦Û¤À³Î°Ï¡C¥»¨Ò¤¤§Úªº DOS & NT ¬O¦b²Ä¤@ ­Ó¤À³Î°Ï¦Ó FreeBSD ¦b²Ä¤G­Ó¡C§Ú¤]§â FreeBSD ¦w¸Ë¦¨¥Ñ native partition ±Ò°Ê¡A¦Ó¤£¬O ±qºÏºÐªº MBR¡C

Mount ¤@­Ó DOS ®æ¦¡¤Æªº³nºÐ¡]°²¦p§A¤w¸gÂà´«¨ì NTFS¡^©Î FAT ¤À ³Î°Ï¨ì /mnt¡G

        dd if=/dev/rda0a of=/mnt/bootsect.bsd bs=512 count=1
      



­«·s¶}¾÷¶i¤J DOS ©Î NT¡CNTFS ¨Ï¥ÎªÌ§â bootsect.bsd ¥H¤Î/©Î bootsect.lnx ±q³nºÐ«þ¨©¨ì C:\¡C­×§ï boot.ini ªºÄÝ©Ê(¦s¨ú³\¥i)¡G

        attrib -s -r c:\boot.ini
      



½s¿è¨Ã±q¤W­z boot.ini ªº½d¨Ò¥[¤J¬ÛÃö¾A·íªº¶µ¥Ø¡A¦A§âÄݩʦ^´_ ¡G

        attrib +r +s c:\boot.ini
      



¦pªG FreeBSD ¬O¥Ñ MBR ±Ò°Ê¡A¦b§A­«·s³]©w±q­þ­Ó native ¤À³Î°Ï±Ò°Ê«á ¡A¥Î DOS ªº ``fdisk'' ©R¥O¦^´_¥¦¡C

¹ï FreeBSD 3.x ª©¥»ªº¨t²Î¦Ó¨¥¨BÆJ´N²³æ¦h¤F¡C

°²¦p FreeBSD ¬O¸ò NT ±Ò°Ê°Ï¦w¸Ë¦b¦P¤@­Ó¤À³Î°Ï¡A±N /boot/boot1 «þ¨©¦¨ c:\bootsect.bsd ¡A­Y FreeBSD ¸ò NT ±Ò°Ê°Ï¦w¸Ë¦b¤£¦P¤À³Î°Ï¡A«h±N /boot/boot0 «þ¨©¦¨ c:\bootsect.bsd ¡CµM«á°Ñ·Ó«e ­±´y­z­×§ï c:\bootsect.ini ³o­ÓÀɮסC

7.8. §Ú¸Ó¦p¦ó¥Î LILO ±Ò°Ê FreeBSD ©M Linux¡S

¦pªG§A¦b¦P¤@­ÓºÏºÐ¾÷¸Ì¦³ FreeBSD ©M Linux¡A¥u­n¸òÀH LILO ªº¦w ¸Ë«ü¥O¡A±q¤@­Ó«D Linux §@·~¨t²Î±Ò°Ê¡C²²¤»¡©ú¦p¤U¡G

±Ò°Ê Linux¡A¨Ã¦b /etc/lilo.conf ¤¤¥[¤J¥H¤U´X¦æ¡G

          other=/dev/hda2
              table=/dev/hda
              label=FreeBSD
         
¡]¤W­±¬O°²³]§Aªº FreeBSD slice ¦b Linux ¬O /dev/hda2 ¡F½Ð °t¦X¦Û¤vªº³]©w¡^¡CµM«á¡A¥Î root °õ¦æ lilo À³¸Ó´N§¹¦¨¤F¡C

°²¦p FreeBSD ¦b¥t¥~¤@­ÓºÏºÐ¡A§A¥²¶·¦b LILO ¿ï¶µ¤¤¥[¤J ``loader=/boot/chain.b''¡AÁ|¨Ò¡G

          other=/dev/dab4
              table=/dev/dab
              loader=/boot/chain.b
              label=FreeBSD
         


¬Y¨Ç±¡§Î§A¥²¶·«ü©w BIOS ºÏºÐ¥N¸¹µ¹ FreeBSD boot loader ¥H´Á±q²Ä ¤GºÏºÐ¦¨¥\ªº±Ò°Ê¡CÁ|¨Ò¡A°²¦p FreeBSD SCSI ºÏºÐ¦b BIOS ¤¤°»´ú ¬O BIOS disk 1¡A¨º¦b FreeBSD boot loader ªº´£¥Ü¸¹¥X²{®É§A¥²¶·«ü ©w¡G

      Boot: 1:da(0,a)/kernel
      



¦b FreeBSD 2.2.5 ©M¤§«áªºª©¥»¡A§A¥i¥H³]©w boot(8) ³o¼Ë¨C¦¸±Ò°Ê®É´N·|¦Û°Ê°õ¦æ¡C

Linux+FreeBSD mini-HOWTO ¬O FreeBSD ©M Linux ¦@¥Î¾Þ§@ªº¨}¦n °Ñ¦Ò¤å¥ó¡C

7.9. §Ú«ç»ò¨Ï¥Î BootEasy ¨Ó±Ò°Ê FreeBSD ©M Linux¡S

¦b Linux ±Ò°Ê¤À³Î°Ï¦w¸Ë LILO ¨ú¥N¥D­n±Ò°Ê¸ê®Æ(Master Boot Record)¡C±µµÛ§A¥i¥H±q BootEasy ±Ò°Ê LILO¡C

°²¦p§A¥¿¦b¥Î Windows-95 ©M Linux¡A³o¦³¤@­Ó«ØÄ³¤èªk¡G­n§ó²³æ ªº±q Linux ¦A¦¸±Ò°Ê¦b©ó§A¬O§_À³¸Ó­«·s¦w¸Ë Windows95¡]³o¬O¤@­Ó µ½§ªªº§@·~¨t²Î¡A¥¦À£­¢¤£Åý¨ä¥L§@·~¨t²Î¦s¦b©ó Master Boot Record ¤º¡^¡C

7.10. ¤@­Ó©Ò¿×``¦MÀI©^Äm(dangerously dedicated)''ªººÏºÐ¦³®`¶Ü¡S

¦w¸Ëµ{§Ç¤¹³\§A¿ï¾Ü¨âºØ¤£¦Pªº¤èªk¨Ó¤À³Î§Aªº ºÏºÐ¾÷¡C¤º©w¤èªk¬°¤F¦b¦P¤@¥x¾÷¾¹¤W©M¨ä¥L§@·~¨t²Î¥i¥H¬Û®e¡A©ó¬O ¨Ï¥Î fdisk table entries(FreeBSD ¸ÌºÙ¤§¬°``slices'')¡AFreeBSD ªº slice ´N¬O¨Ï¥Î¾ã­Ó¦Û¤vªº¤À³Î°Ï¡C¥i¨Ñ¿ï¾Üªº¬O¡A§A¥i¥H¿ï¾Ü¦w¸Ë ±Ò°Ê¿ï¾Ü¾¹(boot-selector) ¦bºÏºÐ¾÷¼Æ­Ó¥i¯àªº§@·~¨t²Î¤W¨Ó¦^¤Á´«¡C

¥t¥~¤@­Ó¥i¿ï¾Üªº¥Îªk¬O§â¾ã­ÓºÏºÐ¼·µ¹ FreeBSD ¨Ï¥Î¡A¨Ã¥B¤£°µ¨ä¥L §@·~¨t²Îªº¬Û®e©Ê¦Ò¶q¡C

¦]¦¹¬°¦ó¥s¥¦``¦MÀIªº''¡S¤@­Ó³B©ó³oºØ¼Ò¦¡ªººÏºÐ¾÷¤£¥]§t¯à³Q¥¿ ±` PC ¤½¥Îµ{¦¡µø¬°¦³®Äªº fdisk table¡C¨Ì´`¥¦­Ì³Q³]­pªº¼Ò¦¡¡A¥u ­n¥¦­Ì¦b³o¼Ë¤@­ÓºÏºÐ¾÷¤¤¤@¥¹³QIJ¤Î¥i¯à´N·|²£¥Í¿ù»~ªº´£¥Ü¡A©Î§ó ÁV¿|ªº¡A¥i¯à¥¼¸g´£¥Ü©Î³qª¾§A´N§â FreeBSD bootstrap §ËÃa¡C¥t¥~ ¡A``¦MÀI©^Äm''ªººÏºÐ layout ·|»~¾É³\¦h¼tµPªº BIOSsen(BIOS °»´ú) ¹³¬OAWARD(¤ñ¦p»¡¦b HP Netserver ©M Micronics µ¥¥H¤Î¨ä¥L³\¦h¨t ²Î)¡A©M Symbios/NCR(¦p¦b SCSI controllers ¤¤«Ü¬y¦æªº 53C8xx ¨t¦C)¡C³o¨Ã«D¤@­Ó§¹¾ãªº¦Cªí¡AÁÙ¦³§ó¦h¥¼¦C¥X¡C³oºØ»~¾Éªº¼x¥ü¥] ¬A¥Ñ FreeBSD bootstrap ±Ò°Ê¡A·íµwºÐµLªk³Q§ä¨ì®É¦Ó¦L¥X "read error" ªº°T®§¡A¥H­P©ó¾ã­Ó¨t²Î¦b±Ò°Ê¤¤¾ã­Ó°±º¢¡C

¨º¬°¦ó¤S­n¦³³oºØ¼Ò¦¡©O¡H¥¦¥u¸`¬ÙºÏºÐªÅ¶¡¤¤¼Æ kbyte ªº¤j¤p¡A ¦Ó¹ï¤@­Ó·sªº¦w¸Ë¹Lµ{¤¤«o¥i¯à²£¥Í¹ê»Úªº§xÃø¡C`¦MÀI©^Äm'¼Ò¦¡­ì¥» ªº·Qªk¬O°ò©óÁ×§K¤@­Ó¥þ·s FreeBSD installer ¤¤³Ì±`¨£ªº°ÝÃD - ¬° ¤F­n¦bºÏºÐ¾÷¤W°t¦X BIOS ªº ``geometry'' ¼Æ¥Ø¡C

``Geometry''¬O¤@­Ó¦³ÂI¸¨¥îªº·§©À¡A¦ý¬O«o¤´¦b PC ªº BIOS ¤¤ ¨Ï¥Î¨Ã¥B»PºÏºÐ¾÷¥æ¤¬¹B§@µÛ¡A·í FreeBSD installer «Ø¥ß slice ®É ¡A¥¦¥²¶·°O¿ý³o¨Ç slices ¦bºÏºÐ¾÷¤Wªº¦ì¸m¡A³o¤èªk¥²¶·©M BIOS §Æ ±æ¯à§ä¨ì¥¦­Ìªº¦ì¸m¤@­P¡C°²¦p¿ù¤F¡A§A±N¤£¥i¯à±Ò°Ê¨t²Î¡C

``Dangerously dedicated''¼Ò¦¡(«á­±·|²ºÙ¬° DD mode)¸ÕµÛ­nÅý ³o­Ó°ÝÃD²³æ¤@ÂI¡A¬Y¨Ç±¡§Î¤U¥¦°µ¹ï¤F¡C¦ý³o¥u¯à·í¦¨³Ì«áªº¤U¤U¤§ µ¦ - ÁÙ¦³§ó¦nªº¤èªk¥i¥H¸Ñ¨M³o°ÝÃDªºµ´¤j³¡¥÷¡C(ĶªÌ¡G³o³¡¥÷¥Î¤F ³\¦hªº¤f»y¥Îµü¡A­ì¤å·Ó¿ý¥H¨Ñ¹ï·Ó¡C)

``Dangerously dedicated'' mode tries to work around this by making the problem simpler. In some cases, it gets it right. But it's meant to be used as a last-ditch alternative - there are better ways to solve the problem 99 times out of 100.

¦]¦¹¡A·í§A¦b¦w¸Ë®É«ç»òÁ×§K­n¨Ï¥Î``DD''¼Ò¦¡¡H¦b¶}©l®É°O¤U BIOS ­n¨D¨Ï¥ÎºÏºÐ¾÷ªº geometry¡A§A¥i¥H¦b±Ò°Êªº ``boot:''´£¥Ü ¸¹¥X²{®É¡A¥H``-v''«ü©w®Ö¤ß¦L¥X³o­Ó°T®§¡A©Î¬O¦b loader ¸Ì­± ¨Ï¥Î``boot -v''¡C¦b installer ¶}©l°Ê§@«e¡A®Ö¤ß·|¦L¥X¤@¦ê BIOS geometries¡C§Oºò±i - µ¥ installer ¶}©l±Ò°Ê«á¨Ï¥Î scrollback ¤è¦¡¥hŪ³o¨Ç¼Æ¦r¡A«ö·ÓºD¨Ò¦a BIOS ºÏºÐ¾÷ªº³æ¤¸·|¸ò FreeBSD ¦C Á|¥X¨Óªº¤@¼Ë¡AIDE ¥ý¡AµM«á¤~¬O SCSI¡C

·í§A¦b¤À³Î§AªººÏºÐ®É¡AÀˬd¦b FDISK ¿Ã¹õ¤W¥X²{ªººÏºÐ geometry ¬O¥¿½Tªº(¤]´N¬O»¡­n¸ò BIOS ªº¼Æ¦r¬Û²Å¦X)¡F¦pªG¿ù¤F¡A¥Î``g''«öÁä ­×§ï¡C·í§A¦b¿Ã¹õ¤W¬Ý¤£¨ì¥ô¦óºÏºÐ¾÷¡A©Î°²¨ÏºÏºÐ¾÷¤w¸g¥Ñ¥t¤@­Ó¨t ²Î¤¤²¾°£®É¡A¯S§OÀ³¸Ó³o»ò°µ¡C­È±oª`·Nªº¬O³o¥u¬O«ü©w§A­n¥Ñ­þ­ÓºÏºÐ ¤W±Ò°Ê¡FFreeBSD ±N·|¦Û¦æ§ä¥X¦b§A¨t²Î¤Wªº¨ä¥LºÏºÐ¾÷¡C

¤@¥¹§A¨ú±o BIOS ¸ò FreeBSD ¨âªÌ¹ïºÏºÐ¾÷ geometry ªº¦@ÃÑ¡A§A ªº§xÃø´X¥G¤w¸gªï¤b¦Ó¸Ñ¡A¦Ó¥B¦A¤]¤£»Ý­n¨Ï¥Î``DD''mode¡CµM¦Ó¡A°² ¦p§A¤´¾á¤ß·í§A¹Á¸Õ±Ò°Ê®É·|¬Ý¨ì``read error''°T®§¡A³o®É­Ô§A¯à°µ ªº´N¬Oë§iµM«á¸Õ¬Ý¬Ý - ¤Ï¥¿¤]¨S¤°»ò¦n¥¢¥hªº¡C

­n§â``¦MÀI©^Äm''ªººÏºÐ¦^´_¨ì¥¿±` PC ¨Ï¥Î¡A°ò¥»¤W¦³¨â­Ó¿ï¾Ü¡C ²Ä¤@¡A¬O§A§â¨¬°÷ªº NULL ¦ì¤¸²Õ¼g¤J MBR ½T«O¥ô¦óÀH«áªº¦w¸Ëµ{ ¦¡¬Û«H³o¥u¬O¤@­ÓªÅ¥ÕªººÏºÐ¡CÁ|¨Ò¨Ó»¡§A¥i¥H³o¼Ë°µ¡G

        dd if=/dev/zero of=/dev/rda0 count=15
      



©Î¬O±Ä¥Î¥t¥~¤@­Ó¡A«D¥¿¦¡ªº DOS ``¯S¦â''¡G

        fdisk /mbr
      



³o±N·|¦w¸Ë¤@­Ó¥þ·sªº¥D­n±Ò°Ê°O¿ý¡A¦]¦¹·|¯}Ãa BSD bootstrap¡C

7.11. §Ú¦p¦ó¯à¥[¤J§ó¦hªº¸m´«ªÅ¶¡(swap space)¡S

³Ì¦nªº¤èªk¬O¼W¥[§A swap ¤À³Î°Ïªº¤j¤p¡A©Î§Q¥Î³o­Ó¤è«K²z¥Ñªº¦n³B¥h ¼W¥[¥t¤@­ÓµwºÐ¡CºD¨Òºâªk¬O¥Î¥D°O¾ÐÅ骺¨â­¿·í¸m´«ªÅ¶¡(swap space) ¡AµM¦Ó¦pªG§A¥u¦³«Ü¤Ö¶qªº¥D°O¾ÐÅé¡A§A¥i¯à·Q¥t¥~³]©w swap¡C³]©w¨¬°÷ ªº¸m´«ªÅ¶¡¡A¨Ã¬°¥H«á°O¾ÐÅéÂX¥R¹w§@·Ç³Æ¥i¯à¬O­Ó¦n¥D·N¡A³o¼Ë¥H«á´N ¤£»Ý­n¦A°µ¤@¦¸¸m´«ªÅ¶¡ªº³]©w¡C

¦b¤À´²ªººÏºÐ¤W¼W¥[¸m´«ªÅ¶¡·|¤ñ³æ¯Â¦a¦b¦P¤@­ÓºÏºÐ¥[¤J¸m´«ªÅ¶¡ Åý®Ä²v¨Óªº§Ö¤@ÂI¡CÁ|¤@­Ó¨Ò¤l¨Ó»¡¡A¦pªG§A¥¿¦b¤@­ÓºÏºÐ¸Ì½sĶ¨Ó ·½µ{¦¡¡A¦Ó¸m´«ªÅ¶¡¦b¥t¤@­ÓºÏºÐ¡A³o·|¤ñ¸m´«ªÅ¶¡¸ò½s͵{¦¡³£¦b ¦P¤@­ÓºÏºÐ®É¨Ó±o§Ö¡C³o¹ï SCSI ºÏºÐ¾÷¯S§O¥¿½T¡C

·í§A¦³¦n´X­ÓºÏºÐ¾÷®É¡A¦b¨C­ÓºÏºÐ¤W³]©w¤@­Ó swap ¤À³Î°Ï¬O¦³ §Qªº¡A¬Æ¦Ü³Ì«á¨Ï¥Î¤@¾ã­ÓºÏºÐ¾÷·í¸m´«ªÅ¶¡¡C¤@¯ë¨Ó»¡¡A¨C­Ó¨t²Î ¤Wªº§Ö³tºÏºÐ³£À³³]©w¬Y¨Ç swap¡AFreeBSD ¤º©w¤ä´©³Ì¦h¥|­Ó¥æ¿ù¦¡ swap ¸Ë¸m¡C³q±`³]©w¦h­« swap ¤À³Î°Ï®É§A·|·QÅý¥¦­Ì³£¨Ï¥Î¦P¼Ë¤j ¤p¡A¦ý¦³®É§Ú­Ì·|·QÅý¥D­n swap ¤À³Î°Ï(primary swap partition) §ó¤j¤@ÂI¥H®e¯Ç®Ö¤ßµ{¦¡ªº core dump¡C§Aªº primary swap partition ¦Ü¤Ö¥²¶·©M¥D°O¾ÐÅé¤@¼Ë¤j¡A¥H¯à®e¯Ç¤@­Ó kernel core¡C

IDE ºÏºÐ¨Ã¤£¤¹³\¦P®É¦b¦P¤@³q¹D¸Ì¦s¨ú¨â­Ó¸Ë¸m¡]FreeBSD ¤£¤ä´© mode 4¡A¦]¦¹©Ò¦³ªº IDE ºÏºÐ I/O ¬O``¥iµ{¦¡¤Æªº''¡^¡CµM¦Ó§Ú¤´ ·|«ØÄ³§A§â¸m´«ªÅ¶¡©ñ¦b¤À§OªººÏºÐ¡CºÏºÐ¾÷³o»ò«K©y¡A¹ê¦b¨S¤°»ò ¦n¾á¤ßªº¡C

¦b NFS ¤W°µ¸m´«¶È¦b¥H¤U±¡§Î³Q«ØÄ³¨Ï¥Î¡G§A¨S¦³¦Û¤vªººÏºÐ¥i ¥H¨Ï¥Î¡CFreeBSD 4.0 ¥H«e release ªºª©¥»¦b NFS ¤W°µ¸m´«¬O¬Û·í ½wºC¦ÓµL®Ä²vªº¡A¦ý¦bµ¥©ó 4.0 ©Î¤§«áªº release ª©¥»´N¦³¦X²zªº ³t«×¤F¡C§Y¨Ï¦p¦¹¡AÁÙ¬O¨ü¨ìºô¸ô¦³®ÄÀW¼e©M¦b NFS server ¤WÃB¥~ ¸Ë¸üªº­­¨î¡C

³o¸Ì¦³­Ó½d¨Ò¬O¥Î 64MB vn-swap (/usr/swap0¡A·íµM§A¯à¥Î ¥ô¦ó§A·Q¥Îªº¦W¦r¡^¡C

½T©w§Aªº®Ö¤ßµ{¦¡«Ø¥ß®É¦³¥]§t¥H¤U³o¦æ¡G

        pseudo-device   vn 1   #Vnode driver (turns a file into a device)
      



¦b§Aªº³]©wÀɤ¤¡CGENERIC ³o­Ó®Ö¤ß¤w¸g¥]§t³o¶µ¤F¡C

  1. «Ø¥ß¤@­Ó vn-device

              cd /dev
              sh ./MAKEDEV vn0
            



  2. «Ø¥ß¤@­Ó¸m´«ÀÉ (/usr/swap0)

              dd if=/dev/zero of=/usr/swap0 bs=1024k count=64
            



  3. ³]©w¾A·íªº¦s¨úÅv©ó(/usr/swap0)

              chmod 0600 /usr/swap0
            



  4. ¦b /etc/rc.conf ¤¤±Ò°Ê¸m´«ÀÉ

              swapfile="/usr/swap0"   # Set to name of swapfile if aux swapfile desired.
            



  5. ­«·s¶}¾÷¡C



­n°¨¤W±Ò°Ê¸m´«ÀÉ¡AÁä¤J¡G

        vnconfig -ce /dev/vn0c /usr/swap0 swap
      



7.12. §Ú¤£·|³]©w§Úªº¦Lªí¾÷¡C

½Ð°Ñ¾\ Handbook ¸Ì¦³Ãö¦C¦Lªº³¡¥÷¡C³oÀ³¸Ó¯à¸Ñ¨M§A¤j³¡¤Àªº°ÝÃD¡A½Ð¬Ý Handbook entry on printing.

7.13. §Ú¨t²Î¤WªºÁä½L°t¸m¿ù¤F¡C

kbdcontrol µ{¦¡¦³¤@­Ó¿ï¶µ¥i¥HŪ¨úÁä½L°t¸mÀɮסC¦b /usr/share/syscons/keymaps ¦³¤@¨Ç°t¸mÀÉ¡C¿ï¾Ü¤@­Ó¸ò§Aªº ¬ÛÃöªº¨ÃŪ¨ú¥¦¡C

        kbdcontrol -l uk.iso
      



/usr/share/syscons/keymaps ©M .kbd ©µ®i¶°¨â­Ó³£¥Ñ kbdcontrol ©ÒÂ_©w¡C

¥i¥H±q /etc/sysconfig (©Î rc.conf) ¨Ó³]©w¡A½Ð¬Ý¦¹Àɸ̬ÛÃöªºµù¸Ñ¡C

¦b 2.0.5R ¤Î¨ä¤§«áªºª©¥»¡A©Ò¦³¸ò¤å¦r¦r«¬¡AÁä½L¹ïÀ³¬ÛÃöªº³]©w³£¦b /usr/share/examples/syscons¡C

¥H¤U¬O¥Ø«e¤ä´©ªº¹ïÀ³³]©w¡G

  • Belgian ISO-8859-1

  • Brazilian 275 keyboard Codepage 850

  • Brazilian 275 keyboard ISO-8859-1

  • Danish Codepage 865

  • Danish ISO-8859-1

  • French ISO-8859-1

  • German Codepage 850

  • German ISO-8859-1

  • Italian ISO-8859-1

  • Japanese 106

  • Japanese 106x

  • Latin American

  • Norwegian ISO-8859-1

  • Polish ISO-8859-2 (programmer's)

  • Russian Codepage 866 (alternative)

  • Russian koi8-r (shift)

  • Russian koi8-r

  • Spanish ISO-8859-1

  • Swedish Codepage 850

  • Swedish ISO-8859-1

  • Swiss-German ISO-8859-1

  • United Kingdom Codepage 850

  • United Kingdom ISO-8859-1

  • United States of America ISO-8859-1

  • United States of America dvorak

  • United States of America dvorakx



7.14. §ÚµLªkÅý user quotas ¥¿±`¤u§@¡C

  1. ¤£­n¦b '/' ¥´¶} quotas¡A

  2. §â quotas ÀÉ©ñ¦b¥¦¥²¶·±j­¢¸m¤JªºÀɮרt²Î¤º¡AÁ|¨Ò¡G

              FS      QUOTA FILE
              /usr    /usr/admin/quotas
              /home   /home/admin/quotas
              ...
            





7.15. §Úªº ccd ¦³¦ó¤£§´¡S

³oºØ±¡§Îªº¼x¥ü¬O¡G

        # ccdconfig -C
        ccdconfig: ioctl (CCDIOCSET): /dev/ccd0c: Inappropriate file type or format
        #
      



³q±`³o·|µo¥Í¦b§A¹Á¸Õ­n³sµ² `c' ¤À³Î°Ï¡A³o¤º©wªº«¬§O¬O`µLªk¨Ï¥Îªº' ¡Cccd ÅX°Êµ{¦¡»Ý­nªº°ò¦¤À³Î°Ï«¬§O¬° FS_BSDFFS¡A½s¿è§A­n¸ÕµÛ³sµ²ªººÏºÐ ¼Ð°O¨Ã§ó§ï¤À³Î°Ïªº«¬§O¬°`4.2BSD'¡C

7.16. ¬°¦ó§Ú¤£¯à½s¿è§Ú ccd ªººÏºÐ¼Ð°O¡S

³oºØ±¡§Îªº¼x¥ü¬O¡G

        # disklabel ccd0
        (³o¸Ì¦L¥X¬Y¨Ç©úÅ㪺¸ê®Æ¡A©Ò¥H¸ÕµÛ½s¿è¥¦¡^
        # disklabel -e ccd0
        (½s¿è¡AÀx¦s¡AµM«áÂ÷¶})
        disklabel: ioctl DIOCWDINFO: No disk label on disk;
        use "disklabel -r" to install initial label
        #
      



³o¬O¦]¬°¥Ñ ccd ¶Ç¦^ªººÏºÐ¼Ð°O¨Æ¹ê¤W¬O¤@­Ó`°²ªº'¦Ó¨S¦³¯u¥¿¦bºÏºÐ ¤W¡C§A¥i¥H§â¥¦§¹¥þ¼g¤J¨Ó¸Ñ¨M³o­Ó°ÝÃD¡A¹³³o¼Ë¡G

        # disklabel ccd0 > /tmp/disklabel.tmp
        # disklabel -Rr ccd0 /tmp/disklabel.tmp
        # disklabel -e ccd0
        (this will work now)
      



7.17. FreeBSD ¤ä´© System V IPC ®æ¦¡«ü¥O¶°¡H

¬Oªº¡AFreeBSD ¤ä´© System V-style IPC¡C³o¥]¬A¦@¨É°O¾ÐÅé¡A°T®§¸ò «H¸¹¡C§A»Ý­n¦b§Aªº®Ö¤ß³]©wÀɤº¥[¤J¤U¦C´X¦æ¥H±Ò°Ê¥¦­Ì¡C

        options    SYSVSHM
        options    "SHMMAXPGS=64"   # 256Kb of sharable memory
        options    SYSVSEM          # enable for semaphores
        options    SYSVMSG          # enable for messaging
      



­«·s½sĶ¨Ã¦w¸Ë¡C

ª`·N¡G ¦pªG§A­n°õ¦æ GIMP §A¥i¯à»Ý­n¼W¥[ SHMMAXPKGS ¨ì¬Y¨Ç¯î ÂÕªº¼Æ¥Ø¹³¬O 4096(16M!)¡A256Kb ¹ï X11R6 ¦@¨É°O¾ÐÅé¨Ó»¡¤w¸g¥R¤À¨¬ °÷¤F¡C

7.18. §Ú¸Ó¦p¦ó¨Ï¥Î sendmail ³z¹L UUCP ¨Ó»¼°e¶l¥ó¡H

¸òÀH FreeBSD ®M¸Ë¦Ó¨Óªº sendmail ³]©w¬O¾A¦X¨º¨Çª½±µ³s¤Wºô»Úºô¸ô ªº¯¸¥x¡C·Q³z¹L UUCP ¥æ´«¶l¥óªº¯¸¥x¥²¶·¥t¥~¦w¸Ë sendmil ªº³]©wÀÉ ®×¡C

¤â°Ê­×§ï /etc/sendmail.cf ¬Oµ´¹ï¥²­nªº¡C²Ä 8 ª©ªº sendmail ´£¨Ñ¤@­Ó¥þ·sªº¤J¤f¥H³z¹L¤@¨Ç¹³ m4 ªº³B²z´N¯à ²£¥Í³]©wÀÉ¡A³o¨Æ¹ê¤W¬O¤@­Ó°ª¼h·§©Àµ¥¯Åªº§Þ¥©©Ê³]©w¡C§AÀ³¸Ó¥i¥H¦b¥H ¤UÀɮ׸̨ϥΥ¦¡G

        /usr/src/usr.sbin/sendmail/cf
      



°²¦p§A¤£¬O¥Î full sources ¤è¦¡¦w¸Ë¨t²Î¡A¨º»ò sendmail ³]©w¶µ¥Ø¥i ¯à¤w¸g¤À´²¦¨¦n´X­Ó¨Ó·½¤À¥¬Àɦbµ¥µÛ§A¡A°²³]§A¤w¸g mount ¥úºÐ¾÷¡A°µ ¥H¤U°Ê§@¡G

        cd /usr/src
        tar -xvzf /cdrom/dists/src/ssmailcf.aa
      



§OÅå·W¡A³o¥u¦³¼Æ¤Q¸U­Ó¦ì¤¸²Õªº¤j¤p¡C¦b cf ¥Ø¿ý¸Ìªº README ¥i¥H´£¨Ñ¤@­Ó m4 ³]©wªkªº°ò¥»¤¶²Ð¡C

¥H UUCP »¼°e¨Ó»¡¡A«ØÄ³§A³Ì¦n¨Ï¥Î mailertable ¯SÂI¡C «Øºc¤@­Ó¸ê®Æ®wÅý sendmail ¥i¥H¨Ï¥Î¥¦¦Û¤vªº¸ô®|¨Mµ¦¡C

­º¥ý¡A§A¥²¶·«Ø¥ß¦Û¤vªº .mc ÀÉ¡C /usr/src/usr.sbin/sendmail/cf/cf ¥Ø¿ý¬O³o¨ÇÀɮתº®a¡C ¬d¬Ý¤@¤U¡A¤w¸g¦³¦n´X­Ó½d¨ÒÀÉ¡A°²³]§A¤w¸g©R¦W¦Û¤vªºÀÉ¥s foo.mc¡A§A­n°µªº¥u¬O§â¥¦Âà´«¦¨¤@­Ó¦³®Äªº sendmail.cf ¡G

        cd /usr/src/usr.sbin/sendmail/cf/cf
        make foo.cf
        cp foo.cf /etc/sendmail.cf
      



¤@­Ó¨å«¬ªº .mc Àɬݰ_¨Ó¥i¯à¹³³o¼Ë¡G

        include(`../m4/cf.m4')
        VERSIONID(`Your version number')
        OSTYPE(bsd4.4)

        FEATURE(nodns)
        FEATURE(nocanonify)
        FEATURE(mailertable)

        define(`UUCP_RELAY', your.uucp.relay)
        define(`UUCP_MAX_SIZE', 200000)

        MAILER(local)
        MAILER(smtp)
        MAILER(uucp)

        Cw    your.alias.host.name
        Cw    youruucpnodename.UUCP
      



nodns ©M nocanonify ¯S©Ê±NÁ×§K¥ô¦ó¦b»¼°e¶l¥ó ®É·|¥Î¨ì DNS ªº¾÷·|¡CUUCP_RELAY ¶µ¥Øªº¥X²{²z¥Ñ«Ü©_©Ç¡A ´N¤£­n°Ý¬°¦ó¤F¡C²³æªº©ñ¤J¤@­Óºô»Úºô¸ô¤W¥i¥H³B²z .UUCP µêÀÀºô°ì ¦ì§}ªº¥D¾÷¦WºÙ¡F³q±`¡A§A¥u»Ý­n¦b³o¸Ì¶ñ¤J§A ISP ªº«H¥ó¦^ÂгB (mail replay)¡C

§A¤w¸g°µ¨ì³o¸Ì¤F¡A§AÁٻݭn³o­Ó¥s /etc/mailertable ªº ÀɮסC¤@­Ó¨å«¬ªº½d¨Ò¦p¤U¡G

        #
        # makemap hash /etc/mailertable.db < /etc/mailertable
        #
        horus.interface-business.de   uucp-dom:horus
        .interface-business.de        uucp-dom:if-bus
        interface-business.de         uucp-dom:if-bus
        .heep.sax.de                  smtp8:%1
        horus.UUCP                    uucp-dom:horus
        if-bus.UUCP                   uucp-dom:if-bus
        .                             uucp-dom:sax
      



¦p§A©Ò¨£¡A³o¬O¬Y­Ó¯u¹êÀɮ׸̪º¤@³¡¥÷¡C­º¤T¦æ³B²zºô°ì©w§}«H¥ó ¤£À³¸Ó³Q°e¥X¨ì¤º©w¸ô®|¡A¦Ó¥Ñ¬Y¨Ç UUCP ¾F©~(UUCP neighbor)¨ú¥N ªº¯S®í±¡§Î¡A³o¬O¬°¤F``ÁYµu''»¼°eªº¸ô®|¡C¤U¤@¦æ³B²z¨ì¥»¦a¤A¤Ó ºô¸ôºô°ìªº«H¥óÅý¥¦¥i¥H¨Ï¥Î SMTP ¨Ó»¼°e¡C³Ì«á¡AUUCP ¾F©~´£¨ì .UUCP µêÀÀºô°ìªº°O¸ü¡A¤¹³\¤@­Ó``uucp-neighbor!recipient''±À½¤º©w³W«h¡C³Ì«á¤@¦æ«h¥H¤@ ­Ó³æ¿Wªº¥yÂI°µµ²§ô¡A¥H UUCP »¼°e¨ì´£¨Ñ·í§A¥þ¥@¬É©Ê¶l¥ó¹hªùªº UUCP ¾F©~¡C©Ò¦³¦b uucp-dom: ÃöÁä¦r¸Ìªº¸`ÂI¦WºÙ¥²¶·³£¬O ¦³®Äªº UUCP ¾F©~¡A§A¥i¥H¥Î uuname ©R¥O¥h½T»{¡C

´£¿ô§A³o­ÓÀɮצb¨Ï¥Î«e¥²¶·³QÂà´«¦¨ DBM ¸ê®Æ®wÀɮסA³Ì¦n¦b mailertable ³Ì¤W­±¥Îµù¸Ñ¼g¥X©R¥O¦C¨Ó§¹¦¨³o­Ó¤u§@¡C·í§A¨C¦¸§ó´«§A ªº mailertable «á§AÁ`¬O»Ý­n°õ¦æ³o­Ó©R¥O¡C

³Ì«á´£¥Ü¡G¦pªG§A¤£½T©w¬Y¨Ç¯S©wªº«H¥ó¸ô®|¥i¥Î¡A°O±o§â -bt ¿ï¶µ¥[¨ì sendmail¡C³o·|±N sendmail ±Ò°Ê¦b address test mode ¡F¥u­n«ö¤U ``0''¡A±µµÛ¿é¤J§A§Æ±æ´ú¸Õªº«H¥ó¸ô®|¦ì§}¡C³Ì«á¤@¦æ§i¶D§A¨Ï ¥Î¤º³¡ªº«H¥ó¥N²zµ{¦¡¡A¥N²zµ{¦¡ªº·|³qª¾¥Øªº¥D¾÷¡A¥H¤Î(¥i¯àÂà´«ªº)¦ì§} ¡C­nÂ÷¶}¦¹¼Ò¦¡½Ð«ö Control-D¡C

        j@uriah 191% sendmail -bt
        ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
        Enter <ruleset> <address>
        > 0 foo@interface-business.de
        rewrite: ruleset  0   input: foo @ interface-business . de
        ...
        rewrite: ruleset  0 returns: $# uucp-dom $@ if-bus $: foo \
        < @ interface-business . de >
        > ^D
        j@uriah 192%
      



7.19. ·í§Ú¥Î¼·±µ³s¤Wºô¸ô®É¸Ó«ç»ò³]©w«H¥ó»¼°e¡H

¦pªG§A¤w¸g¦³¤@­Ó©T©wªº IP ¼Æ¦r¡A§A¤£»Ý­n½Õ¾ã¥ô¦ó¤º©w­È¡C³]¦n §A­n«ü©wªººô¸ô¦WºÙ¡A¨ä¥Lªº sendmail ³£·|À°§A°µ§¹¡C

¦pªG§A®³¨ìªº¬O°ÊºA°t¸mªº IP ¼Æ¦r¦Ó¨Ï¥Î¼·±µ ppp ³s±µ¨ìºô »Úºô¸ô¡A§A¥i¯à¤w¸g¦b§Aªº ISP «H¥ó¥D¾÷¤W¦³¤@­Ó«H½c¡C°²³]§Aªº ISP ºô°ì¬O myISP.com¡A§Aªº¨Ï¥ÎªÌ¦WºÙ¬O user¡C¥ç°² ³]§AºÙ¦Û¤vªº¥D¾÷¦WºÙ¬O bsd.home ¦Ó§Aªº ISP §i¶D§A¥i¥H¨Ï¥Î relay.myISP.com ·í§@«H¥ó¦^ÂгB¡C

¬°¤F±q§Aªº«H½c±µ¦¬«H¥ó¡A§A±N»Ý­n¦w¸Ë¨ú«Hµ{¦¡¥H«K±q«H½c¨ú¦^«H¥ó¡C Fetchmail ¬O¤@­Ó¤£¿ùªº¿ï¾Ü¦]¬°¥¦¤ä´©³\¦h¤£¦Pªº³q°T¨ó©w¡A³q±` §Aªº ISP ·|´£¨Ñ POP3¡C¦pªG§A¿ï¾Ü¨Ï¥Î user-ppp¡A§A¥i¥H¦b³s½u¨ìºô¸ô ¦¨¥\«á¦Û°Ê§ì¨ú§Aªº«H¥ó¡A¥u­n¦b /etc/ppp/ppp.linkup ¸Ì­± ³]©w¥H¤U³o¶µ¡G

        MYADDR:
          !bg su user -c fetchmail
      



°²¨Ï§A¥¿¨Ï¥Î sendmail(¦p¤U©Ò¥Ü)¶Ç°e«H¥ó¨ì«D¥»¦a±b¸¹ ¡A¸m¤J¥H¤U©R¥O¡G

         !bg su user -c "sendmail -q"
      



¦b¤W­±¨º¶µ©R¥O¤§«á¡C³o·|±j­¢ sendmail ¦b³s±µ¤Wºô¸ô«á°¨¤W¶}©l³B ²z mailqueue¡C

§Ú°²³]§A¦b bsd.home ¾÷¾¹¤W¦³¤@­Ó user ªº±b¸¹¡C¦b bsd.home ¾÷¾¹¤W user ªº®a¥Ø¿ý¸Ì«Ø¥ß¤@­Ó .fetchmailrc ªºÀɮסG

        poll myISP.com protocol pop3 fetchall pass MySecret;
      



µL¶·Âب¥¡A³o­ÓÀɰ£¤F user ¥~¤£À³¸Ó³Q¥ô¦ó¤HŪ¨ú¡A¦]¬°¥¦¥]§t ¤F MySecret ³o­Ó±K½X¡C

¬°¤F¦b±H«H®É¦³¥¿½Tªº©ïÀY from: ¡A§A¥²¶·§i¶D sendmail ¨Ï¥Î ¦Ó«D ¡C§A¥i¯à·|§Æ±æ§i¶D sendmail ±q relay.myISP.com °e¥X©Ò¦³«H¥ó¡A¥[§Ö«H¥ó¶Ç°e¡C

¥H¤Uªº .mc ÀÉÀ³¯àº¡¨¬§Aªº­n¨D¡G

        VERSIONID(`bsd.home.mc version 1.0')
        OSTYPE(bsd4.4)dnl
        FEATURE(nouucp)dnl
        MAILER(local)dnl
        MAILER(smtp)dnl
        Cwlocalhost
        Cwbsd.home
        MASQUERADE_AS(`myISP.com')dnl
        FEATURE(allmasquerade)dnl
        FEATURE(masquerade_envelope)dnl
        FEATURE(nocanonify)dnl
        FEATURE(nodns)dnl
        define(SMART_HOST, `relay.myISP.com')
        Dmbsd.home
        define(`confDOMAIN_NAME',`bsd.home')dnl
        define(`confDELIVERY_MODE',`deferred')dnl
      



¦p¦óÂà´«³o­Ó .mc Àɮרì sendmail.cf Àɪº¸Ô²Ó²Ó¸`½Ð °Ñ¦Ò¤W¤@¸`¡C¥t¥~¡A¦b§ó·s sendmail.cf ¥H«á¤£­n§Ñ°O­«·s±Ò°Ê sendmail¡C

7.20. «x¡I§Ú§Ñ°O root ªº±K½X¤F¡I

¤£­nÅå·W¡I¥u­n­«·s±Ò°Ê¨t²Î¡A¦b¬Ý¨ì Boot: ®É¿é¤Jboot -s §Y¥i¶i¤J³æ¨Ï¥ÎªÌ¼Ò¦¡(¦b 3.2-RELEASE ¤§«eªºª©¥»½Ð§ï¥Î-s )¡C ¦b°Ý­n¨Ï¥Î­þ­Ó shell ®É¡A«ö¤U ENTER¡C§A·|¬Ý¨ì¤@­Ó # ªº´£¥Ü¸¹¡A¿é¤J mount -u / ¥H­«·s±¾¤W(mount)§Aªº®ÚÀɮרt²Î¥i¨ÑŪ/¼g¡C°õ¦æ passwd root ¥H§ó´« root ±K½X¡AµM«á°õ¦æ exit Ä~Äò±Ò°Êµ{§Ç¡C

7.21. §Ú¸Ó«ç»ò«O¯dÅý Control-Alt-Delete ¤£¯à­«·s±Ò°Ê¨t²Î¡H

¦pªG§A¬O¨Ï¥Î FreeBSD 2.2.7-RELEASE ©Î¤§«áª©¥»ªº syscons(¨t²Î¤º©wªº¥D±±¥xÅX°Êµ{¦¡)¡A§â¤U¦C³o¦æ©ñ¨ì®Ö¤ß³]©wÀɤºµM«á­«°µ¤@­Ó·sªº®Ö¤ß¡G

    options SC_DISABLE_REBOOT

­Y¬O¨Ï¥Î FreeBSD 2.2.5-RELEASE ©Î¤§«áª©¥»ªº PCVT ¥D±±¥xÅX°Êµ{¦¡¡A «h¥H¤U¦C¿ï¶µ¥N´À¡G

    options PCVT_CTRL_ALT_DEL

¨ä¥L§ó¦­´Áªº FreeBSD ª©¥»¡A½Ð­×§ï§A¥¿¦b¨Ï¥Îªº¥D±±¥xÁä½L¹ïÀ³¡A¨Ã±N©Ò¦³ boot ÃöÁä¦r¥H nop ¨ú¥N¡C¤º©wªºÁä½L¹ïÀ³¬O¦b /usr/share/syscons/keymaps/us.iso.kbd¡C§A¥i¯à»Ý­n©ú¥Õªº §h©J /etc/rc.conf ¥hŪ¨ú³o­ÓÁä½L¹ïÀ³¥H½T«O§ó°Ê¥Í®Ä¡C·í µM¦pªG§A¥¿¦b¥Î¾A¦X§A°êÄyªºÁä½L¹ïÀ³¡A§AÀ³¸Ó½s¿è¨º¤@­Ó¡C

7.22. §Ú¸Ó«ç»ò§â DOS ¤å¦rÀÉ®×­«·s®æ¦¡¤Æ¦¨ UNIX ªº¡H

²³æ¦a¨Ï¥Î³o­Ó perl ©R¥O¡G

perl -i.bak -npe 's/\r\n/\n/g' file ...



file ´N¬O­n³B²zªºÀɮסC³o­Ó­×§ï¬O¦b¤º³¡§¹¦¨¡A­ì©lªºÀÉ®×·|Àx¦s¦¨ °ÆÀɦW¬° .bak ªºÀɮסC

©ÎªÌ§A¥i¥H¨Ï¥Î tr ³o­Ó©R¥O¡G

tr -d '\r' < dos-text-file > unix-file



dos-text-file ¬O¥]§t DOS ¤å¦rªºÀɮסA¦Ó unix-text-file «h¬O¥]§t Âà´«ªº¿é¥Xµ²ªG¡C³o¤ñ¨Ï¥Î perl ÁÙ­n§Ö¤W¤@ÂIÂI¡C

7.23. §Ú¸Ó«ç»ò¥Î¦WºÙ¬å±¼ process¡H

¨Ï¥Î killall¡C

7.24. ¬°¦ó¦b root ªº ACL ®É su ¦n¹³¦³°ÝÃD¡H

³o­Ó¿ù»~¬O¦]¬° Kerberos ¤À´²»{ÃÒ¨t²Î¡C³o­Ó°ÝÃD¨Ã¤£¬O«ÜÄY­«¦ý¬O¥O¤H ¹½·Ð¡C§A¥i¥H¥Î -K ¿ï¶µ¥h°õ¦æ su¡A©Î¬O¹³¤U­Ó°ÝÃD©Ò´y­zªº²¾°£ Kerberos¡C

7.25. §Ú¸Ó«ç»ò²¾°£ Kerberos¡H

­n±q¨t²Î¸Ì²¾°£ Kerberos¡A­«¸Ë§A¥¿¦b°õ¦æªº release ª©¥»ªº bin distribution¡C¦pªG§A¦³ CDROM¡A§A¥i¥H mount cd(°²³]¦b /cdrom)¨Ã°õ ¦æ¡G

cd /cdrom/bin
./install.sh



7.26. §Ú¸Ó«ç»ò¼W¥[¨t²ÎªºµêÀÀ²×ºÝ¾÷¡H

¦pªG§A¦³³\¦h telnet¡Assh¡AX ©Î¬O screen ¨Ï¥ÎªÌ¡A§A©Î³\·|¥Î§¹µêÀÀ ²×ºÝ¾÷¡A³o¯à±Ð§A«ç»ò¥[§ó¦h¡G

  1. «Ø¥ß¨Ã¦w¸Ë¤@­Ó·sªº®Ö¤ßµ{¦¡¨Ã¥B¥[¤J³o¦æ¨ì³]©wÀÉ¡G

           pseudo-device pty 256
         



  2. °õ¦æ³o­Ó©R¥O¡G

         # cd /dev
         # ./MAKEDEV pty{1,2,3,4,5,6,7}
         



    ·|³y¥X 256 ­ÓµêÀÀ²×ºÝ¾÷ªº¸Ë¸m¸`ÂI¡C

  3. ½s¿è /etc/ttys ¨Ã¥[¤J²Å¦X 256 ­Ó²×ºÝ¾÷ªº¦æ¼Æ¡C¥¦­ÌÀ³ ¸Ó²Å¦X¤w¸g¦s¦b³æ¶µªº®æ¦¡¡AÁ|¨Ò¨Ó»¡¡A¥¦­Ì¬Ý°_¨Ó¹³¡G

           ttyqc none network
         



    ¦r¥À³]­pªº¶¶§Ç¬O tty[pqrsPQRS][0-9a-v]¡A¨Ï¥Î¥¿³Wªí¥Ü¦¡¡C

  4. ¥Î·sªº®Ö¤ßµ{¦¡­«·s±Ò°Ê¹q¸£´N¥i¥H¤F¡C



7.27. /dev/snd0 ³o­Ó¸Ë¸m°µ¤£¥X¨Ó¡I

¥i¥H¥Î³o­Ó©R¥O²£¥Í­µ®Ä¥d©Ò»Ý­nªº snd0 ¸Ë¸m¡G

     # cd /dev
     # sh MAKEDEV snd0



³o­Ó©R¥O¨Ã¤£·|°µ¥X /dev/snd0¡A¦Ó¬O²£¥Í mixer0¡B audio0¡Bdsp0 ¤ÎÃþ¦üªº¸Ë¸m¡CÁöµM¦p¦¹¡A¦pªG±z·Q¨Ï¥Î ­µ®Ä¡A¤´µM­n°õ¦æ³o­Ó©R¥O¡C

7.28. ¥i¥H¤£¥Î¶}¾÷¡A­«·sŪ¨ú /etc/rc.conf¡B¦A¦¸±Ò°Ê /etc/rc ¶Ü¡H

¥ý¶i¤J³æ¤H¨Ï¥ÎªÌ¼Ò¦¡¡AµM«á¦A¦^¨ì¦h¨Ï¥ÎªÌ¼Ò¦¡¡C

¦b¥D±±¥x°õ¦æ¡G

     # shutdown now
     (Note: without -r or -h)

     # return
     # exit



7.29. ¤°»ò¬O sandbox¡H

"Sandbox" ¬O¨t²Î¦w¥þ¥Îªº³N»y¡A¦³¨â­Ó·N¸q¡G

  • ©ñ¦b¬Y¨ÇµêÀÀ¨¾Å@Àð¸Ìªº°õ¦æµ{§Ç¡A³o¨Ç¨¾Å@Àð¬O¥Î¨Óªý¤î¬Y¨Ç¤H«I¤J ³o¹Dµ{§Ç¡A¶i¦Ó¥X¤J©ó§ó¤jªº¨t²Î¤¤¡C

    ³o¹Dµ{§Ç¥i¥H§¹¥þ¦b¨¾Å@Àð¸Ì°Ê§@¡C¤]´N¬O»¡¡A¥¦©Ò°õ¦æªº¥ô¦óµ{¦¡¤£ ¥i¯à·|º¯³z¨ìÀ𪺥~­±¡C©Ò¥H¦pªG±z¹ï¥¦¦³¦w¥þ¤WªºÅU¼{¡A¨Ã¤£»Ý­n¯S§O¥h ºÊÅ¥¥¦ªº¤@Á|¤@°Ê¡A¤Ï¥¿¥¦¥u¯à¦bÀ𤺬¡°Ê¡C

    Á|¨Ò¨Ó»¡¡A¥i¥H¥Î userid ¨Ó°µ³o¹D¨¾Å@Àð¡A³o¥¿¬O security(7) ©M named(8) »¡©ú¤å¥ó¤¤ªº©w¸q¡C

    ²{¦b´N¥Î 'ntalk' ³o­ÓªA°È§@»¡©ú¡]¨£ /etc/inetd.conf¡^¡C³o­ÓªA°È ¥H«eªº userid ¬O root¡A²{¦b°õ¦æ®É«h¬O¥Î tty¡Ctty ³o­Ó userid ´N¬O¤@ ­Ó sandbox¡A¦pªG¦³¤H¯à°÷¶¶§Q¥Î ntalk «I¤J¨t²Î¡A²{¦b¥L´Nºâ¶i±o¨Ó¤]¥u ¯à¥Î tty ³o­Ó userid¡C

  • ©ñ¦b¬Y­Ó¼ÒÀÀ¾÷¾¹¸Ìªºµ{¦¡¡A³o¤ñ¤W­z¨Ó±o§óÄY±K¡C°ò¥»¤W³oªí¥Ü¯à«I¤J ¸Óµ{¦¡ªº¤H¬Û«H¥L¯à¦A¶i¤J©ÒÄݪº¾÷¾¹¡A¦ý¨Æ¹ê¤W¥u·|¶i¤J¼ÒÀÀ¥X¨Óªº¾÷¾¹¡A µLªk¶i¤@¨B­×§ï¥ô¦ó¸ê®Æ¡C

    ¹F¨ì³o­Ó¥Øªº³Ì±`¥Îªº¤èªk¡A´N¬O¦b¬Y­Ó¤l¥Ø¿ý¤U°µ¥X¼ÒÀÀªºÀô¹Ò¡AµM«á ¥Î chroot °õ¦æ¸Óµ{¦¡¡A³o¼Ë¸Óµ{¦¡ªº®Ú¥Ø¿ý«K¬O³o­Ó¤l¥Ø¿ý¡A¦Ó«D¨t²Î¯u ¥¿ªº®Ú¥Ø¿ý¡C

    ¥t¤@­Ó±`¨£§@ªk¬O±N¬Y­ÓÀɮרt²Î mount ¦¨°ßŪ¡A¦ý¦b¥¦¤W­±¥t¥~»s³y ¥Xµ{¦¡¥H¬°¥i¥H¼g¤JªºÀɮרt²Î¡C³o­Óµ{¦¡·|¬Û«H¥¦¥i¥H¹ï¨ä¥LÀÉ®×Ū¼g¡A ¦ý¥u¦³¥¦¬Ý¤£¨ì³o­Ó°ßŪ®ÄÀ³ - ¨t²Î°õ¦æªº¤@¯ëµ{¦¡³£¬Ý±o¨ì¡C

    §Ú­Ì¸Õ¹Ï±N³oÃþ sandbox ºÉ¶q³z©ú¤Æ¡AÅý¨Ï¥ÎªÌ©Î«I¤JªÌµLªk¬Ý¨ì¥L¬O §_¦b¬Y­Ó sandbox ¸Ì­±¡C



UNIX ¹ê§@¨âºØ sandbox¡A¤@­Ó¦bµ{¦¡¼h­±¡A¥t¤@­Ó«h¬O¥Ñ userid ¨Ó¹F¦¨¡C

¨C­Ó UNIX °õ¦æµ{§Ç·|¥Î¨¾¤õÀð±N¥¦©M©Ò¦³¨ä¥Lµ{§Ç¹j¶}¡A¬Y­Óµ{§Ç¤£¥i¥H ÀH·N­×§ï¨ä¥Lµ{§Ç¦ì§}ªº¸ê®Æ¡C³o©M Windows ¤¤¡Aµ{¦¡¥i¥H»´©ö­×§ï¨ä¥L¦ì§} ¸ê®Æªº±¡ªp¡A¤j¤£¬Û¦P¡C

¨C­Ó UNIX µ{§Ç³£ÄÝ©ó¬Y­Ó¯S©wªº userid¡C¦pªG¸Ó userid ¤£¬O root¡A´N ·|±N¥¦©M¨ä¥L¨Ï¥ÎªÌªºµ{§Ç¹j¶}¡CUserid ¦P®É¤]¥Î©óµwºÐ¸ê®Æªº¦s¨úÅv¤W¡C

7.30. §Ú¸Ó«ç»òÅý¤@¯ë¨Ï¥ÎªÌ±¾¤W³nºÐ¾÷¤Î¨ä¥L¥i²¾°£´CÅé¡H

¤@¯ë¨Ï¥ÎªÌÀ³¸Ó¤]­n¦³±¾¤W¸Ë¸mªº¥\¯à¡A±µ¤U¨Ó¬O¤èªk¡G

  1. ¥Ñ root °w¹ï¥i²¾°£´CÅ骺°Ï¶ô¸Ë¸m (block device) «ü©w¾A·íªº¦s¨úÅv­­¡C

    Á|¨Ò¨Ó»¡¡A¬°¤FÅý¨Ï¥ÎªÌ¯à¨Ï¥Î²Ä¤@­Ó³nºÐ¾÷¡A¥Î¥H¤U¤èªk¡G

        # chmod 777 /dev/fd0
    
  2. ¥Ñ root ³]©w vfs.usermount ³o­Ó sysctl ÅܼƬ° 1¡C

        # sysctl -w vfs.usermount=1
    

³o¼Ë¨Ï¥ÎªÌ´N¥i¥H¦b¥L­Ì¦Û¤vªº¥Ø¿ý¤U±¾¤W /dev/fd0¡G

    % mkdir ~/my-mount-point
    % mount -t msdos /dev/fd0 ~/my-mount-point

¸Ñ°£¤w¸g±¾¤Wªº¸Ë¸m¤]«Ü²³æ¡G

    % umount ~/my-mount-point

µM¦Ó±Ò°Ê vfs.usermount ³o­Ó sysctl °Ñ¼Æ¥i¯à·|¦³­t­±ªº¦w¥þ©Ê¼vÅT¡A ¤@­Ó­n¦s¨ú MSDOS ®æ¦¡´CÅ骺¸û¨Î¤è¦¡½Ð°Ñ¦Ò¥H¤U³o­Ó link¡G mtools ¡C


Chapter 8. X Window System ¤Î Virtual Consoles

8.1. §Ú·Q­n°õ¦æ X ¡A§Ú¸Ó«ç»ò°µ¡H
8.2. ¬°¤°»ò§Ú¤£¯à¦b X ¸Ì¨Ï¥Î·Æ¹«¡H
8.3. X Window ªº¿ï³æ©M¹ï¸Ü®Ø¤£¯à¥¿±`¹B§@¡I
8.4. ¤°»ò¬O virtual console¡H§Ú­n«ç»ò°µ¤~¯à¥Î¦h¤@ÂI¡H
8.5. §Ú­n«ç»ò±q X ¤Á´«¨ì virtual console¡H
8.6. §Ú­n«ç»ò°µ¤~¯à¦b¶}¾÷®É±Ò°Ê XDM¡H
8.7. ·í§Ú°õ¦æ xconsole ®É¡Aµo¥Í¤F "Couldn't open console" ªº¿ù»~
8.8. §Úªº PS/2 ·Æ¹«¦b X ¤¤¦³ÂI¤£¥¿±`
8.9. §Úªº PS/2 ·Æ¹«¤£¯à³z¹L MouseSystem ¨Ó¹B§@
8.10. ·í§Ú«Ø¥ß X µ{¦¡®É¡Aimake »¡¥¦§ä¤£¨ì Imake.tmpl ¡C¥¦¦b¨º¡H
8.11. §Ú­n«ç»ò°µ¤~¯à³]©w¥ªºJ¤l¥Îªº·Æ¹«¡H
8.12. ­n¦p¦ó¦w¸Ë splash ¹Ï§ÎÅã¥Üµ{¦¡¡H¨º¸Ì¥i¥H§ä±o¨ì©O¡H

8.1. §Ú·Q­n°õ¦æ X ¡A§Ú¸Ó«ç»ò°µ¡H

³Ì²³æªº¤èªk´N¬O¦b¦w¸Ë¨t²Îªº®É­Ô¤@¨Ö¦w¸Ë¡C

µM«á¬Ý¬Ý xf86config ªº man page ¡A³o­Óµ{¦¡¥i¥HÀ°±z³]©w XFree86(tm) ¨Ï¥¦ ¯à°÷¨Ï¥Î±zªºÅã¥Ü¥d/·Æ¹«µ¥¶gÃä¡C

±z©Î³\¤]·Q¸Õ¸Õ¬Ý Xaccel server¡C¸Ô±¡½Ð¬Ý Metro Link ©Î¬O Xi Graphics ³o¤@¬q¡C

8.2. ¬°¤°»ò§Ú¤£¯à¦b X ¸Ì¨Ï¥Î·Æ¹«¡H

¦pªG±z¥Îªº¬O syscons (¤º©wªº console ÅX°Êµ{¦¡) ªº¸Ü¡A±z¥i¥H¸g¥Ñ³]©w FreeBSD ¨ÓÅý¥¦¤ä´©¦b¨C­Ó virtual console ¨Ï¥Î·Æ¹«¡C¬°¤FÁ×§K©M X ²£¥Í½Ä ¬ð¡Asyscons ¨Ï¥Î¤F¤@­Ó¥s°µ``/dev/sysmouse''ªºµêÀÀ¸Ë¸m¡C©Ò¦³·Æ ¹«²£¥Íªº event ³£·|§Q¥Î MouseSystems ³o­Ó¨ó©w¨Ó¶Ç¨ì sysmouse ³o­Ó¸Ë¸m ¡C¦pªG±z§Æ±æ¦b¤@­Ó©Î¥H¤Wªº virtual console ¤W¨Ï¥Î·Æ¹«¡A¨Ã¥B ¯à°÷ ¨Ï¥Î X ªº¸Ü¡A§Ú­Ì«ØÄ³±z³o¼Ë³]©w¡G

        /etc/rc.conf:
          moused_type=ps/2          # or whatever your actual type is
          moused_port=/dev/psm0     # or whatever your real port is
          moused_flags=

        /etc/XF86Config
          Section Pointer
              Protocol "MouseSystems"
              Device   "/dev/sysmouse"
              .....
      



¦³¨Ç¤H¤ñ¸û³ßÅw¦b³]©w X ªº®É­Ô¥Î "/dev/mouse" ³o­Ó¸Ë¸m¡C¦p ªG±z­nÅý¥¦¯à°÷¥¿±`¤u§@ªº¸Ü¡A±z´N¥²¶·§â "/dev/mouse" ³sµ²¨ì /dev/sysmouse¡G

        # cd /dev
        # rm -f mouse
        # ln -s sysmouse mouse
      



8.3. X Window ªº¿ï³æ©M¹ï¸Ü®Ø¤£¯à¥¿±`¹B§@¡I

§â Num Lock Ãö±¼¸Õ¸Õ¡C

¦pªG±zªº Num Lock ¦b¶}¾÷®Éªº¹w³]­È¬O¶}µÛªº¸Ü¡A±z¥²¶·§â¤U¦C³o¦æ©ñ¨ì XF86Config ³]©wÀɤ¤ªº "Keyboard" ³¡¥÷¡C

        # Let the server do the NumLock processing.  This should only be
        # required when using pre-R6 clients
            ServerNumLock
      



8.4. ¤°»ò¬O virtual console¡H§Ú­n«ç»ò°µ¤~¯à¥Î¦h¤@ÂI¡H

²³æ¨Ó»¡¡Avirtual console ´N¬O¥i¥HÅý±z¤£¥²°µ¤Ó¦h½ÆÂøªº³]©w¦p¨Ï¥Îºô ¸ô©Î°õ¦æ X ¡A¦Ó¦b¦P¤@»O¾÷¾¹¤W¦P®É°µ¦n´X¥ó¨Æªº¤èªk¡C

·í±Ò°Ê¨t²Î¨ÃÅã¥Ü§¹©Ò¦³¶}¾÷°T®§¤§«á¡A±z´N·|¦b¿Ã¹õ¤W¬Ý¨ì¤@­Ó login ªº ´£¥Ü²Å¸¹¡C¦b³o­Ó®É­Ô±z´N¥i¥H¿é¤J±zªº login name ¥H¤Î password ¡AµM«á´N ¥i¥H¦b²Ä¤@­Ó virtual console ¤W¶}©l¤u§@¤F (©ÎªÌ¶}©lª±¡I) ¡C

¦b¬Y¨Ç±¡ªp¤U¡A±z¥i¯à·|·Q­n§@¨ä¥Lªº¤u§@¡A¨Ò¦p»¡¬O¬Ý¬Ý±z¥¿¦b°õ¦æªºµ{ ¦¡ªº»¡©ú¤å¥ó¡A©Î¬O·í±z¦b FTP ¶Ç¿éªºµ¥«Ý®É¶¡¤¤¬Ý¬Ý±zªº¶l¥ó¡C±z¥u»Ý­n«ö Alt-F2 («ö¦í Alt Á䤣©ñ¡A¨Ã«ö¤U F2 Áä) ¡AµM«á±z´N·|¦b²Ä¤G­Ó "virtual console" ¤W¬Ý¨ì¤@­Ó login ´£¥Ü²Å¸¹¡I·í±z·Q­n¦^¨ì­ì¨Óªº¤u§@®É¡A½Ð«ö Alt-F1¡C

FreeBSD ¦b¦w¸Ë®Éªº¹w³]­È¬O¨Ï¥Î¤T­Ó virtual console ¡A±z¥i¥H¥Î Alt-F1¡AAlt-F2¡A¥H¤Î Alt-F3 ¦b¥¦­Ì¤§¶¡°µ¤Á´«¡C

¦pªG±z·Q­n¦h¤@ÂI virtual console ªº¸Ü¡A±z¥u»Ý­n½s¿è /etc/ttys ³o­ÓÀÉ ¡A¦b "Virtual terminals" ³o­Óµù¸Ñ«á­±¥[¤J "ttyv4" ¨ì "ttyvc" ªºÄæ¦ì¡G

        # Edit the existing entry for ttyv3 in /etc/ttys and change
        # "off" to "on".
        ttyv3   "/usr/libexec/getty Pc"         cons25  on secure
        ttyv4   "/usr/libexec/getty Pc"         cons25  on secure
        ttyv5   "/usr/libexec/getty Pc"         cons25  on secure
        ttyv6   "/usr/libexec/getty Pc"         cons25  on secure
        ttyv7   "/usr/libexec/getty Pc"         cons25  on secure
        ttyv8   "/usr/libexec/getty Pc"         cons25  on secure
        ttyv9   "/usr/libexec/getty Pc"         cons25  on secure
        ttyva   "/usr/libexec/getty Pc"         cons25  on secure
        ttyvb   "/usr/libexec/getty Pc"         cons25  on secure
      



±z·Q¥Î´X­Ó´N³]´X­Ó¡C±z³]¶V¦h virtual terminal ¡A¥¦­Ì´N¥Î±¼¶V¦h¨t²Î ¸ê·½¡F¦pªG±z¥u¦³¤£¨ì 8MB ªº°O¾ÐÅ骺¸Ü¡A³o¼vÅT´N¤j¤F¡C±z¥i¯à¤]·|·Q§â "secure" ´«¦¨ "insecure" ¡C

IMPORTANT NOTE ¦pªG±z·Q­n°õ¦æ X ªº¸Ü¡A±z ¥²¶· ¬°¥¦«O¯d ( ©ÎÃö±¼) ¦Ü¤Ö¤@­Ó virtual terminal ¡C³o´N¬O»¡¡A¦pªG±z·Q¦b«ö¤Q¤G­Ó Alt ¥\¯àÁä®É³£¦³ login ´£¥Ü²Å¸¹¡A¦Ó¥B¤S¦b¦P¤@³¡¹q¸£¤W¤]·Q°õ¦æ X ªº¸Ü¡A¨º»ò ³o¯u¬O¤Ó¤£©¯¤F - ±z¥u¯à¥Î¤Q¤@­Ó¡C

¨ú®ø¤@­Ó console ³Ì²³æªº¤èªk´N¬O§â¥¦Ãö±¼¡CÁ|¨Ò¨Ó»¡¡A¦pªG±z¹³¤W­±Á¿ ªº¤@¼Ë³]©w¤F¥þ³¡ªº 12 ­Ó terminal ¨Ã¥B·Q­n°õ¦æ X ¡A±z¥²»Ý§â virtual terminal 12 ±q¡G

        ttyvb   "/usr/libexec/getty Pc"         cons25  on secure
      



³]¦¨¡G

        ttyvb   "/usr/libexec/getty Pc"         cons25  off secure
      



¦pªG±zªºÁä½L¥u¦³ 10 ­Ó¥\¯àÁ䪺¸Ü¡A±z´N­n§ï¦¨³o¼Ë¡G

        ttyv9   "/usr/libexec/getty Pc"         cons25  off secure
        ttyva   "/usr/libexec/getty Pc"         cons25  off secure
        ttyvb   "/usr/libexec/getty Pc"         cons25  off secure
      



(±z¤]¥i¥Hª½±µ§â³o´X¦æ¬å±¼¡C)

¤@¥¹±z§ï¤F /etc/ttys¡A ¤U¤@­Ó¨BÆJ´N¬O­n½T©w±z¦³¨¬°÷ªº virtual terminal ¸Ë¸m¡C³Ì²³æªº¤èªk´N¬O¡G

        # cd /dev
        # ./MAKEDEV vty12                 # For 12 devices
      



¦A¹L¨Ó¡A·Q­n±Ò°Ê³o¨Ç virtual console ³Ì²³æ (¤]¬O³Ì°®²b) ªº°µªk´N¬O ­«¶}¾÷¡CµM«á¡A¦pªG±z¤£·Q­«¶}¾÷ªº¸Ü¡A±z¥i¥H§â X Window Ãö±¼¡AµM«á¥Î root ªº¨­¥÷°õ¦æ¤U¦C«ü¥O¡G

        kill -HUP 1
      



·í±z°õ¦æ³o­Ó©R¥O«e¡A±z¤@©w­n§¹¥þ§â X Window Ãö±¼¡C¦pªG±z¤£³o»ò°µªº ¸Ü¡A±zªº¨t²Î¥i¯à·|¦b±z°õ¦æ kill ©R¥O«á¥X²{·í±¼©ÎÂꦺªº±¡ªp¡C

8.5. §Ú­n«ç»ò±q X ¤Á´«¨ì virtual console¡H

¦pªG±z¿Ã¹õ¤W¥¿¦bÅã¥Ü X Window ªº¸Ü¡A±z¥i¥H¥Î Ctrl-Alt-F1 µ¥«öÁä¨Ó¤Á ´«¨ì virtual console ¡Cª`·N¡A¤@¥¹±z±q X Window ¤Á´«¨ì¥ô¤@­Ó virtual console ¤§«á¡A±z´N¥i¥H¥u¥Î Alt- ¥\¯àÁä¨Ó¤Á´«¨ì¨ä¥L virtual terminal ©Î ¬O¤Á¦^ X Window ¡C±z¤£¥²¦P®É«öµÛ Ctrl Áä¡C¦pªG¦b¤ñ¸ûªºª©¥»¤¤±z¥Î Ctrl Áä¨Ó¤Á¦^ X Window ªº¸Ü¡A±z·|µo²{±zªº¤å¦r¿Ã¹õ³Q¥d¦b "control-lock" ¼Ò¦¡¤U¡C±z¥u»Ý­n¦A«ö¤@¦¸±±¨îÁä´N¥i¥H«ì´_­ìª¬¡C

8.6. §Ú­n«ç»ò°µ¤~¯à¦b¶}¾÷®É±Ò°Ê XDM¡H

¦³¨âºØ¤èªk¥i¥H±Ò°Ê xdm ¡C¤@ºØ¤èªk¬O±q /etc/ttys ¨Ó±Ò°Ê¡A¥i¥H°Ñ¦Ò man page ¤¤ªº½d¨Ò¡F¥t¤@ºØ¤èªk¬O¦b rc.local °õ¦æ xdm ¡A©Î¬O¦b /usr/local/etc/rc.d ©ñ¤@­Ó X.sh ¡C³o¨â ºØ¤èªk³£¬O¦Xªkªº¡A¦pªG±z¸Õ¬Y¤@ºØ¤èªkµL®Äªº¸Ü¡A±z¥i¥H¸Õ¸Õ¥t¥~¤@ºØ¡C³o¨â ºØ¤èªkªºµ²ªG¬O¤@¼Ëªº¡GX ·|Åã¥Ü¤@­Ó¹Ï§Î¤Æªº login: ´£¥Ü¡C

¥Î ttys ªº¤èªkªºÀuÂI¡A¦b©ó«ü©ú¤F X ¦b±Ò°Ê®É¨ì©³¬O¥Î¨º­Ó vty¡A¨Ã¥B±N logout ®É­«·s±Ò°Ê X server ªº³d¥ô¥áµ¹ init¡C rc.local ªº¤èªk«h¬O¦b·í±Ò °Ê X ¥X¤F°ÝÃD®É¡A¥i¥H«Ü»´ÃP¦a§â xdm ±þ±¼¨Ó¸Ñ¨M°ÝÃD¡C

¦pªG¬O¥Î rc.local ªº¤èªk¡A¦b°õ¦æ xdm ®É±z¤£¯à¥[¥ô¦ó°Ñ¼Æ¡]¤]´N ¬O¶]¦¨ daemon¡^¡C¥²¶·¦b getty °õ¦æ«á¤~¯à±Ò°Ê xdm¡A§_«h getty ©M xdm ·| ¤¬¬Û½Ä¬ð¦ÓÂê¦í console¡C³Ì¦nªº¤è¦¡¬O¦b script ¤¤¥[­Ó sleep¡AÅý¥¦¼È°± 10 ¬íÄÁ¥ª¥k¡A±µµÛ¤~°õ¦æ xdm¡C

«e¤@ª©ªº FAQ »¡±z¥²¶·§â±z·QÅý X ¨Ï¥Îªº vt ¥[¨ì /usr/X11R6/lib/X11/xdm/Xservers Àɸ̥h¡C³o¬O¤£¥²­nªº¡GX ·|¦Û °Ê¨Ï¥Î²Ä¤@­Ó§ä¨ìªº¥i¥Î vt ¡C

8.7. ·í§Ú°õ¦æ xconsole ®É¡Aµo¥Í¤F "Couldn't open console" ªº¿ù»~

¦pªG±z¬O¥Î startx ¨Ó±Ò°Ê X ªº¸Ü¡A/dev/console ªºÅv­­¨Ã¤£·|§ïÅÜ¡Aµ²ªG´N¬O xterm -C ©M xconsole ³oÃþªºµ{¦¡µLªk¥¿±`°õ¦æ¡C

³o¤@¤Áªº°ÝÃD¡A³£¬O¦]¬° console ªºÅv­­¬O±Ä¥Î¨t²Î¹w³]­È¡C¦b¤@­Ó¦h¨Ï¥Î ªÌªº¨t²Î¸Ì¡A§Ú­Ì¤£§Æ±æ¨C­Ó¨Ï¥ÎªÌ³£¥i¥Hª½±µ¼g¤J¨t²Î console ¡C¦pªG¨Ï ¥ÎªÌ¬O±q¾÷¾¹ªº VTY ª½±µ login ªº¸Ü¡A¨º»ò fbtab ¥i¥H¸Ñ¨M³oÃþªº°ÝÃD¡C

²³æ¦a»¡¡A½Ð½T«O /etc/fbtab ³o­ÓÀɮפ¤ªº³o¤@¦æ¨S¦³³Qµù¸Ñ±¼¡G

        /dev/ttyv0 0600 /dev/console
      



³o¤@¦æ³]©wªº¦s¦b¥i¥H½T«O±q /dev/ttyv0 µn¤Jªº¨Ï¥ÎªÌ¥i¥H±±¨î console ¡C

8.8. §Úªº PS/2 ·Æ¹«¦b X ¤¤¦³ÂI¤£¥¿±`

±zªº·Æ¹«©M±zªº·Æ¹«ÅX°Êµ{¦¡¥i¯à¦s¦b¦³¤£¦P¨Bªº²{¶H¡C

¦b 2.2.5 ¥H¤Î§ó¦­ªº¨t²Î¸Ì¡A±q X ¤Á¨ì virtual terminal µM«á¦A¤Á¦^¨Ó ´N¥i¥H¨Ï¥¦­Ì­«·s°µ¦P¨Bªº°Ê§@¡C¦pªG³o­Ó°ÝÃD±`±`µo¥Íªº¸Ü¡A±z¥i¥H¦b±zªº ®Ö¤ß³]©wÀɤ¤¥[¤J¤U­±³o­Ó¿ï¶µµM«á­«·s½sĶ¡G

        options PSM_CHECKSYNC
      



¦pªG±z¨S¦³«Ø¥ß®Ö¤ßµ{¦¡ªº¸gÅç¡A½Ð¬Ý ¦Û­q®Ö¤ß ³o¤@¸`¡C

¥[¤W³o­Ó¿ï¶µ¥H«á¡A·Æ¹«©M·Æ¹«ÅX°Êµ{¦¡¶¡ªº¦P¨B°ÝÃDÀ³¸Ó´N¤ñ¸û¤£·|¥X²{ ¤F¡C¦pªG³o­Ó°ÝÃD¤´µM¦s¦bªº¸Ü¡A¦b²¾°Ê·Æ¹«®É«ö«ö·Æ¹««öÁä¥i¥H¨Ï·Æ¹«©M·Æ ¹«ÅX°Êµ{¦¡­«·s°µ¦P¨Bªº°Ê§@¡C

¸Óª`·Nªº¬O³o­Ó¿ï¶µ¨Ã¤£¬O¹ï¨C¤@­Ó¨t²Î³£¦³®Ä¡A¥¦¥i¯à·|Åý±µ¦b PS/2 ·Æ ¹«¦ì¸mªº ALPS GlidePoint ¸Ë¸m¥¢¥h "tap" ³o¶µ¥\¯à¡C

¦b 2.2.6 ¤Î¨ä«áªºª©¥»¡A¦P¨Bªº½T»{¤w¸g¦³¤F¸û¦nªº¸Ñ¨M¿ìªk¡A¦Ó¥B³o¨Ç³£ ¤w¸g¬O PS/2 ·Æ¹«ÅX°Êµ{¦¡ªº¼Ð·Ç¤F¡C³o­Ó¤èªk¤]¥i¥H¦b GlidePoint ¤W¥¿±`¤u §@¡C (¦]¬°½T»{ªºµ{¦¡½X¤w¸g¦¨¬°¤@­Ó¼Ð·Ç¥\¯à¡A©Ò¥H¦b³o¨Çª©¥»¤¤§Ú­Ì¤£¦b´£ ¨Ñ PSM_CHECKSYNC ªº¿ï¶µ¤F¡C) ¤£¹L¦b·¥¤Ö¼Æªº®×¨Ò¤¤¡A³o¨ÇÅX°Êµ{¦¡·|»~³ø ¦P¨B©Ê¿ù»~¡AµM«á±z´N·|¬Ý¨ì³o¼Ëªº®Ö¤ß°T®§¡G

        psmintr: out of sync (xxxx != yyyy)
      



µM«á±z´N·|µo²{±zªº·Æ¹«¤£¯à¥¿±`¹B§@¤F¡C

¦pªG±zµo¥Í¤F³o¼Ëªºª¬ªp¡A±z¥²¶·Âǥѧâ PS/2 ·Æ¹«ÅX°Êµ{¦¡ªº flag ³]¦¨ 0x100 ¨Ó§â¦P¨B½T»{ªºµ{¦¡½Xµ¹¨ú®ø±¼¡CµM«á¦b¶}¾÷´£¥Ü²Å¸¹®É¥Î "-c" ¿ï¶µ¨Ó¶i¤J UserConfig¡G

        boot: -c
      



µM«á¡A¦b UserConfig ªº©R¥O¦C¤¤Áä¤J¡G

        UserConfig> flags psm0 0x100
        UserConfig> quit
      



8.9. §Úªº PS/2 ·Æ¹«¤£¯à³z¹L MouseSystem ¨Ó¹B§@

¦³¤@¨Ç³ø§i«ü¥X¬Y¨Ç¼tµPªº PS/2 ·Æ¹«¥u¯à¦b "°ª¸ÑªR«×" ª¬ºA¤U¤~¯à¹B§@ ¡C¦pªG¤£¬Oªº¸Ü¡A·Æ¹«´å¼Ð·|±`±`¶]¨ì¿Ã¹õªº¥ª¤W¨¤¥h¡C

«D±`¤£©¯ªº¡A³o­Ó°ÝÃD¦b 2.0.X ©M 2.1.X ¤U¬OµL¸Ñªº¡C¦b 2.2 ¨ì 2.2.5 ª©¡A±z¥i¥H¹ï /sys/i386/isa/psm.c ¨Ï¥Î¤U¦C patch µM«á­««Ø±zªº ®Ö¤ß¡C¦pªG±z¨S¦³«Ø¥ß®Ö¤ßµ{¦¡ªº¸gÅç¡A½Ð¬Ý ¦Û­q®Ö¤ß ³o¸`¡C

diff -u psm.c.orig psm.c
@@ -766,6 +766,8 @@
     if (verbose >= 2)
  log(LOG_DEBUG¡A"psm%d: SET_DEFAULTS return code:%04x\n",
      unit¡Ai);
+    set_mouse_resolution(sc->kbdc¡APSMD_RES_HIGH);
+
 #if 0
     set_mouse_scaling(sc->kbdc);  /* 1:1 scaling */
     set_mouse_mode(sc->kbdc); /* stream mode */
      



¦b 2.2.6 ¤Î¥H«áªºª©¥»¡A¦b PS/2 ·Æ¹«ÅX°Êµ{¦¡¤¤³]©w 0x04 ªº flag ·| §â·Æ¹«³]¦¨°ª¸ÑªR«×¼Ò¦¡¡C¦b¶}¾÷´£¥Ü²Å¸¹®É¥Î "-c" ¿ï¶µ¨Ó¶i¤J UserConfig¡G

        boot: -c
      



µM«á¡A¦b UserConfig ªº©R¥O¦C¤¤Áä¤J¡G

        UserConfig> flags psm0 0x04
        UserConfig> quit
      



«e¤@¸`¦³´£¨ì¥t¤@­Ó¥i¯à¾É­P·Æ¹«°ÝÃDªº­ì¦]¡C

8.10. ·í§Ú«Ø¥ß X µ{¦¡®É¡Aimake »¡¥¦§ä¤£¨ì Imake.tmpl ¡C¥¦¦b¨º¡H

Imake.tmpl ¬O Imake ®M¥óªº¤@³¡¥÷¡AImake ¬O¼Ð·Çªº«Ø¥ß X µ{¦¡ªº¤u¨ã¡C Imake.tmpl ©M¨ä¥L¼Æ­Ó header file ¤@¼Ë¬O«Ø¥ß X µ{¦¡ªº¥²­nÀɮסA±z¥i¥H¦b X prog distribution ¤¤§ä¨ì¥¦­Ì¡C±z¥i¥H¥Î sysinstall ¨Ó¦w¸Ë©Î¬Oª½±µ±q X distribution ¤¤¤â°Ê¦w¸Ë¡C

8.11. §Ú­n«ç»ò°µ¤~¯à³]©w¥ªºJ¤l¥Îªº·Æ¹«¡H

¦b±zªº .xinitrc ©Î¬O .xsession ¤¤°õ¦æ xmodmap -e "pointer = 3 2 1" ªº«ü¥O¡C

8.12. ­n¦p¦ó¦w¸Ë splash ¹Ï§ÎÅã¥Üµ{¦¡¡H¨º¸Ì¥i¥H§ä±o¨ì©O¡H

´N¦bµo¦æ FreeBSD 3.1 ¤§«e¡A§Ú­Ì¥[¶i¤F¦b¶}¾÷®ÉÅã¥Ü "splash" ¹Ï§Îªº·s¥\¯à¡C¥Ø«e¥Î¨ÓÅã¥Ü¦b¿Ã¹õ¤WªºÀÉ®×¥²¶·¬O 256 ¦âªºÂI¯x°}¹Ï§Î ¡]*.BMP ¡B©Î ZSoft PCX¡]*.PCX ªº®æ¦¡¡C°£¦¹¤§¥~¡A¸ÑªR «×¤]¥²¶·¦b 320x200 ¥H¤U¡A¤~¯à©M¼Ð·Ç VGA Åã¥Ü¥d·f°t¨Ï¥Î¡C¦pªG±z½sĶ kernel ®É¦³¥[¤J VESA ¤ä´©¡A¨º»ò³Ì¤j¸ÑªR«×¥i¥H¨ì 1024x768¡Cª`·N VESA ªº ¤ä´©»Ý­n¥[¤J VM86 ³o­Ó kernel ¿ï¶µ¡CVESA ¤ä´©¹ê»Ú¤W¥i¥H¦b½sĶ kernel ®É¥[¤J VESA ¿ï¶µ¡B©Î¸ü¤J VESA ªº kld module ¨Ó¹F¦¨¡C

±z­n­×§ï±±¨î FreeBSD ¶}¾÷¨BÆJªº³]©wÀÉ¡A¤~¯à¨Ï¥Î splash Åã¥Ü¹Ï§Îªº¥\ ¯à¡C³]©wÀɦbµo¦æ FreeBSD 3.2 «e¦³¨Ç§ó°Ê¡A©Ò¥H²{¦b¦³¨â­Ó¤èªk¥i¥H¸ü¤J splash ªº¥\¯à¡G

  • FreeBSD 3.1

    ¥ý¿ï¥X¥Î¨ÓÅã¥Ü¦b¿Ã¹õ¤Wªº¹Ï§Î¡A3.1 ª©¥u¤ä´© Windows ªºÂI¯x°}®æ¦¡¡C ¿ï¦n¤F±z­nªº¹ÏÀÉ«á¡A±N¥¦«þ¨ì /boot/splash.bmp¡C±µµÛ§â¤U­±´X ¦æ¥[¤J /boot/loader.rc ¤¤¡G

              load kernel
              load -t splash_image_data /boot/splash.bmp
              load splash_bmp
              autoboot
          



  • FreeBSD 3.2 ¥H«áªºª©¥»

    °£¤F¥[¤J¹ï PCX Àɮתº¤ä´©¥~¡AFreeBSD 3.2 ¤]§ï¶i¤F¶}¾÷µ{§Çªº³]©w ¤è¦¡¡C¦pªG±zÄ@·Nªº¸Ü¡A¥i¥H¥Î¤W­z FreeBSD 3.1 ªº¤èªk¡A±N splash_bmp ´«¦¨ splash_pcx ¨Ó¸ü¤J PCX ÀÉ®×§Y¥i¡C ¦pªG·Q¥Î·sªº³]©w¤è¦¡¡A±zªº /boot/loader.rc ¥²¶·¥]¬A³o´X¦æ¡G

              include /boot/loader.4th
              start
          



    ¨Ã¥B /boot/loader.conf ¤]­n¥]¬A³o´X¦æ¡G

              splash_bmp_load="YES"
              bitmap_load="YES"
          



    ³o¬O°²³]±z¥Î /boot/splash.bmp ¨Ó·í§@ splash ªº¿Ã¹õÅ㠥ܡC¦pªG·Q¥Î PCX ªºÀɮסA±N¥¦«þ¦¨ /boot/splash.pcx¡A¦p¤W ­z°µ¥X /boot/loader.rc¡A¦A±N³o´X¦æ¥[¨ì /boot/loader.conf ¤¤¡G

              splash_pcx_load="YES"
              bitmap_load="YES"
              bitmap_name="/boot/splash.pcx"
          





²{¦b´N¥u³Ñ¤U splash ¥Î¨ÓÅã¥Üªº¹ÏÀÉ¡A±z¥i¥H¦b http://www.cslab.vt.edu/~jobaldwi/splash/ §ä¨ì¦UºØ¼Ë«~.


Chapter 9. ºô¸ô³]©w

9.1. §ÚÀ³¸Ó¨ì­þÃä§ä¦³ÃöµLºÏºÐ¶}¾÷ (diskless booting) ªº¸ê®Æ?
9.2. FreeBSD ªº¥D¾÷¥i¥H·í§@¬Y­Óºô¸ô¤Wªº¸ô¥Ñ¾¹ (router) ¶Ü ?
9.3. §Ú¥i¥H³z¹L FreeBSD ±N§Úªº Win95 ¾÷¾¹³s¤W Internet ¶Ü?
9.4. ¬°¤°»ò§Ú¦b compile ISC ³Ì·sª©ªº BIND µ{¦¡®É¦Ñ¬O¥¢±Ñ?
9.5. FreeBSD ¤ä´© SLIP ©M PPP ¶Ü?
9.6. FreeBSD ¤ä´© NAT ©Î Masquerading ¶Ü?
9.7. §Ú¨S¦³¿ìªk«Ø¥ß /dev/ed0 ³o­Ó device!
9.8. §Ú¦p¦ó«Ø¥ß Ethernet aliases?
9.9. §Ú¦p¦ó«ü©w§Úªº 3C503 ¨Ï¥Î¨ä¥L¤£¦Pªºªº network port?
9.10. §Ú¦b³s¤W/¿é¥X FreeBSD ªº NFS ®É¥X²{°ÝÃD.
9.11. ¬°¤°»ò§Ú¤£¯à NFS-mount Linux ªº¾÷¾¹?
9.12. ¬°¤°»ò§Ú¤£¯à NFS-mount Sun ªº¾÷¾¹?
9.13. §Ú¦b¨Ï¥Î PPP ³s½u¨ì NeXTStep ¾÷¾¹®É¦³°ÝÃD.
9.14. §Ú­n«ç¼Ë¤~¯à§â IP multicast support ¥´¶}?
9.15. ­þ¨Çºô¸ô¥d¬O¨Ï¥Î DEC PCI chipset?
9.16. ¬°¤°»ò­n¥Î FQDN ¤~¯à³s¨ì¨ä¥L¾÷¾¹¡H
9.17. ©Ò¦³ºô¸ô°Ê§@³£·|¥X²{ ``Permission denied'' ¿ù»~°T®§
9.18. IPFW ·|³y¦¨¦h¤jªººô¸ô©µ¿ð¡H
9.19. ­n¦p¦ó§â¹ï¬Y¥x¾÷¾¹ªººô¸ôªA°È­n¨D(service request)Âà¦V¨ì¥t¤@¥x¡H
9.20. ¨º¸Ì¥i¥H§ä¨ìºÞ²zÀW¼eªº¤u¨ã¡H
9.21. «ç»ò·|¶]¥X ``/dev/bpf0: device not configured'' ³o­Ó°T®§¡H

9.1. §ÚÀ³¸Ó¨ì­þÃä§ä¦³ÃöµLºÏºÐ¶}¾÷ (diskless booting) ªº¸ê®Æ?

µLºÏºÐ¶}¾÷´N¬OÅý FreeBSD ¥D¾÷±qºô¸ô¤W¶}¾÷¡A¨Ã¥B±qºô¸ô¤Wªº server ¤WŪ¨ú ¨ä¥L¥²­nªºÀɮסA¦Ó«D¥Ñ¥D¾÷ªºµwºÐ¤W¨ú±o³o¨ÇÀɮסC¸Ô²Óªº¸ê®Æ¥i¥H°Ñ¦Ò FreeBSD ¤â¥UªºµLºÏºÐ¶}¾÷½g¡C

9.2. FreeBSD ªº¥D¾÷¥i¥H·í§@¬Y­Óºô¸ô¤Wªº¸ô¥Ñ¾¹ (router) ¶Ü ?

¥Ñ©óºô»Úºô¸ôªº¼Ð·Ç¤Æ©Mµ{¦¡³]­pªº¥R¤À¸gÅ礧½ç¡A§Ú­Ì ¯à°÷¦b FreeBSD ¨t²Î¤º«Ø«Ê¥]Âà¶Ç (packet fowarding) ªº¥\¯à¡C§A¥i¥H ±N³o­Ó¥\¯à¥´¶}¡A¥u­n±N³o­ÓÅܼƳ]©w¬° YES ¦b rc.conf ³o­ÓÀɮפ¤

        gateway_enable=YES          # Set to YES if this host will be a gateway
      



³o­Ó¿ï¶µ·|±N sysctl ÅܼƳ]©w net.inet.ip.forwarding ¬° 1.

¦b¤j³¡¤Àªºª¬ªp¤U¡A§AÁÙ¥²¶·¦A¶]¤@­Ó³B²z routing ªºµ{¦¡¡A§i¶Dºô¸ô¤Wªº¨ä¥L ¥D¾÷Ãö©ó§Aªº router ³]©wªº¸ê®Æ¡FFreeBSD ¥X¼t®É«K¤ºªþ¤@­Ó¼Ð·Çªº BSD routing µ{¦¡ routed¡A¦pªG§Aªººô¸ô³]©w§ó¬°½ÆÂø¡A§A¥i¥H¸Õ¸Õ¬Ý GaTeD (¥i¥H¥Ñ http://www.gated.org/ ¤U¸ü) ³o­Óµ{¦¡¦Û 3_5Alpha7 «á¤ä´© FreeBSD¡C

§Ú­Ì¦³¥²­n§i¶D§A¡A´Nºâ¬O FreeBSD ¥H³oºØ¤è¦¡³]©w§¹¦¨ ¡A¥¦ÁÙ¬OµLªk§¹¥þº¡¨¬ Internet ¹ï router ªº¼Ð·Ç©w¸q ¡A¤£¹L¡A´N¤é±`¨Ï¥Î¦Ó¨¥¥¦¤w¸g¨¬°÷À³¥I¨Ï¥ÎªÌªº»Ý¨D¤F¡C

9.3. §Ú¥i¥H³z¹L FreeBSD ±N§Úªº Win95 ¾÷¾¹³s¤W Internet ¶Ü?

°ò¥»¤W¡A·|°Ý³oºØ°ÝÃDªº¤H¦b®a¸Ì¦Ü¤Ö¦³¨â¥x¹q¸£¡A¤@¥x¶] FreeBSD ¥t¥~¤@¥x¶] Win95¡F³o­Ó¥D·N¬O±N FreeBSD ¥D¾÷³s¤W Internet¡AµM«á³z¹L³o¥x FreeBSD ¥D¾÷¡AÅý¶] Win95 ªº¹q¸£¯à°÷¤Wºô¡C ³o­Ó°ÝÃDºâ¬O«e¤@­Ó°ÝÃDªº¤@­Ó¯S¨Ò¡C

³oÃ䦳­«­nªº¤å¥ó¡C±Ð§A«ç»ò§â FreeBSD ªº¥D¾÷³]©w¦¨ PPP Dialup Router¡C

ª`·N¡G ¦b³oºØª¬ªp¤U§A¦Ü¤Ö­n¦³¨â­Ó¥H¤Wªº©T©w IP addresses¡A ¦³®É¬O¤T­Ó¥H¤W©Î§ó¦h²Õ IP ¦P®É¨Ï¥Î¡Aµø§Aªº»Ý¨D¦Ó©w¡C ¦pªG§A¨S¦³©T©wªº IP ¥i¥H¨Ï¥Î¡A§A¥i¥H¦Ò¼{¨Ï¥Î private IP ¤lºô¸ô¡A¨Ã¦w¸Ë proxies ¨Ò¦p SQUID ©Î¬O the TIS firewall toolkit ¦b§Aªº FreeBSD ¥D¾÷¤W¡C

¥t¥~¥i¥H°Ñ¦Ò natd ¡C

9.4. ¬°¤°»ò§Ú¦b compile ISC ³Ì·sª©ªº BIND µ{¦¡®É¦Ñ¬O¥¢±Ñ?

¦b ``cdefs.h'' Àɮפ¤ªº©w¸q»P FreeBSD ¨t²Î¤¤¤ºªþ ªºÀɮשw¸q¦³©Ò½Ä¬ð¡Cª½±µ§â compat/include/sys/cdefs.h ¬å±¼´N¥i¥H¤F¡C

9.5. FreeBSD ¤ä´© SLIP ©M PPP ¶Ü?

¬Oªº¡C §A¥i¥H¬d¬d man pages ¤¤Ãö©ó slattach¡Asliplogin¡A pppd ¥H¤Î ppp ªº»¡©ú¡C pppd ©M ppp ³£´£¨Ñ¼·¶i¤Î¼·¥Xªº¥\¯à¡C Sliplogin ±Mªù³B²z¦³Ãö¼·¤Jªº¥\¯à¡A¦Ó slattach ³B²z¦³Ãö¼·¥Xªº¥\¯à¡C

³o¨Çµ{¦¡¦³¸Ô²Óªº»¡©ú¡A§A¥i¥H¦b handbook¤¤§ä¨ì:



¦pªG§A¥u¯àÂÇ¥Ñ"shell account"ªº¤è¦¡¤Wºôªº¸Ü¡A §A¥i¯à·|·Q¬Ý¬Ý slirp ³o­Ó³nÅé¡C¥¦¥i¥HÅý§Aªº¹q¸£ª½±µ³s¤W (¬Y¨Ç) ªA°È¡A ¨Ò¦p ftp ©M http µ¥µ¥¡C

9.6. FreeBSD ¤ä´© NAT ©Î Masquerading ¶Ü?

¦pªG§A¦³¤@­ÓªñºÝªº¤lºô¸ô(¦³¤@¥x¥H¤Wªº¾÷¾¹)¡A¦ý¬O§Aªº Internet provider «o¥u¤À°t¤@­Ó IP number µ¹§A (©ÎªÌ§A¥u¤À°t¨ì¤@­Ó°ÊºAªº IP number)¡A§A¥i¥H°Ñ¦Ò natd ³o­Óµ{¦¡¡C Natd Åý§A¥i¥H³z¹L³o¤@­Ó IP number Åý¾ã­Ó¤lºô¸ôªº¹q¸£³£¯à ³s¤W internet ¡C

ppp ³o­Óµ{¦¡¤]´£¨ÑÃþ¦üªº¥\¯à¡A¦pªG§A¤U -alias ³o­Ó¿ï¶µªº¸Ü¡C alias library ¦b³o¨â­Ó³B²z¤è¦¡¤¤³£·|³Q¨Ï¥Î¨ì¡C

9.7. §Ú¨S¦³¿ìªk«Ø¥ß /dev/ed0 ³o­Ó device!

¦b Berkeley ºô¸ô¬[ºc¤¤¡A¥u¦³ kernel µ{¦¡½X¥i¥Hª½±µ¦s¨úºô¸ô¬É­±¥d¡C ½Ð°Ñ¦Ò /etc/rc.network ³o­ÓÀɮשM manual pages ¨ú±o»P¨ä¥L¤£¦Pºô¸ôµ{¦¡ §ó¶i¤@¨Bªº¸ê°T¡C¦pªG§Aı±o§A§¹¥þ·d²V¤Fªº¸Ü¡A±zÀ³¸Ó§ä¤@¥»»P¨ä¥L BSD ¬ÛÃö §@·~¨t²Îºô¸ôºÞ²z¦³Ãö®Ñ¨Ó°Ñ¦Ò¡F°£¤F¤Ö¼ÆÅãµÛªº¤£¦P¥~¡AFreeBSD ªººô¸ôºÞ²z °ò¥»¤W©M SunOS 4.0 ©M Ultrix ¬O¤@¼Ëªº¡C

9.8. §Ú¦p¦ó«Ø¥ß Ethernet aliases?

§â ``netmask 0xffffffff'' ¥[¨ì§Aªº ifconfig ©R¥O¦C¤¤¡A¨Ò¦p¡G

        ifconfig ed0 alias 204.141.95.2 netmask 0xffffffff
      



9.9. §Ú¦p¦ó«ü©w§Úªº 3C503 ¨Ï¥Î¨ä¥L¤£¦Pªºªº network port?

¦pªG±z·Q¨Ï¥Î¨ä¥Lªº port¡A§A¥²¶·¦b ifconfig ªº©R¥O¤¤«ü©wÃB¥~ªº°Ñ¼Æ. ¤º©wªº port ¬O ``link0''¡C­n¨Ï¥Î AUI port ¥N´À BNC port ªº¸Ü¡A§ï¥Î ``link2''¡C³o¨Ç flags À³¸Ó§ïÅÜ ifconfig_* ªºÅܼƨӫü©w¡A§A¥i¥H¦b³o­ÓÀɮ׸̭±§ä¨ì /etc/rc.conf.

9.10. §Ú¦b³s¤W/¿é¥X FreeBSD ªº NFS ®É¥X²{°ÝÃD.

¬Y¨Ç PC ªººô¸ô¥d¤ñ¨ä¥Lªº¦n(§t»Wªº»¡¨Ó) ³oºØª¬ªp¦b³y¦¨ NFS ³oºØ¹ïºô¸ô±Ó·Pªºµ{¦¡¦³®É·|¥X²{°ÝÃD.

°Ñ¦Ò the Handbook entry on NFS ¥HÀò±o³o­Ó¥DÃDªº§ó¦h¸ê°T.

9.11. ¬°¤°»ò§Ú¤£¯à NFS-mount Linux ªº¾÷¾¹?

¬Y¨Çª©¥»ªº Linux NFS µ{¦¡½X¥u±µ¨ü privileged port ªº mount request ; ¸Õ¥Î³o¦æ«ü¥O¬Ý¬Ý

        mount -o -P linuxbox:/blah /mnt
      



9.12. ¬°¤°»ò§Ú¤£¯à NFS-mount Sun ªº¾÷¾¹?

¶] SunOS 4.X ªº Sun ¤u§@¯¸¥u±µ¨ü¨Ó¦Û privileged port ªº mount request ; ¸Õ¥Î³o¦æ«ü¥O¬Ý¬Ý

        mount -o -P sunbox:/blah /mnt
      



9.13. §Ú¦b¨Ï¥Î PPP ³s½u¨ì NeXTStep ¾÷¾¹®É¦³°ÝÃD.

§â TCP extensions ¨ú®ø¡A³o­Ó³]©w¦b /etc/rc.conf ¸Ì­±. §â¥H¤U³o­Ó­È³]¦¨ NO¡G

        tcp_extensions=NO
      



Xylogic ªº Annex ¥D¾÷¤]¦³¬Û¦Pªº°ÝÃD¡A±z­n°µ¬Û¦Pªº­×§ï¤~¯à³s¤W ³o¨Ç¥D¾÷¡C

9.14. §Ú­n«ç¼Ë¤~¯à§â IP multicast support ¥´¶}?

FreeBSD 2.0 ¥H«áªºª©¥»¤º©w³£¦³ ¤ä´© Multicast host ¾Þ§@¡C¦pªG±z·Q±N±zªº¥D¾÷³]©w¦¨ multicast router ªº¸Ü¡A±z¥²¶·­«·s compile ±zªº kernel¡A¥[¤J MROUTING ªº¿ï¶µ¡A¨Ã¥B°õ¦æ mrouted¡C¦pªG±zªº/etc/rc.conf ¸Ì­±ªº mrouted_enable ³o­Ó°Ñ¼Æ¬O³]©w¦¨"YES" ªº¸Ü.FreeBSD 2.2 ¤Î¤§«áªº ª©¥»·|¦b¶}¾÷®É°õ¦æ mrouted¡C

MBONE ªº¦UºØ¤u¨ã¥i¥H¦b¥L­Ì ports ¤U©ÒÄÝ¥s°µ mbone¥Ø¿ý¤¤§ä¨ì¡C ¦pªG±z¦b§äµø°T·|ijªº¤u¨ã¦p vic ©M vat ªº¸Ü¡A ¨ì¨ºÃä§ä§ä¡I

¦pªG»Ý­n§ó¶i¤@³¡ªº°T®§¡A¥i¨ì Mbone Information Web´M§ä¡C

9.15. ­þ¨Çºô¸ô¥d¬O¨Ï¥Î DEC PCI chipset?

¥H¤U¬O Glen Foster´£¨Ñªº²M³æ:

        Vendor          Model
        ----------------------------------------------
        ASUS            PCI-L101-TB
        Accton          ENI1203
        Cogent          EM960PCI
        Compex          ENET32-PCI
        D-Link          DE-530
        Dayna           DP1203, DP2100
        DEC             DE435, DE450
        Danpex          EN-9400P3
        JCIS            Condor JC1260
        Linksys         EtherPCI
        Mylex           LNP101
        SMC             EtherPower 10/100 (Model 9332)
        SMC             EtherPower (Model 8432)
        TopWare         TE-3500P
        Zynx            ZX342
      



9.16. ¬°¤°»ò­n¥Î FQDN ¤~¯à³s¨ì¨ä¥L¾÷¾¹¡H

§A¤]³\·|µo²{­n³sªº¾÷¾¹¨ä¹ê¬O¦b¥t¤@­Óºô°ì¡CÁ|­Ó¨Ò¤l¡A°²³]§A¬O¦b foo.bar.edu ³o­Óºô°ì¤¤¡A·Q­n³s¨ì¦b bar.edu ¸Ì¤@¥x¥s ``mumble'' ªº ¾÷¾¹¡A«h¥²¶·¥Î Fully-Qualified Domain Name¡A¤]´N¬O ``mumble.bar.edu''¡A¦Ó¤£¬O¥u¥Î ``mumble'' ¨Ó«ü¦V¥¦¡C

¶Ç²Îªº BSD BIND resolver ¤¹³\¥Î³oºØ¤è¦¡¸Ñ¥X¾÷¾¹ªº¦ì§}¡A¦ý¬O FreeBSD ¤ºªþ bind ª©¥» ªº¤º©w¤è¦¡¡A«h¬O°£¤F§A©Ò¦bªººô°ì¥H¥~¡A¤£¤ä´©¨ä¥L«D FQDN ªºÁY¼g¡C ©Ò¥H¦p mumble ³oºØ¤£¦X®æªº¾÷¾¹¦WºÙ¡A¥²¶·¦b mumble.foo.bar.edu¡A§_«h´N·|±qºô°ìªº³Ì©³¼h¶}©l§ä¡C

³o©M¥ý«eªº°µªk¤£¦P¡A¤]´N¬O¤£¥Î mumble.bar.edu ©M mumble.edu Ä~Äò·j´M¡C¬Ý¤@¤U RFC 1535¡A¸Ì­±¦³´£¨ì¬°¤°»ò¤§ «eªº°µªk¤£¦n¡A¬Æ¦Üºâ¬O­Ó¦w¥þº|¬}¡C

³o¸Ì¦³­Ó¤£¿ùªº¸Ñªk¡A§â /etc/resolv.conf ¸Ìªº³o¤@¦æ¡G

        domain foo.bar.edu
      



´«¦¨³o¤@¦æ¡G

        search foo.bar.edu bar.edu
      



¦ý¬O­n½T©w·j´M¶¶§Ç¤£·|¹H¤Ï RFC 2535 ©Ò¿×ªº ``boundary between local and public administration''¡C

9.17. ©Ò¦³ºô¸ô°Ê§@³£·|¥X²{ ``Permission denied'' ¿ù»~°T®§

¦pªG¦b½sĶ kernel ®É¥[¤F IPFIREWALL ³o­Ó¿ï¶µ¡A­n¾å±o 2.1.7R ¤º©w¬O©Úµ´©Ò¦³¥¼¸g®Ö­ãªººô¸ô«Ê¥](¦ý¦b¶}µo 2.1-STABLE ®É§ï±¼¤F)¡C

¦pªG¤£¤p¤ß§Ë¿ù¤F firewall ªº³]©w¡A¥H root ¨­¥÷°õ¦æ³o­Ó©R¥O¡A±µµÛ ºô¸ô¥\¯à´N·|¥¿±`¡G

        ipfw add 65534 allow all from any to any
      



¤]¥i¥H¦b /etc/rc.conf ³] "firewall_type='open'" ³o­Ó¿ï¶µ¡C

¦pªG·Qª¾¹D¦p¦ó³]©w FreeBSD firewall¡A½Ð¬Ý Handbook ¬ÛÃö³¡¥÷¡C

9.18. IPFW ·|³y¦¨¦h¤jªººô¸ô©µ¿ð¡H

³o­Ó°ÝÃDªºµª®×¤j¦h­n¬Ý§A«ç»ò­q firewall ³W«h¡BÁÙ¦³ CPU ³t«×¡C¹ï¤j ¦h¼Æ¦b ethernet ¤Wªºµ{¦¡¤Î³W«h¤£¦hªº±¡ªp¤U¡A©µ¿ð¤p¨ì¥i¥H©¿²¤¡C¦ý¦pªG §A·Q­nºë½T¼Æ¦r¨Óº¡¨¬¦n©_¤ß¡AÄ~Äò©¹¤UŪ¡C

¤U­±¬O¦b 486-66 2.2.5-STABLE ¤W©Ò§@ªº´ú¶q¡A§Ú­Ì­×§ï¤F IPFW ­ì©l½X ¨Ó´ú¶q¦b ip_fw_chk ¨ç¦¡¤W©Òªáªº®É¶¡¡A¨C³B²z 1000 ­Ó«Ê¥]«á´N·|¦b console ¤WÅã¥Üµ²ªG¡C

´ú¸Õ¤F¨â²Õ¡A¨C²Õ¦U¦³ 1000 ­Ó³W«h¡C²Ä¤@²Õ­«½Æ¤U­±³W«h¡A¬G·N³]­p¦¨ ³ÌÁVªº±¡ªp¡G

        ipfw add deny tcp from any to any 55555
      



ÂÇ¥ÑÀˬd port number¡A³o¼Ë·|¨Ï IPFW ¦b¨M©w¬Y­Ó«Ê¥]¤£²Å¦X±ø¥ó«e°õ ¦æ¤j³¡¥÷ªºÀˬdµ{¦¡¡A¦]¦¹³y¦¨³Ì®tªºª¬ªp¡C¦b­«½Æ³o­Ó³W«h 999 ¦¸«á¡A±µ µÛ¬O allow ip from any to any¡C

²Ä¤G²Õ³]­p¦¨¥H·¥§Öªº³t«×¸õ¹LÀˬd³W«h¡G

        ipfw add deny ip from 1.2.3.4 to 1.2.3.4
      



¤@¸I¨ì«Ê¥]ªº¨Ó·½¤£²Å¦X³W«h©Ò­z¡A·|«Ü§Ö¸õ¹LÀˬdÅý«Ê¥]³q¹L¡C©M¤W­± ¤@¼Ë¡A²Ä 1000 ­Ó³W«h¬O allow ip from any to any¡C

¦b²Ä¤@ºØ±¡ªp¤¤¡A³B²z¨C¤@­Ó«Ê¥]©Ò³y¦¨ªº©µ¿ð¤j¬ù¬O 2.703 ms¡A©Ò¥H¨C ­Ó³W«h¤j·§·|³y¦¨ 2.7 microsecond ªº©µ¿ð¡C©Ò¥H¦b³o¨Ç³W«h¤§¤U¡A²z½×¤W¨C ¬í³Ì¦h¥i¥H³B²z 370 ­Ó«Ê¥]¡C¦b 10Mbps ethernet ©M¤@­Ó«Ê¥]¤j·§ 1500 byte ªº°²³]¤U¡A¤j·§¥u·|¥Î¨ì 55.5% ªººô¸ôÀW¼e¡C

²Ä¤GºØ±¡ªp¡A¨C­Ó«Ê¥]ªá¤F¤j¬ù 1.172ms¡A©Ò¥H¨C±ø³W«h¤j¬ù¥Î¤F 1.2 microsecond¡C²z½×¤W¨C¬í³Ì¦h¥i¥H³B²z 853 ­Ó«Ê¥]¡A¯ÓºÉ 10Mbps ªºÀW¼e¡C

¤W­±´ú¸Õ¥Î¨ìªº¤j¶q³W«h¡B¤Î³o¨Ç³W«h¥»¨­¨Ã¤£¥Nªí¯u¹ê¥@¬Éªº±¡ªp¡A¥L­Ì ¥u¬O¥Î¨Ó²£¥Í©Òªí¥Üªº¼Æ¾Ú¡C­Y·Q­n­q¥X¤@®M¦³®Ä²vªº³W«h¡A°O±o³o´X¥ó¨Æ¡G

  • ¦b³Ì«e­±©ñ¤@­Ó±Mªù³B²z¤j¶q TCP ¬y¶qªº¥i¥Î³W«h¡A¦b³o±ø«e­±¤£ ­n©ñ¥ô¦ó allow tcp ªº¬ÛÃö±Ô­z¡C

  • §â±`±`IJµoªº³W«h©ñ¦b«e­±¡A¤£±`¥Î¨ìªº«h¥á¨ì«á­±(·íµM¦b¤£ ¼vÅT firewall ¥X¤J¤¹³\³]©wªº«e´£¤U)¡C°õ¦æ ipfw -a l ´N¥i¬Ý¨ì«Ê¥]ªº²Î­p¼Æ¥Ø¡A¨Ó¬Ý³Ì±`¥Î¨ì­þ¨Ç³W«h¡C



9.19. ­n¦p¦ó§â¹ï¬Y¥x¾÷¾¹ªººô¸ôªA°È­n¨D(service request)Âà¦V¨ì¥t¤@¥x¡H

¦b ports ¥Ø¿ýªº sysutils ºØÃþ¤¤¦³­Ó¥s 'socket' ªº package¡A¥i¥HÀ° §AÂà¦V FTP ©Î¨ä¥LÃþ¦üªººô¸ôªA°È¡C¥u­n§â¸Óºô¸ôªA°Èªº©R¥O§ï¦¨©I¥s socket §Y¥i¡A¦p¤U(¦b /etc/inetd.conf ¸Ì)¡G

ftp stream tcp nowait nobody /usr/local/bin/socket socket ftp.foo.com ftp



¨ä¤¤ 'ftp.foo.com' ©M 'ftp' ¤À§O¬O³QÂà¨ìªº¾÷¾¹©M port ¦WºÙ¡C

9.20. ¨º¸Ì¥i¥H§ä¨ìºÞ²zÀW¼eªº¤u¨ã¡H

FreeBSD ¤W¦³¨â®MÀW¼eºÞ²z¤u¨ã¡G ALTQ ¥i¥H§K¶O¨Ï¥Î¡A Emerging Technologies ¥Xªº Bandwidth Manager «h¬O°Ó¥Î³nÅé¡C

9.21. «ç»ò·|¶]¥X ``/dev/bpf0: device not configured'' ³o­Ó°T®§¡H

¬f§JµÜ«Ê¥]¹LÂo¾¹(Berkeley Packet Filter) (bpf) ¦bµ{¦¡¨Ï¥Î«e¥²¶·¦b kernel ¥´¶}¥¦ªºÅX°Êµ{¦¡¡A§â¤U­±³o¤@¦æ¥[¤J kernel ³]©wÀɤ¤¡A½s­Ó·sªº kernel¡G

 pseudo-device bpfilter # Berkeley Packet Filter+       



¦b­«·s¶}¾÷¤§«á¡AÁÙ­n°µ¥X device node¡A¦b /dev ¤U°õ¦æ¡G

           # sh MAKEDEV bpf0      


¦pªG·Q­n§ó¶i¤@¨Bª¾¹D¦p¦ó°µ¥X¦UºØ device node¡A½Ð¬Ý handbook ¤¤¦³Ãö device node ªº»¡©ú¡C


Chapter 10. PPP

10.1. §Ú¤£¯à¨Ï¥Î ppp¡A§Ú°µ¿ù¤F¤°»ò¶Ü ?
10.2. §Ú¤@°õ¦æ ppp¡A¥¦´N±¾¦b¨ºÃ䤣°Ê¤F
10.3. Ppp ¦b -auto ¼Ò¦¡¤U¤£¯à¼·¸¹
10.4. ¤°»ò¥s°µ "No route to host"
10.5. §Úªº³s½u¦b¤T¤ÀÄÁ«á¦Û°ÊÂ_±¼¤F
10.6. §Úªº³s½u¦]¬°­t²ü¤Ó­«¦ÓÂ_½u
10.7. ppp ·|¤£©w®ÉªºÂ_½u
10.8. ³s½u·|¤£©w®É·í±¼
10.9. ¦b¬Ý¨ì Login OK! ªº°T®§¥H«á´N¨S¦³¤ÏÀ³¤F
10.10. §Ú¤@ª½¬Ý¨ì magic being the same ªº¿ù»~°T®§
10.11. LCP ªº·¾³q¤@ª½¨ì³s½uÃö³¬¤~µ²§ô
10.12. Ppp ¦b³s½u«á´N¥d¦í¤F
10.13. ¥Î shell ¸õ¥X Ppp °µ´ú¸Õ®É¡A³s½u¦ü¥G¥d¦í¤F
10.14. ¦b null-modem ½u¤W«Ø¥ßªº Ppp ¦n¹³¤£·|¦Û°ÊÂ_½u
10.15. ¬°¤°»ò ppp ¦b -auto ¼Ò¦¡¤U·|µL½tµL¬G¼½¸¹¡H
10.16. ³o¨Ç CCP ¿ù»~°T®§¬O«ü¡H
10.17. ¶ÇÀɮ׮ɵo¥Í IO ¿ù»~¡AµM«á Ppp ´N±¾±¼¤F
10.18. ¬°¤°»ò ppp ¤£·|°O¿ý§Úªº³s½u³t«×¡H
10.19. Ppp ¤£²z·| chat script ¤¤ªº `\' ¦r¤¸
10.20. Ppp ¸I¨ì¤F seg-fault¡A¦ý§ä¤£¨ì ppp.core ³o­ÓÀÉ¡H
10.21. ¦b -auto ¼Ò¦¡¤U¡A¨Ï ppp ¼½¸¹ªºµ{¦¡¦b³s½u«á«o³s¤£¨ì¥Øªº¦a
10.22. ¬°¦óª±¤j¦h¼Æ¹CÀ¸®É¡A³£¤£¯à¨Ï¥Î -alias ³o­Ó°Ñ¼Æ¡H
10.23. ¨º¸Ì¥i¥H§ä¨ì±`¥Î°ðªº¦Cªí¡H
10.24. ¤°»ò¬O FCS ¿ù»~¡H
10.25. ¨S¦³¤@­Ó¤èªk¥i¥H¥Î¡A§Ú§¹³J¤F°Õ¡I

10.1. §Ú¤£¯à¨Ï¥Î ppp¡A§Ú°µ¿ù¤F¤°»ò¶Ü ?

§AÀ³¸Ó¥ý¬Ý¬Ý ppp man page ©M ppp ¨Ï¥Î»¡©ú¡C¨Ï¥Î¥H¤U«ü¥O¨Ó¥´¶}°O¿ý (logging) ªº¥\¯à

        set log Phase Chat Connect Carrier lcp ipcp ccp command
      



³o­Ó©R¥O¥i¥H¦b ppp command prompt ©ÎªÌ¬O¦b /etc/ppp/ppp.conf ²ÕºAÀɮפ¤¥[¤J¡C (¥[¦b default section ªº¶}ÀY³Ì¦n). ½T©w¦b /etc/syslog.conf ¸Ì­±¦³³o»ò¤@¦æ:

        !ppp
        *.*              /var/log/ppp.log
      



¦Ó¥B/var/log/ppp.log ³o­ÓÀɮצs¦b¡C ¦p¦¹¤@¨Ó §A¥i¥H±q log Àɮפ¤ª¾¹D¨ì©³µo¥Í¤F¤°»ò¨Æ±¡¡C ¥ý¤£¥Î¾á¤ßÀɮתº¤º®e§A¬Ý¤£À´¡A¦pªG§A­n¦V¤H¨D±Ïªº¸Ü ¡A±Ï§Aªº¤H·|¬Ý±oÀ´ªº¡C

¦pªG§A¨t²Î¤Wªº¨º¥÷ ppp ¤£´£¨Ñ "set log" ªº«ü¥Oªº¸Ü¡A§AÀ³¸Ó¥h¤U¸ü ³Ì·sª©¥»¡C ³o­Óª©¥»¦b FreeBSD 2.1.5 ¥H¤Wªºª©¥»³£¥i¥H¨Ï¥Î¡C

10.2. §Ú¤@°õ¦æ ppp¡A¥¦´N±¾¦b¨ºÃ䤣°Ê¤F

·|µo¥Í³oºØ±¡§Î³q±`¬O§Aªº hostname ¨S¦³¿ìªk¸Ñ¥X¨Ó¡C¸Ñ¨M³o­Ó°ÝÃD ³Ì¦nªº¿ìªk¬O½T©w /etc/hosts ·|³Q§Aªº resolver ²Ä¤@­Ó°Ñ¦Ò¨ì¡C §A¥i¥H­×§ï/etc/host.conf ¨Ã¥B§âhosts ©ñ¨ì³Ì«e­±¡C±µµÛ¡A¥u­n§â§Aªº¾÷¾¹¦WºÙ©ñ¨ì /etc/hosts ¸Ì­±´N¥i¥H¤F¡C¦pªG§A¨S¦³ local network ªº¸Ü¡A­×§ï localhost ³o¤@¦æ¡G

127.0.0.1 foo.bar.com foo localhost
        



§_«h¡A´N§â§A¥D¾÷ªº¸ê°T¥[¤JÀɮפ¤¡C§A¥i¥H°Ñ¦Ò¬ÛÃöªº man pages ¥HÀò±o¶i¤@¨Bªº¸ê°T¡C

¦pªG§A¶¶§Qªº§¹¦¨³o¨Ç°Ê§@¡A§AÀ³¸Ó¥i¥H¦¨¥\ªº°õ¦æ ping -c1 `hostname` ¡C

10.3. Ppp ¦b -auto ¼Ò¦¡¤U¤£¯à¼·¸¹

­º¥ý½T©w§Aªº¤º©w¸ô¥Ñ (default route) ¬O§_¦³³]©w¡C¤U netstat -rn ³o­Ó«ü¥O¡A§AÀ³¸Ó¯à°÷¬Ý¨ì¦p¥H¤U½d¨Òªº¨â­Ó entries¡G

Destination        Gateway            Flags     Refs     Use     Netif Expire
default            10.0.0.2           UGSc        0        0      tun0
10.0.0.2           10.0.0.1           UH          0        0      tun0
        



³o¨Ç³]©w¬O°²³]±z¨Ï¥Îªº address ¸ò handbook ¸Ì­±ªº¡B©Î¬O man page ªº½d¨Ò¡B©ÎªÌ©M ppp.conf.sample ¸Ìªº³]©w¬Û¦P¡C¦pªG±z¨S¦³³]©w default route¡A¨º»ò¦³¥i¯à±z²{¦b¨Ï¥Îª©¥»ªº ppp¡Aªº ppp ·|¬Ý¤£À´ ppp.conf ¸Ìªº HISADDR¡C¦pªG±zªº¨t²Î ppp ¬O¦b FreeBSD 2.2.5 ¤§«eªº¸Ü¡A­×§ï³o¤@¦æ

          add 0 0 HISADDR
        



¦¨¬°

          add 0 0 10.0.0.2
        



default route ³o¦æ¨S¦³¥X²{ªº¥t¤@­Ó­ì¦]¬O§A³]¿ù¤F default router¡A³o­Ó³]©w¦b /etc/rc.conf Àɮפ¤(³o­ÓÀɮצb release 2.2.2 «e¥s /etc/sysconfig)¡A§A»Ý­n¦b ppp.conf ¤¤¥[¤J³o »ò¤@¦æ

          delete ALL
        



¦pªGµo¥Í³oºØ±¡§Î¡A¦^¨ì handbook userppp ³Ì«á³]©w ªº»¡©ú¤¤¬d¸ß¡C

10.4. ¤°»ò¥s°µ "No route to host"

³o­Óª¬ªp³q±`¬O¦]¬°¯Ê¤Ö¤F³o¬q³]©w

          MYADDR:
            delete ALL
            add 0 0 HISADDR
        



½ÐÀˬd±zªº /etc/ppp/ppp.linkup Àɮפ¤¬O§_¦³³o¨Ç³]©w¡C ¥u¦³¦b±z¨Ï¥Î°ÊºA IP(dynamic IP) ©Î¤£ª¾¹D±z gateway ªº IP ®É¤~»Ý­n ³]©w³o­Ó¡C¦pªG±z¬O¨Ï¥Î interactive mode ªº¸Ü¡A±z¥i¥H¦b¶i¤J packet mode «á¿é¤J¦p¤U©R¥O(¦pªG ppp ´£¥Ü²Å¸¹Åܦ¨¤j¼gªº PPP¡A«K¥Nªí¤w ¸g¶i¤J packet mode)¡G

          delete ALL
          add 0 0 HISADDR
        



±z¥i¥H°Ñ¦Ò handbook ¤¤ PPP ©M°ÊºA IP ¦ì§} ªº³¡¥÷¡A¦³¸û¸ÔºÉªº»¡©ú¡C

10.5. §Úªº³s½u¦b¤T¤ÀÄÁ«á¦Û°ÊÂ_±¼¤F

ppp ¹w³]ªº timeout ­È¬O¤T¤ÀÄÁ¡C¥i¥H¥Î¥H¤U³o¦æ©R¥O½Õ¾ã

          set timeout NNN
        



³o¥Nªí¦pªG¦b NNN ¬í¤ººô¸ô³£¨S¦³°ÊÀRªº¸Ü¡Appp ´N·|¦Û°ÊÃö³¬ ³s½u¡C¦pªG NNN ³]¦¨ 0¡A¨º»ò±N¤£·|¦]¬°¨S¦³¸ê®Æ¨Ó©¹¦ÓÃö³¬³s½u¡C §A¥i¥H§â³o¦æ©R¥O©ñ¨ì ppp.conf ³o­ÓÀɮ׸̭±¡A©Î¬O¦b interactive mode ¸Ì­±¿é¤J³o­Ó«ü¥O¡A¤]¥i¥H¥Î telnet ©Î pppctl ³s¨ì ppps ¦øªA¾¹ªº socket¡A¦b³s½u«áÀH®É½Õ¾ã timeout ªº­È¡C°Ñ¦Ò ppp man page ¥HÀò±o§ó¸ÔºÉªº¸ê®Æ.

10.6. §Úªº³s½u¦]¬°­t²ü¤Ó­«¦ÓÂ_½u

¦pªG±z³]©w­n¥Î Link Quality Reporting(LQR)¡A±z©M¹ï¤è¥D¾÷¤§¶¡´N ¦³¥i¯à¿ò¥¢¤Ó¦hªº LQR «Ê¥]¡CPpp ·|¦]¦¹§PÂ_¹q¸Ü½u¸ô¦³°ÝÃD¡AµM«á´N·| ¤ÁÂ_³s½u¡C¦b FreeBSD 2.2.5 ª©¥H«e¡A¤º©w·|¨Ï¥Î LQR¡A²{¦bªº¤º©w­È¬O ¤£¥Î¡CLQR ¥i¥H¥Î³o¤@¦æ©R¥O¨ú®ø

          disable lqr
        



10.7. ppp ·|¤£©w®ÉªºÂ_½u

¦³®É­Ô¦pªG½u¸ô¤W¦³¤Ó¦hÂø°T¡A¬Æ¦Ü¦pªG±z¨Ï¥Î¤F¹q¸Ü´¡¼·ªA°Èªº¸Ü¡A ±zªº¼Æ¾Ú¾÷±N·|±¾Â_¹q¸Ü¡A¦]¬°¥¦»~»{³o¨Ç°T®§¬O lost carrier¡C

¤j³¡¤Àªº¼Æ¾Ú¾÷³£¦³®e§Ô¼È®É¥¢¥h carrier ªº³]©w¡C¥H USR Sportster ¬°¨Ò¡A¥¢¥h carrier ©M±¾Â_¹q¸Ü¤§¶¡ªº®É¶¡¡A¬O¥H 1/10 ¬í¬°³æ¦ì¦s¦b S10 ¼È¦s¾¹¤¤¡C¦pªG­nÅý±zªº¼Æ¾Ú¾÷¯à®e§Ô§óªøªº®É¶¡¡A§A¥i¥H¦b dial string ¸Ì­±¥[¤J¥H¤U "°e¥X©R¥O - µ¥«Ý¦r¦ê" ªº³¡¥÷¡G

          set dial "...... ATS10=10 OK ......"
        



°Ñ¦Ò¼Æ¾Ú¾÷¤ºªþªº»¡©ú®Ñ¥H¨ú±o§ó¸Ô²Óªº¸ê®Æ¡C

10.8. ³s½u·|¤£©w®É·í±¼

³\¦h¤Hªº³s½u·|²@µL¨Ó¥Ñªº¥d¦í¡A­º¥ý­n°µªº¬O§ä¥X³s½u¨º¤@¤è·í±¼¡C

¦pªG¥Îªº¬O¥~±µ¼Æ¾Ú¾÷¡A´N¥Î ping ¨Ó¬Ý¦b¶Ç¸ê®Æ®É¡ATD ¿O¸¹ ·|¤£·|°{¡C¦pªG·|ªº¸Ü¡]¨Ã¥B RD ¤£·|°{¡^¡A¥Nªí¬O¹ï¤è¥X°ÝÃD¡F¦pªG ¤£·|¡A«h¬O¦Û¤vªº°ÝÃD¡C¦pªG¥Î¤º±µ¼Æ¾Ú¾÷¡A¥ý¦b ppp.conf ¤¤¥[¤J set server ³o¹D«ü¥O¡A·í³s½u·í±¼®É¡A°õ¦æ pppctl ³s¨ì ppp¡C¦pªGºô ¸ô³s½u¬ðµM¦n¤F¡]¦]¬° ppp ¬Ý¨ì¥Î¨Ó¶EÂ_°ÝÃDªº socket¡^©ÎµLªk³s¤W¡]°²³] ¦b¤@¶}©l¥i¥H°õ¦æ set socket ³o¹D«ü¥O¡^¡Aªí¥Ü¥»¦a¥X°ÝÃD¡C¦pªG³s ±o¤W ppp «o¤´µM¤£¯à¥Î¡A¥Î set log local async ¥´¶}¥»¦aªº«D¦P¨B °O¿ý¡A±µµÛ¦b¥t¤@­Óµøµ¡¡]©Î²×ºÝ¾÷¡^°õ¦æ ping ¦b³s½u¤W¶Ç°e¸ê®Æ¡C «D¦P¨B°O¿ýªº¥\¯à·|¦P®ÉÅã¥Ü°e¥X©M±µ¦¬ªº¸ê®Æ¡A¦pªG¸ê®Æ¥u¥X¤£¶i¡A´N¬O¹ï ¤è¾÷¾¹¥X°ÝÃD¡C

ª¾¹D¬O¥»¦a©Î¹ï¤è¥X°ÝÃD«á¡A´N¦³¨âºØ¥i¯à¡G

10.1. ¹ï¤èªº¾÷¾¹¨S¦³¦^À³

¦b³o¤è­±¯à§@ªº¬Û·í¦³­­¡A¤j³¡¥÷ªº ISP ·|¦]¬°§A¤£¬O¥Î Microsoft §@·~¨t²Î¦Ó¤£Ä@À°¦£¡C¥i¥H¦b ppp.conf ¤¤¥[¤J enable lqr¡A ¤¹³\ ppp °»´ú¹ï¤èªº¿ù»~¦Ó±¾Â_¡A¦ý³o­Ó¹Lµ{¬Û·íºC¡A©Ò¥H¤£¤j¹ê¥Î¡C¤] ³\¤£·Q§i¶D ISP §A¬O¥Î user-ppp ¤W½uªº....

­º¥ý¡A¥Î¤U­±¨â¹D©R¥OÃö±¼©Ò¦³¥»¦aªºÀ£ÁY¥\¯à¡G

            disable pred1 deflate deflate24 protocomp acfcomp shortseq vj
            deny pred1 deflate deflate24 protocomp acfcomp shortseq vj
          



µM«á­«·s³s½u¡A½T©w³o¼Ë¤£·|¦³©Ò¤£¦P¡C¦pªG¤Ï¦Ó¦³¶i¨B©Î¬Æ¦Ü±N°ÝÃD ¸Ñ¨M±¼¡A´N¥Î¸Õ»~ªk¨Ó§ä¥X¬O¨º­Ó³]©w³y¦¨ªº¡C³o¼Ë¦bÁpµ¸ ISP ®É´N¥i¥H ´£¨Ñ¬Û·í¦³¥Îªº¸ê®Æ¡]ÁöµM·|«Ü®e©ö¬Ý¥X§A¤£¬O¥Î Microsoft ªº²£«~¡^¡C

¦bÁpµ¸ ISP ¤§«e¡A¥´¶}¥»¦aªº«D¦P¨B°O¿ý¥\¯à¡A±µµÛ´Nµ¥³s½u¦A«×·í±¼¡A ³o¥i¯à·|¥Î¨ì¬Û·í¤jªºµwºÐªÅ¶¡¡C³Ì«á±q³s±µ°ðŪ¶iªº¸ê®Æ¥i¯à·|¬Û·í¦³¥Î¡A ¥¦³q±`¬O ASCII ¤å¦r¡A¬Æ¦Ü¦³¥i¯à·|»¡©ú°ÝÃD¥X¦b¨º¸Ì(``Memory fault¡A core dumped''?)¡C

¦pªG ISP Ä@·N¨ó§Uªº¸Ü¡AÀ³¸Ó·|¦b¥L­Ì¨º¤@ºÝ¤]¥´¶}°O¿ý¥\¯à¡A¨º»ò¦b ¤U¦¸³s½u·í±¼®É¡A´N¥i¥H§i¶D§A¬°¦ó·|¥X°ÝÃD¡C«ÜÅwªï±N¸Ô²Ó¤º®e°e¨ì brian@Awfulhak.org¡A¬Æ¦Ü­n ¨D ISP ª½±µ¦V§Ú³sµ¸¡C

10.2. ¦Û¤vªº Ppp ·í±¼¤F

³o¸Ì¯à°µªº³Ì¦h´N¬O­«·s½sĶ ppp¡G¦b Makefile ³Ì«á­±¥[¤W CFLAGS+=-g ©M STRIP=¡A±µµÛ°µ make clean && make && make install¡C¦b ppp ·í ±¼®É¡A¥ý¥Î ps ajxww |fgrep ppp §ä¥X ppp ªº process id¡AµM«á°õ ¦æ gdb ppp PID¡C¦b gdb ´£¥Ü²Å¸¹¤U¡A¥i¥H¥Î bt §ä¥X stack trace¡C

±Nµ²ªG°e¨ì brian@Awfulhak.org.

10.9. ¦b¬Ý¨ì Login OK! ªº°T®§¥H«á´N¨S¦³¤ÏÀ³¤F

¦b FreeBSD 2.2.5 ¥H«eªºª©¥»¤W¡A¤@¥¹³s½u«Ø¥ß§¹¦¨¥H«á¡A ppp ·|µ¥¹ï¤èªº¾÷¾¹±Ò°Ê Line Control Protocol (LCP)¡C«Ü¦h ISP ¤£·|¦Û°Ê ±Ò°Ê¡A¦Ó¬Oµ¥«Ý¥Ñ client ºÝ¨Ó±Ò°Ê¡C­n±j­¢ ppp ¥D°Ê±Ò°Ê LCP¡A½Ð °õ¦æ³o­Ó©R¥O¡G

          set openmode active
        



Note: ³q±`¦pªG¨âÃä³£±Ò°Ê°T®§¥æ´«ªº¸Ü¡A³q±`¤£·|³y¦¨¥ô¦ó°Æ§@ ¥Î¡A©Ò¥H openmode ¥Ø«e¤º©w¬O¥´¶}ªº¡CµM¦Ó¡A¤U¤@¬q±N¸ÑÄÀ¦b¤°»òª¬ªp¤U ³o¼Ë³]©w ¯uªº ·|³y¦¨°Æ§@¥Î¡C

10.10. §Ú¤@ª½¬Ý¨ì magic being the same ªº¿ù»~°T®§

¦³®É´N¦b³s¤W¤§«á¡A¦b°O¿ýÀÉ·|¬Ý¨ì "magic is the same" ªº°T®§¡C³q ±`³o¨Ç¬OµL®`ªº¡A¦³®É­Ô¬Y¤@ºÝ«h·|Â_½u¡C¤j¦h¼Æªº ppp ¹ê§@µLªk¸Ñ¨M³o­Ó °ÝÃD¡A´Nºâ¦ü¥G³s¤W¤F¡A¦b°O¿ýÀɤ]¥i¥H¬Ý¨ì¤@ª½­«½Æªº configure request ©M configure acknowledgement ¤§Ãþªº·¾³q°T®§¡Appp ³Ì«á·|©ñ±ó¦ÓÃö±¼³s ½u¡C

·|µo¥Í³oºØ°ÝÃDªº³q±`±¡ªp¬O¡A¦øªA¾¹¥Î³t«×ºCªºµwºÐ¡B¦b³q°T°ð¤W°õ¦æ getty¡B¨Ã¥Bµ¥¨ì¨Ï¥ÎªÌµn¤J«á¤~¥Î script ©Îµ{¦¡°õ¦æ ppp¡F¤]¦³Å¥»¡¥Î slirp ´N¤@©w·|µo¥ÍÃþ¦ü°ÝÃDªº³ø§i¡C­ì¦]¬O¦b getty µ²§ô©M ppp ¶}©l°õ¦æ ªº³o¬q®É¶¡¤º¡Aclient ºÝªº ppp ¶}©l°e¥X Line Control Protocol(LCP) «Ê ¥]¡A¥Ñ©ó¦øªA¾¹³q°T°ðªº ECHO ¤´¦b¥´¶}ª¬ºA¡Aclient ºÝªº ppp ´N·|¬Ý¨ì°e ¥X¥hªº«Ê¥]³Q "¤Ï¼u" ¦^¨Ó¡C

¦b¥Î LCP ·¾³q®É¡A¦³³¡¥÷¬O­n³s½u¨âÃä¤À§O«Ø¥ß¦Û¤vªº magic number¡A ¨Ó°»´ú¤ÎÁ×§K«Ê¥]³Q "¤Ï¼u" ¦^¨Óªºª¬ªp¡C¨ó©w¼Ð·Ç¤¤»¡·í¹ï¤è¸Õ¹Ï¥Î©M¦Û¤v ¬Û¦Pªº magic number ·¾³q®É¡A­n°eµ¹¹ï¤è¤@­Ó NAK ªº°T¸¹¡]ªí¥Ü¤£±µ¨ü¡^¡A ±µµÛ¹ï¤è´N·|¿ï¥t¤@­Ó¼Æ¦r¡C¦ý¦b¦øªA¾¹³q°T°ð ECHO ¤´¥´¶}ªº³o¬q´Á¶¡¡A client ºÝªº ppp °e¥X LCP «Ê¥]¡A¬Ý¨ì¬Û¦Pªº magic number¡A©ó¬O°e¥X NAK °T¸¹¡C³o­Ó NAK ¤]·|³Q "¤Ï¼u" ¦^¨Ó¡A³Q»~»{¥Ñ¹ï¤è°e¥X¡A¦]¦¹ client ºÝ·|§ïÅܦۤvªº magic number¡C³o¼Ë magic number ªºÅܰʦ¸¼Æ·|«D±`¦a¦h¡A ¨Ã¥B¤]¥þ³£¦s¦b¹ï¤èªº²×ºÝ¾÷½w½Ä°Ï¤¤¡C·í¦øªA¾¹±Ò°Ê ppp ®É¡A¥¦°¨¤W´N ³Q magic number ªº¤j¶q§ó°Ê©Ò²T¨S¡A¨Ã¥B¡]´X¥G¬O¥ß¨è¡^¨M©w¤w¸g¸Õ°÷¤F LCP ¦Ó©ñ±ó¡F¦b³o´Á¶¡¡Aclient ºÝÁöµM¦A¤]¬Ý¤£¨ì³Q¤Ï¼uªº«Ê¥]¡A¦ý«o¨Ó±o ¤Î¬Ý¨ì¦øªA¾¹§â¹q¸Ü½u±¾±¼¡C

¤¹³\Åý¹ï¤è¨Ó§@ LCP ·¾³q¥i¥HÁ×§K³oºØ±¡§Î¡A¦b ppp.conf ¤¤¥[¤U­±³o ¤@¦æ¡G

          set openmode passive
        



³o¦æ§i¶D ppp ¥Ñ¹ï¤è¨Ó±Ò°Ê LCP¡A¤£¹L¦³¨Ç¦øªA¾¹¥Ã»·³£¤£·|¥D°Ê·¾³q ¡A¦b³oºØ±¡ªp¤U¡A¥i¥H³o»ò³]©w¡G

          set openmode active 3
        



³o¬O­n ppp µ¥­Ó¤T¬íÄÁ¡AµM«á¦A¶}©l°e LCP ¬ÛÃö­n¨D¡C¦pªG¹ï¤è¦b³o ¬q®É¶¡°e¥X LCP «Ê¥]¡Appp ´N¤£·|µ¥¨¬¤T¬í¦Ó¥ß¨è¦^À³¡C

10.11. LCP ªº·¾³q¤@ª½¨ì³s½uÃö³¬¤~µ²§ô

¥Ø«e ppp ¦b¹ê§@¤W¦³­Ó·|¥X°ÝÃDªº "¥\¯à"¡A¤£·|±N LCP¡BCCP & IPCP ³o´XºØ«Ê¥]ªº¦^À³©M­ì¥ý­n¨D§@¹ï·Ó¡Cµ²ªG¬O¦pªG¦³¤@¤èªº ppp ±Ò°Ê®É¤ñ¹ï¤èºC¤F¤»¬í¥H¤W¡A¹ï¤è·|¦b¨ä¶¡¦h°e¥X¨â­Ó LCP ªº³]©w ­n¨D¡A«áªG¬Û·íÄY­«¡C

°²³]¦³¨âºÝ A ©M B ³£¦b°õ¦æ ppp¡AA ¦b³s½u«á¥ß¨è °e¥X LCP ­n¨D¡AB «hªá¤F¤C¬í¤~¶}©l¡A©Ò¥H·í B ±Ò°Ê®É¡AA ¦­¤w°e¥X¤T­Ó LCP REQ(request)¡C§Ú­Ì¤]°²³]³s½u¤w±N ECHO Ãö±¼¡A§_«h´N ·|¬Ý¨ì¤W­Ó°ÝÃD´£¨ìªº magic number °ÝÃD¡CB ±Ò°Ê®É¤]·|°e¥X REQ¡A ¦P®É¹ï A °e¥Xªº²Ä¤@­Ó REQ ¦^À³¡A°e¥X ACK(acknowledge)¡CA ¦¬¨ì³o ­Ó ACK «á·|¶i¤J OPENED ª¬ºA¡A¦P®É¤]¹ï B ªº²Ä¤@­Ó REQ °e¥X ACK¡C¦ý¦b³o¬q´Á¶¡¡AB ·|¬Ý¨ì A ¤§«e¦h°e¥Xªº¨â­Ó REQ¡A¦]¦Ó¤] ¥H¨â­Ó ACK ¦^À³¡CB ±µµÛ¬Ý¨ì A ¶Ç¨Óªº²Ä¤@­Ó ACK¡A¦]¦¹¤]¶i¤J OPENED ª¬ºA¡C¦ý³o®É A ¦¬¨ì B ¦h°eªº¨â­Ó ACK¡C®Ú¾Ú RFC ªº³W©w¡A·|¹ï²Ä¤G­Ó ACK °e¥X²Ä¥|­Ó REQ ¦Ó¦^¨ì REQ-SENT ª¬ºA ¡]¦A­«½Æ¤@¦¸ REQ-ACK ªº¹Lµ{¡^¡A¦ý¤@¬Ý¨ì²Ä¤T­Ó ACK¡AA ¥H¬°¬O B ¦^À³­è­è°e¥Xªº REQ¡A¤S¶i¤J OPENED ª¬ºA¡C¦¹®É B ¦¬¨ì A µo¥Xªº²Ä¥|­Ó REQ¡A®Ú¾Ú RFC¡A·|¹ï³o­Ó REQ °e¥X ACK¡AµM«á¦A°e¥X ²Ä¤G­Ó REQ¡]¤]¬O¦A­«½Æ¤@¦¸ REQ-ACK ªº¹Lµ{¡^¡CA ¦¬¨ì³o­Ó REQ «á ·|¦A­«·s°e REQ ¦Ó¦^¨ì REQ-SENT ª¬ºA¡A±µµÛ¤S¦¬¨ì ACK ¦Ó¶i¤J OPENED ª¬ºA¡C¦]¦¹Âù¤è³£·|¥H¬°¦¬¨ìªº ACK ¬O¹ï¤è¦^À³­è­è°e¥X¥hªº REQ¡A³Ì«á A ·|¤@ª½¦b OPENED ©M REQ-SENT ¨âºØª¬ºA¶¡¤Á ´«¡A¹ï B «h¬O OPENED ©M ACK-SENT¡C

³oºØ´c©Ê´`Àô·|¤@ª½«ùÄòµÛ¡Aª½¨ì¦³¤@¤èµo²{¦Û¤v¦b­ì¦a¥´Âà¦Ó©ñ±óÄ~Äò ¤U¥h¡C

Á×§K³oºØ±¡ªpªº³Ì¦n¤è¦¡¡A¬O±N¬Y¤@ºÝ³]¦¨³Q°Ê¼Ò¦¡¡Ð¤]´N¬Oµ¥¥t¤@ ¤è¥ý¶}©l·¾³q¡A¥Î³o¹D©R¥O¡G

          set openmode passive
        



¥Î³o­Ó¿ï¶µ®É­n¤p¤ß¡AÀ³¸Ó©M³o­Ó©R¥O¤@°_¥Î¡G

          set stopped N
        



³o·|³]©w ppp µ¥«Ý¹ï¤è¶}©l·¾³qªº®É¶¡¤W­­¡A¥t¤@­Ó¤èªk¬O¥Î¡G

          set openmode active N
        



¨ä¤¤ N ¬O¦b¥D°Ê·¾³q¤§«e¥ýµ¥«Ýªº¬í¼Æ¡Aman page ¦³§ó¸Ô²Óªº»¡©ú¡C

10.12. Ppp ¦b³s½u«á´N¥d¦í¤F

¦b FreeBSD 2.2.5 ¤§«eªºª©¥»¡A¦³¥i¯à¦]¬° ppp ¦b³B²z Predictor1 À£ÁY®Éµo¥Í¿ù»~¡A¨Ï±o¦b³s½u«á°¨¤W´N¥d¦í¡C¥u¦³·í³s½uÂù¤è³£¸Õ¹Ï¥Î¤£¦P ºØ Compression Control Protocol(CCP) ·¾³q®É¡A¤~·|µo¥Í³oºØ±¡§Î¡C³o­Ó °ÝÃD¤w¸g¸Ñ¨M¤F¡A¦ý¦pªG¤´¦b¥Îª©ªº ppp¡A¥i¥H¥Î³oºØ¤èªkÁ×§K¡G

          disable pred1
        



10.13. ¥Î shell ¸õ¥X Ppp °µ´ú¸Õ®É¡A³s½u¦ü¥G¥d¦í¤F

¦b¥Î shell ©Î ! ©R¥O®É¡Appp ·|°õ¦æ shell(ppp ¤]·|§â§A«ü©wªº°Ñ¼Æ¶Çµ¹ shell)¡APpp ·|µ¥¨ì³o¨Ç©R¥Oµ²§ô«á¤~Ä~Äò¡C¦pªG ¦³¨Ï¥Î¨ì ppp ³s½uªº©R¥O¡A³s½u·|¹³¬O³Q­á¦í¤F¡A³o¬O¦]¬° ppp ¥¿¦b µ¥³o¨Ç«ü¥Oµ²§ô¡C

¦pªG·Q°õ¦æµ{¦¡¡A¥Î !bg ³o­Ó©R¥O¡A¥¦·|§âµ{¦¡¥á¨ì­I´º°õ¦æ¡Appp ±µµÛ´N¯àÄ~Äò«O«ù³s½u¡C

10.14. ¦b null-modem ½u¤W«Ø¥ßªº Ppp ¦n¹³¤£·|¦Û°ÊÂ_½u

¥Ñ©ó null-modem ¥»¨­¥Îªº½u§÷¡Appp ¨S¦³¿ìªk¦Û°Ê¨M©w¬O§_ ¬Y­Óª½±µ³s½u¤w¸gÂ_±¼¡C·í¨Ï¥Î³oÃþ¤è¦¡ªº³s½u®É¡A¤@©w­n¥´¶} LQR¡G

          enable lqr
        



¤º©w¬O·|±µ¨ü LQR¡A¦pªG¹ï¤è¥Î¥¦¨Ó·¾³qªº¸Ü¡C

10.15. ¬°¤°»ò ppp ¦b -auto ¼Ò¦¡¤U·|µL½tµL¬G¼½¸¹¡H

¦pªG ppp «D¹w´Á¦a¼½¸¹¡A´N¥²¶·­n§ä¥X­ì¦]¡AµM«á³]©w¼½¸¹¹LÂo ¾¹¡]dfilter, Dial filter¡^¨ÓÁ×§K³oºØ±¡§Î¡C

­n§ä¥X­ì¦]¡A¥ý¥Î³o­Ó©R¥O¡G

          set log +tcp/ip
        



³o¼Ë·|°O¿ý¸g¥Ñ³s½uªº©Ò¦³¸ê®Æ¡C¤U¦¸¦pªG¤SµL¬G¼½¸¹¡A´N¥i¥H±q°O¿ý ®ÇÃ䪺®É¶¡«Ü§Ö§ä¨ì­ì¦]¡C

²{¦b¥i¥HÁ×§K¦]¬°³o¨Ç­ì¦]¼½¸¹¡C³q±`¬O¦b§@ DNS ¬d¸ß®É¤~·|µo¥Í³oºØ °ÝÃD¡A­nÁ×§K¦] DNS ¬d¸ß¦Ó³s½u¡]³o¼Ë¤£·|¨Ï ppp ¦b³s½uª¬ºA ¤U¾×±¼³o¨Ç«Ê¥]¡^¡A¥Î¤U­±³o´X¦æ¡G

          set dfilter 1 deny udp src eq 53
          set dfilter 2 deny udp dst eq 53
          set dfilter 3 permit 0/0 0/0
        



³oºØ°µªk¨Ã¤£¥Ã»·¾A¥Î¡A¦]¬°¥¦¨Æ¹ê¤W¨Ï±o§AµLªk¥Î demand-dial ¥\¯à ¡Ð ¤j³¡¥÷µ{¦¡¦b°µºô¸ô¬ÛÃö°Ê§@«e³£·|¥Î¨ì DNS ¬d¸ß¡C

¦b DNS ³o­Ó±¡ªp¤U¡AÀ³¸Ó¸ÕµÛ§ä¥X¨ì©³¬O½Ö·Q­n¸Ñ¥X¥D¾÷¦WºÙ¡A³q±`´X ¥G³£¬O¥Ñ sendmail ©Ò³y¦¨¡A©Ò¥H­n¦b sendmail ³]©wÀɤ¤«ü¥Ü¥¦¤£­n°µ¥ô¦ó DNS ¬d¸ß¡C¦b Mail ³]©w ¤@¸`¤¤¦³¸Ô²Ó»¡©ú¦p¦ó§@¥X ¦Û¤vªº³]©wÀÉ¡B¤Î¸Ì­±À³¸Ó©ñ­þ¨Ç³]©w¡A§A¤]³\·Q­n±N¤U¤@¦æ¥[¤J .mc Àɤ¤¡G

          define(`confDELIVERY_MODE', `d')dnl
        



³o·|¨Ï sendmail ¥ý¾×µÛ©Ò¦³«H¥ó¡Aª½¨ì°e«H®É¦A¤@»ô°e¥X¥h¡]³q±` sendmail °õ¦æ®É¬O¥Î ``-bd -q30m'' ³o­Ó°Ñ¼Æ¡A§i¶D¥¦¨C¤T¤Q¤ÀÄÁ¤~°e«H¡^ ©Î¬O¦³¤H°õ¦æ ``sendmail -q''¡]¤]³\¥i¥H©ñ¦b ppp.linkup ¸Ì¡^¡C

10.16. ³o¨Ç CCP ¿ù»~°T®§¬O«ü¡H

§Ú¦b log Àɤ@ª½¬Ý¨ì³o¨Ç¿ù»~°T®§¡G

          CCP: CcpSendConfigReq
          CCP: Received Terminate Ack (1) state = Req-Sent (6)
        



³o¬O¦]¬° ppp ¸Õ¹Ï§@ Predictor1 À£ÁY¤è­±ªº·¾³q¡A¦ý¹ï¤èªº¾÷¾¹«o§¹ ¥þ¤£¥ÎÀ£ÁY¥\¯à¡C³o¨Ç°T®§¬OµL®`ªº¡A¦ý¦pªG¤£·Q¬Ý¨ì¥¦ªº¸Ü¡A¥i¥H§â¥»¦a ppp ªº Predictor1 À£ÁY¤]¤@°_Ãö±¼¡G

          disable pred1
        



10.17. ¶ÇÀɮ׮ɵo¥Í IO ¿ù»~¡AµM«á Ppp ´N±¾±¼¤F

¦b FreeBSD 2.2.2 ¤Î¥ý«eªºª©¥»¤¤¡Atun ªºÅX°Êµ{¦¡¦³­Ó°ÝÃD¡A¥¦¤£·| ±µ¦¬¨º¨Ç¤j¹L tun ¤¶­± MTU ªº«Ê¥]¡C¦pªG¦¬¨ì¤ñ MTU ¤jªº«Ê¥]¡A¥¦·|¥Î syslogd °O¿ý¬° IO ¿ù»~¡C

¦ý ppp ³W®æ¤¤¦³´£¨ì¡A¤£ºÞ LCP ·¾³qªºµ²ªG¦p¦ó¡AMRU ³Ì¤pªº¥i±µ¨ü ­È¥Ã»·¬O 1500¡C©Ò¥H¦³¥i¯à§A¤£¤p¤ß±N MTU ½Õ§C©ó 1500¡AISP ·|¤£²z¥¦¦Ó°e¥X 1500 ¤j¤pªº«Ê¥]¡AµM«á´N·|IJµo¤W­zªº "¥\¯à"¡C

¦b FreeBSD 2.2.2 ¤Î¤§«eªºª©¥»¤¤¡A¥Ã»·¤£­n±N MTU ½Õ§C©ó 1500¡A´N ¥i¥H¸Ñ¨M³o­Ó°ÝÃD¡C

10.18. ¬°¤°»ò ppp ¤£·|°O¿ý§Úªº³s½u³t«×¡H

¦pªG­n°O¿ý¹q¸£©M¼Æ¾Ú¾÷¶¡ªº¨C¤@¦æ ``¹ï¸Ü''¡A¥Î¤U¤@¦æ¥´¶}¡G

          set log +connect
        



³o·|¨Ï ppp °O¿ý©Ò¦³¸ê®Æ¡Aª½¨ì¼½¸¹¦r¦ê³Ì«á¤@­Óµ¥«Ýªº¼Æ¾Ú¾÷¶Ç¦^­È ¬°¤î¡C

¦pªG¨Ï¥Î PAP ©Î CHAP (¦]¬°¨S¦³ "set login" ©R¥O¡A©Ò¥H³]©wÀɤ¤ CONNECT ¤§«á´N¤£·|¬Ý¨ì¥ô¦ó¹ï¸Ü)¡A·Q­n¬Ý¨ì³s½u³t«×ªº¸Ü¡A½T©w ppp µ¥«Ýªº¼Æ¾Ú¾÷¶Ç¦^­È¬O CONNECT ³o¤@¾ã¦æ¡A¹³³o¼Ë¡G

          set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 4 \"\" ATZ OK-ATZ-OK ATDT\\T TIMEOUT 60 CONNECT \\c \\n"
        



³o¼Ë¦b¬Ý¨ì CONNECT «á¤£·|°e¥X¥ô¦óªF¦è¡A±µµÛ¦Aµ¥­Ó´«¦æ¦r¤¸¡A±j ­¢ ppp Ū¨ú¦^À³ªº CONNECT ¤@¾ã¦æ¡C

10.19. Ppp ¤£²z·| chat script ¤¤ªº `\' ¦r¤¸

Ppp ·|¥h¤ÀªR³]©wÀɤ¤ªº¨C¤@¦æ¡A³o¼Ë¥¦¤~·|¥¿½T¸ÑŪ¹³¬O set phone "123 456 789" ªº¦r¦ê¡]§AÀ³¸Óª¾¹D³o­Ó¼Æ¦r¥u¬O <¤@­Ó> °Ñ¼Æ¡A¦pªG­n«ü©wÂù¤Þ¸¹ (") ³o­Ó¦r¤¸¡A¥²¶·¦b¥¦«e­±¥Î¤Ï±×½u (\)±N¥¦¹j¶}¡^¡C

·í¸Ñ͵{¦¡¤ÀªR¨C­Ó°Ñ¼Æ®É¡A¬°¤F§ä¥X¦r¦ê¤¤©Ò¦³¹³¬O ``\P'' ``\T'' ªº¸õ²æ¦r¤¸¡]¨£ man page¡^¡A¥²¶·­«·s¸ÑĶ¸Ó°Ñ¼Æ¡C¦b³oºØÂù­«¤ÀªR¤§¤U¡A §A¥²¶·°O±o¥Î¥¿½Tªº¸õ²æ¼Æ¥Ø¡C

°²³]­n¹ï¼Æ¾Ú¾÷°e¥X ``\'' ³o­Ó¦r¤¸¡AÀ³¸Ó¹³¬O¡G

          set dial "\"\" ATZ OK-ATZ-OK AT\\\\X OK"
        



³o¼Ë«h·|±o¨ì¤U­±³o¦ê¡G

          ATZ
          OK
          AT\X
          OK
        



¦pªG¬O

          set phone 1234567
          set dial "\"\" ATZ OK ATDT\\T"
        



«h·|±o¨ì¤U­±µ²ªG¡G

          ATZ
          OK
          ATDT1234567
        



10.20. Ppp ¸I¨ì¤F seg-fault¡A¦ý§ä¤£¨ì ppp.core ³o­ÓÀÉ¡H

Ppp (©Î¥ô¦óÃþ¦üªºµ{¦¡) À³¸Ó¤£¥i¯à¦³ core dump¡C¥Ñ©ó ppp °õ¦æ®É ªº effective user id ¬O 0 (§Y¥H root ¨­¥÷°õ¦æ)¡A§@·~¨t²Î¦b²×¤î ppp «e¤£·|¹ïºÏºÐ¼g¥¦ªº core ¬M¹³ÀÉ¡C¦pªG ppp ¯uªº¦]¬° segmentation violation ©Î¨ä¥L¤@¯ë·| core dump ªº signal ¦Ó²×¤î¡B¨Ã¥B½T©w¥Î ªº¬O³Ì·sª©¥»(¨£¥»¸`¶}ÀY)¡A¨º»ò§A¥i¥H³o»ò°µ¡G

          $ tar xfz ppp-*.src.tar.gz
          $ cd ppp*/ppp
          $ echo STRIP= >>Makefile
          $ echo CFLAGS+=-g >>Makefile
          $ make clean all
          $ su
          # make install
          # chmod 555 /usr/sbin/ppp
        



§A²{¦b¤w¸g¸Ë¤W¥i¥H¥Î¨Ó°£¿ùªº ppp ª©¥»¡A¥Ñ©óÅv­­¤W¨S¦³§@¯S§O³]©w¡A ©Ò¥H¥²¶·¥H root ¨Ó°õ¦æ ppp¡A¶¶«K¤]­nª`·N¬O¦b¨º­Ó¥Ø¿ý°õ¦æªº¡C

²{¦b¦pªG ppp ¸I¨ì¤F segmentation violation¡A´N·|±N coredump ¦s¦b ppp.core Àɤ¤¡A±µ¤U¨Ó´N¬O¡G

          $ su
          # gdb /usr/sbin/ppp ppp.core
          (gdb) bt
          .....
          (gdb) f 0
          .....
          (gdb) i args
          .....
          (gdb) l
          .....
        



®Ú¾Ú§Aªº°ÝÃD¨Ó¨ú±o¬ÛÃö¸ê®Æ¡A´N¥i¥H¶EÂ_°ÝÃD¥X¦b¨º¸Ì¡C

¦pªG¼ô±x gdb¡A¤]³\·|·Q§ä¥X¨ä¥Lªº¸Ô²Ó¸ê®Æ¡A¹³¬O¨º­Ó°Ê§@³y¦¨ dump¡B¤Î¬ÛÃöÅܼƪº¦ì§}¤Î¼Æ­Èµ¥¡C

10.21. ¦b -auto ¼Ò¦¡¤U¡A¨Ï ppp ¼½¸¹ªºµ{¦¡¦b³s½u«á«o³s¤£¨ì¥Øªº¦a

³o¬O³]©w ppp ¦b -auto ¼Ò¦¡¦V¹ï¤è¨ú±o°ÊºA IP ®Éªº¤wª¾°ÝÃD¡A ¦b³Ì·sª©ªº ppp ¤w¸g¸Ñ¨M¤F ¡Ð ¦b man page ¤¤¥Î iface ÃöÁä¦r§ä§ä ¬Ý¡C

·í¥Î¨ìºô¸ôªºµ{¦¡©I¥s connect(2) ®É¡Asocket endpoint ·|³]¦¨ tun ³o­Ó¬É­±ªº IP¡Akernel ±µµÛ²£¥Í­n°e¥X ¥hªº²Ä¤@­Ó«Ê¥]¡A§â¥¦¶Çµ¹ tun¡APpp Ū¨ì³o­Ó«Ê¥]«á´N·|¶}©l«Ø¥ß³s ½u¡C¦pªG ppp ¥Îªº¬O°ÊºA¤À°t IP¡A¨º»ò´N·|§ïÅÜ tun ¬É­±ªº¦ì§}¡A ­ì¥ýªº socket endpoint ´N¦¨¬°¤£¥¿½Tªº­È¡C±µµÛ°e¨ì¹ï¤èªº«Ê¥]³q±`³£·| ³Q¥á±¼¡A´Nºâ¯à¶¶§Q¹F¨ì¹ï¤è¾÷¾¹¡A¥Ñ©ó¸Ó¨Ó·½ IP ¤wµ¹¨ä¥L¤H¨Ï¥Î¡A¥ô¦ó¦^ À³¤]¤£·|³Q¶Ç¦^¥»¦aªº¾÷¾¹¤W¡C

²z½×¤W¡A¦³¦n´XºØ¤èªk¥i¥H¸Ñ¨M³o­Ó°ÝÃD¡C¦pªG ISP Ä@·N¨C¦¸³£´£¨Ñ¬Û¦P IP ·íµM¬O³Ì¦n :-)¡A¥Ø«eª©¥»ªº ppp ·|°µ¨ì³o¤@ÂI¡A¦ý¤j¦h¼Æªº ppp ¹ê§@¤£·|³o»ò°µ¡C

±q client ºÝ³Ì®e©öªº¸Ñ¨M¤è¦¡¬O¡A¥Ã»·³£¤£­n§ïÅÜ tun ¬É­±ªº IP ­È¡A ¦ý¬O±N©Ò¦³¥X¥hªº«Ê¥]¨Ó·½ IP ±q­ì¥ýªº tun ¬É­± IP §ï¬°³s½u®É¨ú±oªº IP¡A°ò¥»¤W³o´N¬O³Ì·sª© ppp ¸Ì iface-alias ¿ï¶µªº°µªk¡]¨Ï¥Î ¤F libalias(3) ©M°õ¦æ ppp ®Éªº -alias °Ñ¼Æ¡^¡Ð°O¦í¤§«e©Ò¦³ ¥Î¹Lªº tun ¬É­± IP¡A¦A§â¥þ³¡´«¦¨³Ìªñ¤@¦¸®³¨ìªº¦ì§}¡C

¥t¤@ºØ¤èªk¡]¥i¯à¬O³Ì¥i¾a¡^¬O¼g­Ó¥i¥H­×§ï©Ò¦³ socket endpoint ­Èªº system call¡C·í®³¨ì·sªº IP ®É¡APpp ´N¥i¥H¥Î¥¦¨Ó­×§ï©Ò¦³°õ¦æµ{¦¡ ©Ò«Ø¥ßªº socket¡C·í DHCP client µ{¦¡¹ï socket ­«·s¨Ï¥Î bind() ®É¡A¤] ¥i¥H¥Î¦P¼Ëªº©I¥s¡C

ÁÙ¦³¤@­Ó¥i¯à«h¬O¤¹³\¤£¥Î IP¡A´N¥i¥H±Ò¥Î¬Y­Óºô¸ô¬É­±¡C°e¥X¥hªº«Ê¥] ¨Ó·½ IP ·|³]¦¨ 255.255.255.255¡Aª½¨ì SIOCAIFADDR ³o­Ó ioctl ²Ä¤@¦¸°õ ¦æ§¹¦¨¬°¤î¡C³o¼Ë·|§¹¥þ³sµ² socket ªº¨âºÝ¡A¦Ó¥Ñ ppp ¨Ó­×§ï¨Ó·½ªº IP ­È¡A¦ý¥u¦³·í­ì¨Ó IP ­È¬O 255.255.255.255 ®É¡B©ÎªÌ IP ­È©M IP °»¿ù ½X»Ý­n­×§ï®É¤~·|¥h§ó°Ê¡C³oºØ¤è¦¡¦³ÂIºâ¬O hack¡A§Y kernel ¥i¥H¹ï¨S³] ©w¦nªº¬É­±°e¥XÃa±¼ªº«Ê¥]¡A¦]¬°°²³]·|¦³¨ä¥L¾÷¨î¥i¥H­×¥¿³oºØ¿ù»~¡C

10.22. ¬°¦óª±¤j¦h¼Æ¹CÀ¸®É¡A³£¤£¯à¨Ï¥Î -alias ³o­Ó°Ñ¼Æ¡H

¹CÀ¸©ÎÃþ¦üµ{¦¡¤£¯à©M libalias ·f°t¨Ï¥Îªº­ì¦]¬O¡A¥~­±ªº¾÷¾¹¸ÕµÛ¹ï µÛ¤º³¡ªº¾÷¾¹¶}±Ò³s½u¡B©Î¡]¤£½Ð¦Û¨Ó¦a¡^°e¥X UDP «Ê¥]¡A¦Ó alias «Ê¥]ªº ³nÅ餣ª¾¹D¥¦À³¸Ó§â³o¨Ç«Ê¥]°e¨ì¸Ì­±ªº¾÷¾¹¥h¡C

¸Ñ¨Mªº¤è¦¡¬O¡A¥ý½T©w²{¦b¥u¦³°õ¦æ¨º­Ó·|¥X°ÝÃDªºµ{¦¡¡AµM«á¦b gateway ¾÷¾¹¤W¹ï tun ¬É­±°õ¦æ tcpdump¡B©Î¦b¤W­±¥´¶}°O¿ý tcp/ip ªº¥\ ¯à¡]``set log +tcp/ip''¡^¡C

¦b±Ò°Ê¥X°ÝÃDªºµ{¦¡®É¡AÀ³¸Ó·|¦b gateway ¾÷¾¹¤W¬Ý¨ì¦³«Ê¥]³q¹L¡A·í¥~ ¬É¦³¶Ç¦^«Ê¥]®É«h·|³Q¥á±¼¡]³o´N¬O°ÝÃD©Ò¦b¡^¡C°O¤U³o¨Ç«Ê¥]­n°e¨ì¥Øªº¦a ªº¨º­Ó°ð¡AµM«áÃö±¼µ{¦¡¡C­«½Æ´X¦¸¡A¬Ý¬Ý¬O§_³£­n°e¨ì¦P¼Ë©T©wªº°ð¡A¦pªG ¬Oªº¸Ü¡A¦b /etc/ppp/ppp.conf ¬ÛÃö¦ì¸m¥[¤W³o¤@¦æ¡A´N¥i¨Ïµ{¦¡¥¿½T¹B§@¡G

          alias port proto internalmachine:port port
        



¨ä¤¤ ``proto'' ¬O ``tcp'' ©Î ``udp''¡A``internalmachine'' ¬O­n±µ ¦¬³o¨Ç«Ê¥]ªº¾÷¾¹¡A``port'' «h¬O³o¨Ç«Ê¥]­n°e¨ì¨º­Ó°ð¡C

¦pªG­n¦b¨ä¥L¾÷¾¹¤W°õ¦æ¦P¼Ëµ{¦¡¡A¥²¶·­«½Æ¦P¼Ë¹Lµ{­×§ï¤W¤@¦æ³]©w¡A §_«h´N¤£¯à¥¿±`¨Ï¥Î¡F¤]¤£¥i¯à¦b¨â¥x¤º³¡¾÷¾¹¤W¦P®É¨Ï¥Î¡Ð²¦³º¥~¬É¥u¬O§â ³o­Ó¤º³¡ºô¸ô¬Ý¦¨¤@¥x¾÷¾¹¦Ó¤w¡C

¦pªG«Ê¥]¤£¤@©w°e¨ì¦P¼Ëªº°ð¡A§A¦³¤TºØ¿ï¾Ü¡G

1) ¦b libalias ¥[¤J¹ï¥¦ªº¤ä´©¡A /usr/src/lib/libalias/alias_*.c ¦³¤@¨Ç ``¯S¨Ò'' ªº¥Ü½d¡]alias_ftp.c ¬O­Ó¤£¿ùªº­ì«¬ÀÉ¡^¡C³q±`¬OŪ¨ú¬Y¨Ç¥i¥H»{±o¥Xªº¥~°e«Ê¥]¡A§ä¥X­n¥~­±³s ¨ì¤º³¡¾÷¾¹¬Y­Ó°ðªº«ü¥O¡AµM«á¦b alias ªí¤¤³]©w ``route''¡A¥H«á¦A¦¬¨ì ³oºØ«Ê¥]´Nª¾¹D­n©¹¨º¸Ì°e¡C

³o¬O³Ì§xÃøªº¸Ñªk¡A¦ý¤]¬O³Ì¦nªº¡A¨Ã¥BÁÙ¥i¥H¦b¦h¥x¾÷¾¹¤W¥Î¦P¼Ëµ{¦¡¡C

2) ¨Ï¥Î proxy¡CÁ|¨Ò¨Ó»¡¡A¸ÓÀ³¥Îµ{¦¡¤]³\¤ä´© socks5¡A©Î¬O ¦³­Ó ``passive'' ªº¿ï¶µ¡]¹³¬O ``cvsup''¡^¥i¥HÁ×§K¹ï¤è¦V¤º³¡¾÷¾¹´£¥X ³s½uªº­n¨D¡C

3) ¥Î ``alias addr'' §â©Ò¦³¸ê®Æ³£Â൹¤º³¡¾÷¾¹¡A³o¬O³Ì«á ¤~¥Îªº¼É¤Oªk¡C

10.23. ¨º¸Ì¥i¥H§ä¨ì±`¥Î°ðªº¦Cªí¡H

²{¦bÁÙ¨S¦³¡A¦ý¥i¥H±N³o¨Ç§Ë¦¨¤@­Ó¦W³æ¡]¦pªG¦³¤H·P¿³½ìªº¸Ü¡^¡C ¦b¤U­±ªº¨Ò¤l¸Ì¡A§â internal ´«¦¨ª±¹CÀ¸¨º¥x¾÷¾¹ªº IP¡C

  • Quake

    alias port udp internal:6112 6112

    ¦pªG·Q¥Î¨ä¥L¤è¦¡¡Awww.battle.net ¦³ Quake ¹ï proxy ¤ä´©ªº»¡©ú¡C



  • Quake 2

    alias port udp internal:27901 27910



  • ¬õ¦âĵ§Ù¡]Red Alert¡

    alias port udp internal:8675 8675

    alias port udp internal:5009 5009



  • Half Life

    alias port udp internal:27005 27015



  • PCAnywhere 8.0

    alias port udp internal:5632 5632

    alias port tcp internal:5631 5631



10.24. ¤°»ò¬O FCS ¿ù»~¡H

FCS ¬O Frame Check Sequence ªºÁY¼g¡C¨C¤@­Ó ppp «Ê¥]³£ªþ¦³°»¿ù½X¨Ó½T©w¦¬¨ìªº¸ê®Æªº½T¬O°e¥Xªº¸ê®Æ¡C¦pªG¶i¨Óªº¬Y­Ó «Ê¥] FCS ¤£¥¿½T¡A´N¥á±¼³o­Ó«Ê¥]¡B¦A§â HDLC ¸Ìªº FCS ­p¼Æ¾¹¥[ 1¡C ¥Î show hdlc «K¥i¬Ý¨ì HDLC ¸Ìªº¦UºØ¿ù»~­p¼Æ­È¡C

¤£¨}½u¸ô(©Î«Ê¥]³Q¦ê¦C°ðªºÅX°Êµ{¦¡¥á±¼)¦³®É­Ô´N·|µo¥Í FCS ¿ù»~¡A ÁöµM¥¦ªº½T·|¤j¤j©ìºCÀ£ÁY¨ó©w¡A¤£¹L³q±`³o¨S¤°»ò¤j¤£¤F¡C¦pªG§A¥Îªº ¬O¥~±µ¼Æ¾Ú¾÷¡A½T©w¦³«OÅ@½u¸ô¤£¨ü¥~¬É¤zÂZ ¡Ð ³o¼Ë»¡¤£©w´N¸Ñ¨M¤F¡C

¦pªG¦b³s¤W®É°¨¤W´N­á¦í¡B¨Ã¥BÁ٬ݨì¤@¤j°ï FCS ¿ù»~ªº¸Ü¡A¦³¥i¯à ¬O¦]¬°§Aªº³s½u¨Ã«D¬O 8 bit clean¡C½T©w¼Æ¾Ú¾÷¤£¬O¥Î³nÅé¬yµ{±±¨î (XON/XOFF)¡A¦pªG§Aªº³s½u<¤@©w> ­n¥Î³nÅé¬yµ{±±¨îªº¸Ü¡A¥Î set accmap 0x000a0000 ³o¹D©R¥O§i¶D ppp ¸õ¹L ^Q ©M ^S ³o¨â­Ó¦r¤¸¡C

¬Ý¨ì¤@¤j°ï FCS ¿ù»~ªº¥t¤@­Ó­ì¦]¡A¬O³s½u¥t¤@ºÝ¤£¦A¨Ï¥Î PPP ·¾³q¡C³o®É­Ô¤]³\À³¸Ó¥´¶} async ªº°O¿ý¥\¯à¡A¨Ó¨M©w¬O§_¶i¨Óªº ¸ê®Æ¨ä¹ê¬O login ©Î shell ´£¥Ü²Å¸¹¡C¦pªG¥t¤@ºÝ¬O shell ´£¥Ü²Å¸¹¡A ¥ý°õ¦æ close lcp¡B±µµÛ term ´N¥i¥H­«·s³s±µ¨ì¹ï ¤è¾÷¾¹ªº shell ¤U¡A¦Ó¤£¥Î±¾±¼¹q¸Ü½u¡C

¦pªG°O¿ýÀɸ̨S¦³¥ô¦ó¸ê°T¥i¥H«ü¥Ü³s½u¬°¦óÂ_±¼¡A¨º»ò´N¸Ó°Ý°Ý¥t¤@ ºÝªººÞ²z­û(§Aªº ISP¡H) «ç»ò·|³o¼Ëµ²§ô¡C

10.25. ¨S¦³¤@­Ó¤èªk¥i¥H¥Î¡A§Ú§¹³J¤F°Õ¡I

¦pªG¤W­±»¡ªº³£¨S¥Î¡A´NºÉ¥i¯à§ä¥X©Ò¦³¸ê°T¡A³o¥]¬A¤F³]©wÀÉ¡B¦p¦ó ±Ò°Ê ppp¡Blog Àɪº¬ÛÃö³¡¥÷¡B³s½u«e«áªº netstat -rn ¿é¥Xµ²ªG¡A§â³o¨Ç°e¨ì freebsd-questions@FreeBSD.org mailing list ©Î comp.unix.bsd.freebsd.misc newsgroup¡A³o¼ËÀ³¸Ó´N·|¦³¤H«üÂI ¥¿½Tªº¤è¦V¡C


Chapter 11. Serial ³q°T

³o¤@³¹¥D­n¬O¦b°Q½× FreeBSD ¤W¦³Ãö serial ³q°Tªº°ÝÃD¡C¦³Ãö PPP ¥H¤Î SLIP ªº°ÝÃD¬O©ñ¦b Chapter 9 ³o¤@¸`¡C

11.1. §Ú­n«ç»òª¾¹D FreeBSD ¬O¤£¬O¦³§ì¨ì§Úªº serial port¡H
11.2. §Ú­n«ç»òª¾¹D FreeBSD ¬O¤£¬O¦³§ì¨ì§Úªº modem ¥d¡H
11.3. §Ú¤É¯Å¨ì 2.0.5 ¥H«á§Úªº tty0X ©~µM¤£¨£¤F¡I
11.4. §Ú­n¦p¦ó¦b FreeBSD ¤U¦s¨ú seral ports¡H
11.5. §Ú­n¦p¦ó±Ò°Ê¹ï serial ¦h°ð¥dªº¤ä´©¡H
11.6. FreeBSD ¥i¥H±±¨î¦h±i serial ¦h°ð¥d¨Ï¥Î¦P¤@­Ó irq ¶Ü¡H
11.7. §Ú¥i¥H¬° port ³]©w¹w³]°Ñ¼Æ¶Ü¡H
11.8. §Ú­n«ç¼Ë¤~¯àÅý modem ±µ¨ü dialup µn¤J©O¡H
11.9. §Ú­n«ç»ò§â dumb terminal ³s¤W FreeBSD¡H
11.10. ¬°¤°»ò§Ú¤£¯à°õ¦æ tip ¤Î cu ©O¡H
11.11. FreeBSD ¤£¤ä´©§Úªº stock Hayes modem --- §Ú­n«ç»ò¿ì¡H
11.12. §Ú¤°»ò®É­Ô­nª½±µÁä¤J AT «ü¥O¡H
11.13. pn Äæ¤¤ªº [@] ¤£¯à¥Î¤F¡I
11.14. §Ú­n«ç»ò¦b©R¥O¦C¤U¼·¹q¸Ü©O¡H
11.15. §Ú¨C¦¸¥Îªº®É­Ô³£­n¿é¤J bps ³t«×¶Ü¡H
11.16. ³z¹L¤@¥x terminal server ¨Ó¦s¨ú¥D¾÷¡C
11.17. tip ¥i¥H¦b¤@¦¸³s½u¤¤¿ï¾Ü¦h¥x¾÷¾¹¶Ü¡H
11.18. ¬°¤°»ò§Ú«ö¨â¦¸ CTRL+P¡A¥i¬O«o¥u°e¥X¤F¤@­Ó CTRL+P¡H
11.19. ¬ðµM¶¡§Ú¥´ªºªF¦è³£Åܦ¨¤j¼g¤F¡H¡H
11.20. §Ú­n¦p¦ó¨Ï¥Î tip ¨Ó¶ÇÀɮשO¡H
11.21. §Ú­n«ç»ò¥Î tip ¨Ó¶] zmodem ©O¡H
11.22. ´Nºâ§Ú³]©wµL»~¡AFreeBSD ¦n¹³ÁÙ¬O§ä¤£¨ì§Úªº serial port¡H

11.1. §Ú­n«ç»òª¾¹D FreeBSD ¬O¤£¬O¦³§ì¨ì§Úªº serial port¡H

·í FreeBSD ¶}¾÷ªº®É­Ô¡A¥¦·|®Ú¾Ú±z¦b kernel ¤¤ªº³]©w¨Ó°»´ú±zªº serial port¡C±z¥i¥H¦b³o¨Ç°T®§¥X²{ªº®É­ÔÀˬd¡A¤]¥i¥H¦b¨t²Î¶}¾÷¤§«á¥Î ¤U­±ªº«ü¥O¨ÓÆ[¹î¡G

        dmesg | grep sio
      



³o¸Ì¦³¤@¨Ç¿é¥Xªº½d¨Ò¡G

        sio0 at 0x3f8-0x3ff irq 4 on isa
        sio0: type 16550A
        sio1 at 0x2f8-0x2ff irq 3 on isa
        sio1: type 16550A
      



³o¥Nªí±z¦³¨â­Ó serial port¡C²Ä¤@­Ó port ¦û¥Î irq 4¡Aport address ¬O 0x3f8 ¡A¦Ó¥B¥Îªº¬O 16550A «¬ªº UART ´¹¤ù¡C²Ä¤G­Ó port ¥Îªº¬O¦P «¬ªº´¹¤ù¡A¤£¹L¥¦¦û¥Îªº¬O irq 3 ¡A¥¦ªº port address ¦b 0x2f8 ¡C ¤º±µ¦¡ modem ¥d·|³Q¿ëÃѦ¨¬O serial port -- °ß¤@ªº®t§O´N¬O¸Ó port ¤W Á`¬O±µ¤W modem ¦Ó¤w¡C

GENERIC kernel ¤ä´©¨â­Ó serial port ¡A¥¦­Ìªº³]©w­È´N¦p¦P¤W­±ªº ½d¨Ò¤@¼Ë¡C¦pªG±z¨t²Î¤Wªº³]©w¤£¤@¼Ë¡A©ÎªÌ±z¥t¥~±µ¤F¤º±µ¦¡ modem ¥d¡A ©Î¬O±z¨t²Îªº¹ê»Ú serial port ¼Æ¤ñ±z¦b kernel ³]©w¤¤ªºÁÙ­n¦hªº¸Ü¡A±z ¥u­n­«·s«Ø¥ß kernel ´N¦n¤F¡C¸Ô±¡½Ð¬Ý ¦p¦ó«Ø¥ß kernel¡C

11.2. §Ú­n«ç»òª¾¹D FreeBSD ¬O¤£¬O¦³§ì¨ì§Úªº modem ¥d¡H

½Ð¬Ý¤W¤@­Ó°ÝÃD¡C

11.3. §Ú¤É¯Å¨ì 2.0.5 ¥H«á§Úªº tty0X ©~µM¤£¨£¤F¡I

¤£­nºò±i¡A¥¦­Ì¤w¸g³Q¨Ö¨ì ttydX ¸Ë¸m¤U¥h¤F¡C¤£¹L±zÁÙ¬O±o¨ì¦Û¤v ­×§ï³]©wÀɤ~¯àÅý¥¦­Ì¥¿±`¤u§@¡C

11.4. §Ú­n¦p¦ó¦b FreeBSD ¤U¦s¨ú seral ports¡H

²Ä¤T­Ó serial port¡Asio2 (´N¬O DOS ¤Uªº COM3) ¡A¥H dial-out ¸Ë¸m¨Ó¬Ý¬O¦ì©ó /dev/cuaa2 ¡A¦Ó¥H dial-in ¸Ë¸m¨Ó¬Ý«h¬O¦ì©ó /dev/ttyd2 ¡C³o¨â­Ó¸Ë¸m¦³¤°»ò¤£¦P ©O¡H

±z¦b dial-in ®É¨Ï¥Îªº¬O ttydX ¡C·í±z¥Î block ¼Ò¦¡¶}±Ò /dev/ttydX ®É¡A·|¦³¤@°¦ process ¦b¹ïÀ³ªº cuaaX ¤Wµ¥¥¦ Åܦ¨ inactive ¡AµM«á¤@ª½µ¥¨ì carrier detect line Åܦ¨ active ¬°¤î¡C ·í±z¶}±Ò cuaaX ¸Ë¸m®É¡A¥¦·|¥h½T©w¥Ø«e ttydX ¸Ë¸m¬O¤£¬O¥¿ ¦b¨Ï¥Î serial port¡C¦pªG¥¦¥i¥H¥Îªº¸Ü¡A¥¦´N·|§â serial port ±q ttydX ¸Ë¸m¤â¤¤·m¹L¨Ó¡C¦P¼Ëªº¡AcuaXX ¸Ë¸m¤£·|¥hºÞ carrier detect¡C¦³¤F³o¼Ëªº³]­p¡A¦A¥[¤W¤@¥x·|¦Û°Ê¦^À³ªº modem¡A±z´N¥i¥H¥O¦P ¤@¥x modem ¥i¥H³Q»·ºÝ¨Ï¥ÎªÌ®³¨Óµn¤J¡A±z¦Û¤v¤]¥i¥H®³¨Ó dialout¡A¨t²Î ·|¦Û°ÊÀˬd¬O§_¦³½Ä¬ðªº²{¶H¡C

11.5. §Ú­n¦p¦ó±Ò°Ê¹ï serial ¦h°ð¥dªº¤ä´©¡H

¦P¼Ëªº¡A¦b kernel ³]©w¨º¤@¸`¦³´£¨ì¦³Ãö³]©w kernel ªº¸ê°T¡C­n³]©w¤@ ±i serial ¦h°ð¥d¡A±z¥²»Ý¦b±zªº kernel ³]©wÀɤ¤¬°¨C¤@­Ó serial port ³£³]¤@¦æ sio ªº³]©w¡C¦ý¬O±z¥u¯à¦b¥¦­Ì¤§¤¤¿ï¤@­Ó¨Ó³]©w irq ¥H¤Î vector ¡C¥d¤Wªº©Ò¦³ port ·|¦@¨É¦P¤@­Ó irq ¡C¤@¯ë¨Ó»¡§Ú­Ì³£§â¥¦³]¦b³Ì «á¤@­Ó serial port ¤W¡C¤£­n§Ñ¤F«ü©w COM_MULTIPORT ³o­Ó option ¡C

¤U­±¬O¤@­Ó§â AST 4-port ¥d ³]¦b irq 7 ªº¨Ò¤l¡G

        options "COM_MULTIPORT"
        device sio4 at isa? port 0x2a0 tty flags 0x781
        device sio5 at isa? port 0x2a8 tty flags 0x781
        device sio6 at isa? port 0x2b0 tty flags 0x781
        device sio7 at isa? port 0x2b8 tty flags 0x781 irq 7 vector siointr
      



³o¸Ìªº flags ³]©w¬O«ü master port ªº minor number ¬O 7 (0x700)¡A¦b°»´ú®É°µÀˬd (0x080)¡A¥H¤Î©Ò¦³ªº port ¦@¨É¤@­Ó irq (0x001) ¡C

11.6. FreeBSD ¥i¥H±±¨î¦h±i serial ¦h°ð¥d¨Ï¥Î¦P¤@­Ó irq ¶Ü¡H

ÁÙ¨S¤ä´©¡C±z¥²»Ý¬°¨C±i¥d³]©w¤£¦Pªº irq ¡C

11.7. §Ú¥i¥H¬° port ³]©w¹w³]°Ñ¼Æ¶Ü¡H

³q±`±z·|·Q¬°±zªºÀ³¥Îµ{¦¡¶}±Ò ttydX (©Î¬O cuaaX) ¸Ë¸m¡C·í ¤@­Ó process ¶}±Ò¸Ë¸m¥H«á¡A¥¦·|¦³¤@²Õ¹w³]ªº²×ºÝ¾÷ I/O ³]©w¡C±z¥i¥H¥Î ¤U­±³o­Ó«ü¥O¨ÓÆ[¹î³o¨Ç³]©w

        stty -a -f /dev/ttyd1
      



·í±z§ïÅܤF¬Y­Ó¸Ë¸mªº³]©w«á¡A³o¨Ç³]©w·|¤@ª½§@¥Î¡Aª½¨ì³o­Ó¸Ë¸m³QÃö³¬ ¤F¬°¤î¡C·í¥¦³Q­«¶}±Ò«á¡A¤S¦^¨ì­ì¥ýªº¹w³]­È¤F¡C¦pªG·Q­n§ïÅܹw³]­È¡A±z ¥i¥H¶}±Ò¨Ã­×§ï ``ªì©lª¬ºA'' ¸Ë¸mªº³]©w¡CÁ|¨Ò¨Ó»¡¡A¦pªG±z·Q§ïÅÜ ttyd5 ªº¹w³]­È¡A§â CLOCAL ¼Ò¦¡¥´¶}¡A8 bits¡A¨Ã¥B¨Ï¥Î XON/XOFF ¬y¶q±±¨î¡A±z¥i¥H³o¼Ë°µ¡G

        stty -f /dev/ttyid5 clocal cs8 ixon ixoff
      



±z¥i¥H¦b /etc/rc.serial ¸Ì°µ³o¼Ëªº³]©w¡C²{¦b¨C¤@­Ó¶}±Ò ttyd5 ªºÀ³¥Îµ{¦¡³£·|¹w³]¨Ï¥Î³o¨Ç³]©w¤F¡C±z¨ÌµM¥i¥H¥Î¦P¼Ëªº¤èªk ¥h§ïÅܳo¨Ç³]©w¡C

±z¤]¥i¥HÂǥѳ]©w ``Âê©wª¬ºA'' ¸Ë¸m¨Ó¨¾¤î¨ä¥LÀ³¥Îµ{¦¡¥h§ó°Ê³o¨Ç³]©w ¡CÁ|¨Ò¨Ó»¡¡A·Q­n§â ttyd5 ªº³t«×Âê©w¦b 57600 bps¡A±z­n³o¼Ë°µ

        stty -f /dev/ttyld5 57600
      



³o¼Ë¤@¨Ó¡A¨C¤@­Ó¶}±Ò ttyd5 ªºÀ³¥Îµ{¦¡³£¥u¯à¨Ï¥Î 57600 bps ªº³t «×¤F¡C

·íµM¡A±z¥²»Ý½T©w±zªºªì©lª¬ºA¥H¤ÎÂê©wª¬ºAªº¸Ë¸m¥u¯à³Q root ¼g¤J ¡CMAKEDEV ³o­Ó script ¨Ã ¤£·| ¦b«Ø¥ß³o¨Ç¸Ë¸m®É¦Û°ÊÀ°±z³] ©w¦n¡C

11.8. §Ú­n«ç¼Ë¤~¯àÅý modem ±µ¨ü dialup µn¤J©O¡H

±z¬O¤£¬O·Q·í ISP¡H­º¥ý¡A±z­n¦³¤@³¡¥H¤W¥i¥H¦Û°Ê±µÅ¥ªº modem¡C±zªº modem ¥²¶·­n¦³ carrier-detect ªº¥\¯à¡C¥¦¤]­n¯à°÷¦b data terminal ready (DTR) ¥Ñ¶}ÂରÃö®É­«·s³]©w¦Û¤v¡C¥¦©Î³\¤]­n¯à°÷¨Ï¥Î RTS/CTS ¬y¶q±±¨î©Î¬O¤£°µ¥ô¦ó¬y¶q±±¨î¡C³Ì«á¡A¥¦¥²¶·¯à°÷¦b¹q ¸£©M¥¦¦Û¤vªº¶Ç¿é¤¤¨Ï¥Î©w³t¡A¦ý¬O¦b¥¦©M»·ºÝ modem ªº³s½u¤è­±«h­n¦³¨ó °Ó¶Ç¿é³t«×ªº¯à¤O¡C

¹ï Hayes «ü¥O¶°¬Û®e modem ¨Ó»¡¡A¤U­±ªº«ü¥O·|§â¤W¤@¬q©ÒÁ¿ªº¥þ³¡³]¦n ¨Ã¦s¦b«D´§µo©Ê°O¾ÐÅ餤¡G

        AT &C1 &D3 &K3 &Q6 S0=1 &W
      



¬Ý¬Ý¤U­±ªº ¶Ç°e AT «ü¥O¶° ³o¤@¸`¥i¥H±o §ó¦h¦³Ãö¦p¦ó¤£§Q¥Î MS-DOS ²×ºÝµ{¦¡¨Ó°µ³o¨Ç³]©wªº¸ê®Æ¡C

±µ¤U¨Ó¡A¦b /etc/ttys ¬°±zªº modem °µ³]©w¡C¦C¦b³o­ÓÀɮפ¤ªº¬O©Ò¦³¨t²Î·| «Ý login ªº ports ¡C¹³¤U­±³o¼Ë¥[¤J¤@¦æ¡G

        ttyd1 "/usr/libexec/getty std.57600" dialup on insecure
      



³o¤@¦æ«ü¥O²Ä¤G­Ó serial port (/dev/ttyd1) ¬O¤@­Ó¥H 57600 bps ³t«×¦b¶Ç¿éªº modem¡A¨Ã¥B¤£°µ¦P¦ìÀˬd (std.57600 ¬O¦b /etc/gettytab Àɸ̫ü©wªº)¡C ³o­Ó port ªº²×ºÝ¾÷«¬ºA¬O ``dialup''¡C³o­Ó port ³]¦¨ ``on'' ¦Ó¥B¬O ``insecure'' ªº --- ·N«ä¬O root ¤£¯à±q³o¸Ì³s½u¶i¨Ó¡C±z¥²»Ý¬°¨C­Ó dialin port ³£°µÃþ¦ü ttydX ªº³]©w¡C

³q±`§Ú­Ì·|¥Î ``dialup'' ¨Ó°µ¬°²×ºÝ¾÷«¬ºA¡C¦pªG¨Ï¥ÎªÌµn¤J®Éªº±Ò©l«¬ ºA¬O dialup ªº¸Ü¡A«Ü¦h¨Ï¥ÎªÌ³£·|¦b¥L­Ìªº .profile ©Î¬O .login Àɤ¤³] ©w¥L­Ì¯u¥¿ªº²×ºÝ¾÷«¬ºA¡C¤W­±ªº¨Ò¤l¤¤§Ú­ÌÁ|ªº¬O insecure ªº¨Ò¤l¡C¦pªG ±z·Q­n¦b³o­Ó port Åܦ¨ root ªº¸Ü¡A±z¥²¶·¥Î¤@¯ë¨Ï¥ÎªÌªº¨­¥÷µn¤J¡AµM«á ``su'' ¦¨ root ¡C¦pªG±z¥Îªº¬O ``secure'' ªº¸Ü¡A«h root ¥i¥Hª½±µµn ¤J¡C

¦b¹ï /etc/ttys °µ¹L­×§ï¤§«á¡A±z¥²¶·°e¤@­Ó hangup ©Î¬O HUP ªº signal µ¹ init process¡G

        kill -HUP 1
      



³o¼Ë·|±j­¢ init process ¥h­«Åª /etc/ttys ¡C µM«á init process ´N·|¦b©Ò¦³ªº ``on'' port ¤W­«·s±Ò°Ê getty process ¡C±z¥i¥H¥Î¤U¦C«ü¥O¨ÓÀˬd±zªº port ¬O¤£¬O¥i¥H login ¤F

        ps -ax | grep '[t]tyd1'
      



±z·|¨£¨ìÃþ¦ü³o¼Ëªºµ²ªG¡G

        747 ??  I      0:00.04 /usr/libexec/getty std.57600 ttyd1
      



11.9. §Ú­n«ç»ò§â dumb terminal ³s¤W FreeBSD¡H

¦pªG±z­n§â§Oªº¹q¸£·í¦¨¬O FreeBSD ªº²×ºÝ¾÷ªº¸Ü¡A±z¥u»Ý­n¦b¨âªÌªº serial port ¤§¶¡²o¤@±ø null modem ±Æ½u§Y¥i¡C¦pªG±z¦³¤@­Ó¯uªº²×ºÝ¾÷ ªº¸Ü¡A¬Ý¬Ý¥¦ªº«ü¥O¶°§a¡C

µM«á¡A¹³¤W¤@­Ó°ÝÃD¤@¼Ë­×§ï /etc/ttys ¡CÁ|¨Ò¨Ó»¡¡A¦pªG±z§â¤@­Ó WYSE-50 ²×ºÝ¾÷±µ¦b²Ä¤­­Ó serial port ¤Wªº¸Ü¡A´N­n¥Î³o¼Ëªº³]©w¡G

        ttyd4 "/usr/libexec/getty std.38400" wyse50 on secure
      



³o­Ó¨Ò¤l¥Ü½dªº¬O /dev/ttyd4 ©Ò¥Nªíªº port ¥Îªº¬O wyse50 ²× ºÝ¾÷¡A³s½u³t«× 38400 bps¡A¤£¨Ï¥Î¦P¦ìÀˬd (std.38400 ¬O±q /etc/gettytab ³]©wªº) ¦Ó¥B root ¥i¥H login (secure) ¡C

11.10. ¬°¤°»ò§Ú¤£¯à°õ¦æ tip ¤Î cu ©O¡H

¦b±zªº¨t²Î¤¤¡Atip ©M cu «Ü¥i¯à¥u¯à¥Ñ uucp ¨Ï¥ÎªÌ©M dialer ¸s²Õ¤~¯à°õ¦æ¡C±z¥i¥H¥Î dialer ¸s²Õ¨Ó±±¨î¨ì©³¦³½Ö¥i ¥H¦s¨ú±zªº modem ¥H¤Î»·ºÝ¨t²Î¡C±z¥u­n§â±z¦Û¤v¥[¨ì dialer ¸s²Õ¤¤´N¥i ¥H¤F¡C

¥t¥~¤@ºØ¤èªk¬O¡A±z¥i¥HÅý±z¨t²Î¤W©Ò¦³¨Ï¥ÎªÌ³£¥i¥H°õ¦æ tip ©M cu ¡A¥u­n±z

        # chmod 4511 /usr/bin/cu
        # chmod 4511 /usr/bin/tip
      



11.11. FreeBSD ¤£¤ä´©§Úªº stock Hayes modem --- §Ú­n«ç»ò¿ì¡H

¨Æ¹ê¤W¡Atip ªº man page ¤w¸g¹L®É¤F¡C¤@¯ëªº Hayes dialer ¤w¸g¤º«Ø¦b¨t ²Î¤º¡C±z¥u­n¦b /etc/remote «ü©w ``at=hayes'' ´N¥i¥H¤F¡C

¥i±¤ªº¬O¡AHayes ªºÅX°Êµ{¦¡¤£°÷Áo©ú¡A¦³¨Ç·s modem ¤Wªº¶i¶¥¥\¯à¥¦µLªk ¿ëÃÑ¥X¨Ó --- ¨Ò¦p BUSY ¡ANO DIALTONE ¡A©Î¬O CONNECT 115200 ³oÃþªº°T®§¥¦´N·|·d²V¡C±z¦b¨Ï¥Î tip ªº®É­Ô¥²¶· §â¥¦­ÌÃö±¼ (¥Î ATX0&W) ¡C

ÁÙ¦³¡Atip ªº dial ¹O®É®É¶¡¬O 60 ¬í¡C±zªº modem ¥i¯à­n³]±o§óµu¡A §_«h tip ·|»{¬°µo¥Í¤F³q°T¤Wªº°ÝÃD¡C¸Õ¸Õ¬ÝATS7=45&W ¡C

¨Æ¹ê¤W tip ÁÙ¨S¦³§¹¥þ¤ä´©¥¦¡C¸Ñ¨M¤èªk¬O¥h­×§ï /usr/src/usr.bin/tip/tip ¥Ø¿ý¸Ìªº tipconf.h ¡C«ÜÅãµM±z ¥²¶·­n¦³­ì©lµ{¦¡½X¤~¯à³o»ò°µ¡C

§â ``#define HAYES 0'' §ï¦¨ ``#define HAYES 1'' ¡CµM«á ``make'' ¨Ã ``make install'' ¡C¤§«á¤@¤Á³£·|«ì´_¥¿±`¤F¡C

11.12. §Ú¤°»ò®É­Ô­nª½±µÁä¤J AT «ü¥O¡H

¦b±zªº /etc/remote Àɸ̥[¤@­Ó ``direct'' ¡CÁ|¨Ò¨Ó»¡¡A¦pªG±zªº modem ³s±µ¦b²Ä¤@­Ó serial port¡A/dev/cuaa0¡A«h±z­n¥[¤J¤U­± ³o¤@¦æ¡G

        cuaa0:dv=/dev/cuaa0:br#19200:pa=none
      



¦b br Äæ¤¤³]©w±z modem ©Ò¤ä´©ªº³Ì°ª³t¡C¤§«á¡AÁä¤J tip cuaa0 ¤§«á ±z´N³s¤W±zªº modem ¤F¡C

¦pªG±zªº¨t²Î¤W¨S¦³ /dev/cuaa0 ¡A±z´N¥ý³o¼Ë¡G

        # cd /dev
        # ./MAKEDEV cuaa0
      



©Î¬O±z¥i¥H¥Î root °õ¦æ cu «ü¥O¡A¹³³o¼Ë¡G

        # cu -l``line'' -s``speed''
      



³o¸Ìªº line ¬O«ü±zªº serial port (¨Ò¦p /dev/cuaa0) ¡Aspeed ¬O«ü±zªº¶Ç¿é³t«× (¨Ò¦p 57600) ¡C¦pªG±z¤U§¹ AT «ü¥O«á¡AÁä¤J ~. ¥i¥HÂ÷¶}¡C

11.13. pn Äæ¤¤ªº [@] ¤£¯à¥Î¤F¡I

¹q¸Ü¸¹½XÄæ¤¤ªº [@] °O¸¹¬O¥Î¨Ó§i¶D tip ¥h /etc/phones §ä¹q¸Ü¸¹½X¡C ¦ý¬O [@] ¦P®É¤]¬O /etc/remote ³oÃþÀɮפ¤ªº¯S®í¦r¤¸¡C±z¥i¥H¥[¤W¤Ï±×½u¡G

        pn=\@
      



11.14. §Ú­n«ç»ò¦b©R¥O¦C¤U¼·¹q¸Ü©O¡H

¦b±zªº /etc/remote ©ñ¤@­Ó ``generic''¡CÁ|¨Ò¨Ó»¡¡G

        tip115200|Dial any phone number at 115200 bps:\
        :dv=/dev/cuaa0:br#115200:at=hayes:pa=none:du:
        tip57600|Dial any phone number at 57600 bps:\
        :dv=/dev/cuaa0:br#57600:at=hayes:pa=none:du:
      



µM«á±z´N¥i¥H¹³ ``tip -115200 5551234'' ³o¼Ë¥Î¤F¡C¦pªG±z¤ñ¸û³ß Åw¥Î cu ªº¸Ü¡A¨Ï¥Î generic cu Äæ¦ì¡G

        cu115200|Use cu to dial any number at 115200bps:\
        :dv=/dev/cuaa1:br#57600:at=hayes:pa=none:du:
      



µM«á¿é¤J ``cu 5551234 -s 115200'' ¡C

11.15. §Ú¨C¦¸¥Îªº®É­Ô³£­n¿é¤J bps ³t«×¶Ü¡H

±z¥i¥H¨Ï¥ÎÃþ¦ü tip1200 ©Î¬O cu1200 ªºÄæ¦ì¡A¤£¹L¦b±z¨Ï¥Î¤§ «e½Ð¥ý½T©w±zªº br Äæ¥i¥H¤ä´©³o­Ó³t«×¡Ctip »{¬° 1200 bps ¬O¤@­Ó«Ü¦nªº¹w³]­È¡A³o¤]´N¬O¬°¤°»ò­n¥s°µ ``tip1200'' ªº­ì¦] ¤F¡C·íµM±z¤]¥i¥H¤£­n¥Î 1200 bps ¡C

11.16. ³z¹L¤@¥x terminal server ¨Ó¦s¨ú¥D¾÷¡C

°£¤F¨C¦¸µ¥±z³s¤W server ¨ÃÁä¤J ``CONNECT <host>'' ¥H¥~¡A ¤ñ¸û¦nªº¤èªk¬O¥Î tip ªº cm ¡CÁ|¨Ò¨Ó»¡¡A¬Ý¬Ý /etc/remote¡G

        pain|pain.deep13.com|Forrester's machine:\
        :cm=CONNECT pain\n:tc=deep13:
        muffin|muffin.deep13.com|Frank's machine:\
        :cm=CONNECT muffin\n:tc=deep13:
        deep13:Gizmonics Institute terminal server:\
        :dv=/dev/cua02:br#38400:at=hayes:du:pa=none:pn=5551234:
      



¥i¥HÅý±z¥u¥´ ``tip pain'' ©Î¬O ``tip muffin'' ´N¥i¥H³s¤W pain ©Î muffin¡FµM«á ``tip deep13'' ¥i¥H³s¤W terminal server¡C

11.17. tip ¥i¥H¦b¤@¦¸³s½u¤¤¿ï¾Ü¦h¥x¾÷¾¹¶Ü¡H

³q±`³o­Ó°ÝÃDµo¥Í¦b¡G¤@¶¡¤j¾Ç¦³¤@¨Ç modem¡A¦Ó¥B¦³¤W¤d¦W¾Ç¥Í­n¥Î...

¦b /etc/remote ¸Ì¬°±zªº¤j¾Ç³]¤@­ÓÄæ¦ì¡A¨Ã¨Ï¥Î [\@] §@¬° ¥¦ªº pn¡G

        big-university:\
        :pn=\@:tc=dialout
        dialout:\
        :dv=/dev/cuaa3:br#9600:at=courier:du:pa=none:
      



µM«á¡A§â¤j¾Çªº¼·±µ¹q¸Ü©ñ¦b /etc/phones ¤¤¡G

        big-university 5551111
        big-university 5551112
        big-university 5551113
        big-university 5551114
      



tip ·|¨Ì·Óªí¦Cªº¶¶§Ç¨Ì¦¸À|¸Õ¡A³Ì«á©ñ±ó¡C¦pªG±z­n¤@ª½¸Õªº¸Ü¡A±z¥i¥H¦b while °j°é¸Ì°õ¦æ tip ¡C

11.18. ¬°¤°»ò§Ú«ö¨â¦¸ CTRL+P¡A¥i¬O«o¥u°e¥X¤F¤@­Ó CTRL+P¡H

CTRL+P ¬O¤º©wªº ``force'' ¦r¤¸¡A¥Î¨Ó§i¶D tip ¤U¤@­Ó¦r¤¸ ¬O¤@¯ë¦r¤¸¡C±z¥i¥HÂÇ¥Ñ ~s (¥Nªí ``³]©wÅܼÆ'') §â¨ä¥L¦r¤¸³]¦¨±j ­¢¦r¤¸¡C

Áä¤J ``~sforce=<single-char>'' «á­±±µ¤@­Ó newline ¡C <single-char> ¥i¥H¬O¥ô·N³æ¤@¦r¤¸¡C¦pªG±z¥u¥´ <single-char> ¡A«h nul ´N³Q³]¦¨¬O force character¡A±z¥i ¥HÂǥѫö CTRL+2 ©Î¬O CTRL+SPACE ¨Ó«ö¥X nul ¡CSHIFT+CTRL+6 ¬O¤@­Ó¤£ ¿ùªº <single-char> ¡A§Ú¬Ý¹L¤@¨Ç²×ºÝ¾÷³£¬O³o»ò³]©w¡C

±z¤]¥i¥H¦b $HOME/.tiprc ¤¤³]©w force character¡G

        force=<single-char>
      



11.19. ¬ðµM¶¡§Ú¥´ªºªF¦è³£Åܦ¨¤j¼g¤F¡H¡H

±zÀ³¸Ó¬O«ö¨ì¤F CTRL+A¡A¦b tip ¤¤¬°¨S¦³ caps-lock Á䪺¨Ï¥ÎªÌ©Ò³]­pªº ``raise character''¡C±z¥i¥H¹³¤W­Ó°ÝÃD ¤@¼Ë§Q¥Î ~s ¨Ó§â ``raisechar'' ³o­ÓÅܼƧ令¦X²zªº­È¡C¨Æ¹ê¤W¡A ¦pªG±z»{¬°±z¥Ã»·³£¤£·|¥Î¨ì³o¨â­Ó¥\¯àªº¸Ü¡A±z¥i¥H§â¥¦³]¦¨¸ò force character ¤@¼Ë¡C

¤U­±¬O¤@­Ó¬° Emacs ¨Ï¥ÎªÌ©Ò³]©wªº .tiprc ¡AEmacs ¨Ï¥ÎªÌ±`±`·|¥Î¨ì CTRL+2 ©M CTRL+A¡G

        force=^^
        raisechar=^^
      



^ ´N¬O SHIFT+CTRL+6 ¡C

11.20. §Ú­n¦p¦ó¨Ï¥Î tip ¨Ó¶ÇÀɮשO¡H

¦pªG±zªº¹ï¹³¤]¬O UNIX ¨t²Îªº¸Ü¡A±z¥i¥H¥Î ~p (put) ©M ~t (take) ¨Ó¦¬°e¸ê®Æ¡C³o¨â­Ó©R¥O·|¦b»·ºÝ¾÷¾¹°õ¦æ cat ©M echo ¨Ó¦¬°eÀÉ ®×¡C¥Îªk¬O¡G

        ~p <local-file> [<remote-file>]
        ~t <remote-file> [<local-file>]
      



¥¦¤£·|°µ¿ù»~Àˬd¡A©Ò¥H±z³Ì¦n¥Î§Oªº³q°T¨ó©w¡A¨Ò¦p zmodem ¡C

11.21. §Ú­n«ç»ò¥Î tip ¨Ó¶] zmodem ©O¡H

­º¥ý¡A±q ports ¤¤¿ï¤@­Ó zmodem µ{¦¡¨Ó¦w ¸Ë (¨Ò¦p¦b comms ¥Ø¿ý¤Uªº lrzsz ©Î¬O rzsz) ¡C

¦b±µ¦¬Àɮפ譱¡A±z­n¥ý¦b»·ºÝ±Ò°Ê¶Ç°eµ{¦¡¡CµM«á«ö enter ¦AÁä¤J ``~C rz'' (¦pªG±z¦w¸Ë lrzsz ªº¸Ü´N­n¥´ ``~C lrz'') ´N¥i¥H ¶}©l±µ¦¬¤F¡C

¦b¶Ç°eÀɮפ譱¡A±z­n¥ý¦b»·ºÝ±Ò°Ê¶Ç°eµ{¦¡¡CµM«á«ö enter ¦AÁä¤J ``~C sz <files>'' (©Î¬O ``~C lsz <files>'') ´N ¥i¥H§âÀÉ®×°e¨ì»·ºÝ¨t²Î¤F¡C

11.22. ´Nºâ§Ú³]©wµL»~¡AFreeBSD ¦n¹³ÁÙ¬O§ä¤£¨ì§Úªº serial port¡H

¦pªG±zªº¥D¾÷ªO©Î¬O¥d¤W¦³¥Î¨ì Acer ªº UART ´¹¤ùªº¸Ü¡AFreeBSD ¦b¶}¾÷®É ªº sio °»´ú¥i¯à·|¤£¥¿½T¡C±z¥i¥H±q www.lemis.com §ä¨ì patch ¨Ó­×¥¿³o­Ó°ÝÃD¡C


Chapter 12. ¨ä¥¦¦U¦¡¦U¼Ëªº°ÝÃD

12.1. ¬°¬Æ»ò FreeBSD ¥Îªº swap ªÅ¶¡¤ñ Linux ¦h¡H
12.2. ¬°¬Æ»ò­n¥Î(¬Æ»ò¬O) a.out ©M ELF °õ¦æÀɮ榡¡H
12.3. ¦n§a¡A¦ý¬°¬Æ»ò·|¦³³o»ò¦hºØ¤£¦Pªº®æ¦¡¡H
12.4. ¬°¬Æ»ò chmod ¤£·|§ïÅܲŸ¹³sµ²(symlink)ªº¦s¨úÅv­­¡H
12.5. ¬°¬Æ»ò±b¸¹ ¤´µM ­­¨î¬°¤K­Ó¦r¤¸¡H
12.6. §Ú¯à¦b FreeBSD ¤U¶] DOS µ{¦¡¶Ü¡H
12.7. ¬Æ»ò¬O ``sup''¡A¦p¦ó¨Ï¥Î¡H
12.8. How cool is FreeBSD¡H
12.9. ½Ö¦b§Úªº°O¾ÐÅé´¡¼Ñ¤¤¨F¨F§@ÅT¡H¡H
12.10. MFC ¬O¬Æ»ò·N«ä¡H
12.11. 'BSD' ¬O¤°»ò·N«ä¡H
12.12. ­n´X­Ó FreeBSD hacker ¤~¯à´«±¼¤@­Ó¹q¿Oªw¡H

12.1. ¬°¬Æ»ò FreeBSD ¥Îªº swap ªÅ¶¡¤ñ Linux ¦h¡H

¤£¬O³o¼Ëªº¡C¦pªG§Aªº·N«ä¬O¡G ``¬°¬Æ»ò§Úªº swap ¬Ý°_¨Óº¡¤F¡H'' ¨º¬O¦]¬°§âªF¦è©ñ¦b swap ¸Ì«á®³¦^¨Óªº³t«×·|¤ñ pager ¸g¥ÑÀɮרt ²Î®³¦^(¥¼­×§ï)ªº°õ¦æ½X§Ö¡C

¨Æ¹ê¤W¡A°O¾ÐÅ餤 dirty pages ªº¶q¨Ã¥¼´î¤Ö¡F clean pages «h¦b»Ý ­nªº®É­Ô²¾¨«¡C

12.2. ¬°¬Æ»ò­n¥Î(¬Æ»ò¬O) a.out ©M ELF °õ¦æÀɮ榡¡H

­n¤F¸Ñ¬°¬Æ»ò FreeBSD ¨Ï¥Î a.out ®æ¦¡¡A­º¥ý§A­nª¾¹D¤@¨Ç ¥Ø«e Unix ¤¤¨Ï¥Î³Ì¼sªxªº¤TºØ®æ¦¡¡G

  • a.out

    ³Ì¦­©M`¥j¨å'ªº unix ¥ØªºÀɮ榡¡C¨Ï¥Î¤@ºØµu¦Óºò±KªºÀÉÀY¡A ¦ñÀH¤@­Ó³q±`¥Î¨Ó¿ë»{®æ¦¡ªºÅ]³N¼Æ¦r(°Ñ¦Ò a.out(5) ¦³§ó¦h²Ó¸`)¡C¨ã¦³¤T­Ó¸`°Ï¡G.text¡A.data¡A©M.bss ¥[¤W¤@­Ó²Å¸¹ªí©M¦r¦êªí¡C

  • COFF

    SVR3 ¥ØªºÀɮ榡¡CÀÉÀY¥]§t¤F¤@­Ó¸`°Ïªí¡A©Ò¥H¥i¥H¨ã³Æ¤ñ .text¡A.data¡A.bss ÁÙ¦hªº¸`°Ï¡C

  • ELF

    COFF ªº«áÄ~ªÌ¡A¨ã¦³¦h­Ó¸`°Ï¥H¤Î 32-bit ©Î 64-bit ªº possible values¡C¥D­nªº¯ÊÂI¡GELF ¬O¦b¨C­Ó¨t²Î¬[ºc¥u ·|¦³¤@ºØ ABI ªº°²³]¤U³]­p¥X¨Óªº¡C¨Æ¹ê¤W³o­Ó°²³]¿ùªºÂ÷ÃСA §Y¨Ï¬O°Ó·~ªº SYSV ¥@¬É¡A¤]¦Ü¤Ö¦³ SVR4¡ASolaris¡ASCO ¤TºØ ABI¡C

    FreeBSD ÂǥѤ@­Ó¤u¨ã¡A§âµ{¦¡»Ý­n¨ººØ ABI ªº¸ê°T ¯O¦L ¦b ELF °õ¦æÀɤW¡C °Ñ¦Ò man page brandelf ¨ú±o§ó¦h¸ê°T¡C



FreeBSD ¨Ó¦Û "¥j¨å" °}Àç¡A¶Ç²Î¤W³£¨Ï¥Î a.out ®æ¦¡¡A³o¬O¦b¦n´X¥Nªº BSD ¤¤ÃÒ©ú¥i¾aªº­p³N¡C ÁöµM¥i¥H¦b FreeBSD ¤W¥i¥H«Ø¥ß¥H¤Î°õ¦æ­ì¥Íªº ELF °õ¦æÀÉ( ¥H¤Î®Ö¤ß)¡A­è¶}©l FreeBSD ¤Ï¹ïÂà´«¨ì¥H ELF °µ¬°¹w³]ªº ®æ¦¡¡C¬°¬Æ»ò¡H¶â¡A·í Linux ¶}©lµh­W¦aÂà´«¦ÜELF¡A¨Ã«D¦]¬°­n°kÂ÷ a.out®æ¦¡¡A¦Ó¬O¦]¬°¥L­Ì¨S¦³¼u©Êªº¡A¥H¸õÅDªí¬°°ò¦ªº¦@¨Éµ{¦¡®w¾÷¨î¡C¨º¬O¤@ºØ«D±`Ãø¥H¨Ï¥Î¡Aµo®i ªÌ¤£³ßÅwªºªF¦è¡C¬JµM¤w¸g¦s¦bªºELF¤u¨ã´£¨Ñ¤F¦@¨Éµ{¦¡®wªº¸Ñ¨M¤è®×¡A¦Ó¥B¬Ý¨Ó¬O"«e½Ãªº¤èªk" ¡A©Ò»Ýªº¥N»ù´N¥i±µ¨ü¦]¦ÓÂà´«¡C

¦b FreeBSD ªºª¬ªp¤¤¡A§Ú­Ìªº¦@¨Éµ{¦¡®w¾÷¨î§ó±µªñ SunOS ªº «¬¦¡¡A¤]´N¬O¡A©ö©ó¨Ï¥Î¡CµM¦Ó¡A±q 3.0 ¶}©l¡AFreeBSD ¥¿¦¡¤ä´© ELF ¬°¹w³]®æ¦¡¡C §Y¨Ïa.out ®æ¦¡¤´µM«D±`¦n¡A§Ú­Ì½sͤu¨ãªº¼¶¼gªÌ¡AGNU ªº¦¨­û¡A ¤w¤¤¤î¤F¹ï¡Aa.out ®æ¦¡ªº¤ä´©¡C³o­¢¨Ï§Ú­ÌºûÅ@¥t¤@¥÷ª©¥»ªº compiler ©M linker ¡A¤]¨Ï±o§Ú­Ì¤£¯à±q³Ì·sªº GNU µo®i¦¨ªG¤¤Àò±o¦n³B¡C¦¹¥~¹ï ISO-C++ ªº»Ý¨D¡A¤×¨ä¬O«ØºcªÌ©M¸Ñºc ªÌ¡A¤]±a°Ê¥¼¨Óª©¥»¤¤¹ï ELF ªº­ì¥Í¤ä´©¡C

12.3. ¦n§a¡A¦ý¬°¬Æ»ò·|¦³³o»ò¦hºØ¤£¦Pªº®æ¦¡¡H

¦b¶Â·tªº¹L¥h¡A¥u¦³Â²­®ªºµwÅé¡C²­®ªºµwÅé¶È¤ä´©¤p«¬¡B²³æªº¨t²Î¡C a.out ¦b²³æªº¨t²Î¤W³Ó¥ô´r§Ö (PDP-11)¡C·í unix ²¾´Ó¨ì¨ä¥L¥­¥x®É¡A a.out «O¯d¤F¤U¨Ó¡A¦]¬°¹ï¦­´Áªº Motorola 68K¡AVAX ¤§Ãþªº¬[ºc¤w¸g °÷¥Î¤F¡C

µM«á¦³¨ÇÁo©úªºµwÅé¤uµ{®vı±oÅý³nÅé¦h°µÂI¨Æ¡A¨º CPU ªº¹q´¹Åé´N¯à¤Ö¤@ÂI¦Ó¶]ªº§ó§Ö¡C­n¦b³oºØ ·s¦¡µwÅé¤W¤u§@(²{¦bºÙ¬°RISC)¡A a.out ´N¤£¾A¦X¤F¡A©Ò¥H³\¦hªº®æ¦¡´Nµo ®i¥X¨Ó¡A¥H´£¨Ñ¤ñ¨ü­­¨î¦Ó¤S²³æªº a.out §ó¦nªº®Ä¯à¡C¹³¬O COFF¡A ECOFF¡A¥H¤Î¤@¨Ç¤ñ¸û¤£¥X¦Wªº®æ¦¡¡A¨C¤@ºØ ³£³Q³Ð³y¥X¨Ó¡A¦ý¬O«o³£¹F¨ì¦U¦Ûªº·¥­­¡Aª½¨ì ELF ¥X­±¸Ñ¨M³o¤@¤Á¡C

¦¹¥~¡A·íµ{¦¡¶V¨Ó¶V¤j¦ÓºÏºÐ(¥H¤Î¥D°O¾ÐÅé)¬Û¹ï¨Ó»¡¸û¤p®É¡A¦@¨Éµ{¦¡®wªº·§©À´Nµo®i¥X¨Ó¤F¡A µêÀÀ°O¾ÐÅé¨t²Î¤]Åܱo¶V¨Ó¶Vºë¥©¡C·í¨C¤@ºØ¶i¨B³£¦b a.out ¤W§¹¦¨®É¡A ¥¦ªº¥i¥Î©Ê¤]¶V¨Ó¶V§C¡C¥t¥~¡A¤H­ÌÁÙ­n¦b°õ¦æ®É´Á¥i¥H°ÊºA¸ü¤J¡A©Î¬O¥á±ó°õ¦æ¹Lªºªì©l¤Æµ{¦¡ ¥H¸`¬Ù°O¾ÐÅé¡Cµ{¦¡»y¨¥¤]Åܱo§óºë¥©¦Ó¥B¤H­Ì·Q­n¦b main ¤§«e°õ¦æ§Oªºµ{¦¡½X¡C³\¦hÁcÂøªº§Þ¥© ¥Î¦ba.out ¤W¥H¸Ñ¨M³o¨Ç°ÝÃD¡Ca.out ­n¸Ñ¨M³o¨Ç °ÝÃD»Ý­n¶V¨Ó¶V¦hÃB¥~ªº­t¾á©M½ÆÂø«×¡CELF¥i¥H»´©öªº¸Ñ¨M³o¨Ç°ÝÃD¡A¦ý¬O ±q°ò¥»¤W¥i¥H¤u§@ªº¨t²ÎÂà´«¦¨ ELF «o«Ü´Æ¤â¡C©Ò¥H­nµ¥¨ìºûÅ@ a.out ¤ñÂà´«¨ì ELF ´Æ¤â¡C

µM¦Ó¡AÀHµÛ®É¶¡¹L¥h¡A FreeBSD ªº build tools §Î¦¨¤F¥­¦æªº¨â¤ä (¤×¨ä¬O²Õ;¹©M loader)¡CFreeBSD ³o¤ä¥[¶i¤F¦@¨Éµ{¦¡®w¥H¤Î­×¥¿¤F ¤@¨Ç¿ù»~¡C­ì¨Ó¼¶¼g³o¨Çµ{¦¡ªº GNU ¦¨­û«h­«¼g¤F³o¨Çµ{¦¡¡A¥H§ó²³æ ªº¤è¦¡¤ä´©¸ó¥­¥x½sĶ¡B¦hºØ®æ¦¡µ¥µ¥¡C³\¦h¤H·Q­n°µ¥X¥H FreeBSD ¬° ¥Øªº¥­¥xªº¸ó¥­¥x½s;¹¡A¤£©¯ªº¬O FreeBSD ªº as ©M ld ¤£¯à°µ³o¶µ ¤u§@¡C·sªº GNU ¤u¨ã(binutils)¥[¤J¤F¸ó¥­¥x½sĶ¡BELF¡B¦@¨Éµ{ ¦¡®w¡B C++ ÂX¥R¡Aµ¥µ¥¡C¦¹¥~¡A³\¦h¼t°Ó¥H ELF ®æ¦¡µo¦æ²£«~¡A ¦Ó¯à°÷¦b FreeBSD ¤W¶]ªº¸Ü·íµM«Ü¦n¡C¦Ó¥B¦pªG¯à¶] ELF ®æ¦¡ªº °õ¦æÀÉ¡A¬°¬Æ»òÁÙ­n²z a.out ¡H¨e¬O¤@¤Ç¤S²Ö¤S¦Ñªº°¨¡A¹L¥h«D±` ¦³¥Î¡A¦ý¬O®É­ÔÅý¨e°h¥ð¤F¡C

ELF ¤ñ a.out §óÀ³¦³ªí¹F¤O(expressive¡H)¦Ó¥B¨ã¦³§ó¦hªº ÂX¥R©Ê¡CELF¤u¨ãºûÅ@ªº¤ñ¸û¦n¡A¦Ó¥B´£¨Ñ¸ó¥­¥x½sĶªº¤ä´©¡A ³o¹ï³\¦h¤H¨Ó»¡¬O«Ü­«­nªº¡CELF ¥i¯à¤ñ a.out ºC¤@ÂI¡A¦ý®t²§ «D±`Ãø´ú¶q¥X¨Ó¡C³o¨âªÌ¤§¶¡ÁÙ¦³³\¦h²Ó¸`¤Wªº¤£¦P¡A¨Ò¦p¤À­¶ªº¹ïÀ³¤è¦¡¡Aªì©l¤Æµ{ ¦¡½Xªº§@ªkµ¥µ¥¡C³o¨Ç¨Ã¤£¬O«Ü­«­n¡A¦ý´N¬O¤£¦P¡C¦b¥H«á GENERIC ®Ö¤ß¤£·|¤ä´© a.out ¡A·í¤£¦A¦³°õ¦æ¶Ç²Î a.out µ{¦¡ ªº»Ý­n®É¡A·|±q®Ö¤ß²¾°£¡C

12.4. ¬°¬Æ»ò chmod ¤£·|§ïÅܲŸ¹³sµ²(symlink)ªº¦s¨úÅv­­¡H

§A¥²¶·§â ``-H'' ©Î¬O ``-L'' »P ``-R'' ¿ï¶µ¤@°_¨Ï¥Î. °Ñ¦Ò chmod ¤Î symlink man pages ¥H¨ú±o§ó¦h¸ê°T.

ĵ§i¡G ``-R'' ¿ï¶µ·|Åý chmod °µ»¼°j¡C¥Î¦b¥Ø¿ý©Î¬O³sµ²¨ì¥Ø¿ýªº²Å¸¹³sµ²®É­n¤p¤ß¡C¦pªG§A­n§ïÅܤ@­Ó²Å¸¹³sµ²°Ñ ¦Ò¨ìªº¥Ø¿ý¤§¦s¨úÅv­­¡A¨Ï¥Î chmod ¥B¤£­n ¥[¥ô¦ó¿ï¶µ¡A¨Ã¥B¦b symlink ªºµ²§À¥[¤W±×½u(``/'')¡CÁ|¨Ò¨Ó»¡ ¡A¦pªG ``foo'' ³sµ²¨ì ``bar''¡A¦Ó§A­n§ó§ï ``foo'' ªº Åv­­ (¨Æ¹ê¤W¬O ``bar'')¡A¨º´N¥Î¡G

        chmod 555 foo/
      



µ²§Àªº±×½u¡A·|Åý chmod §ïÅÜ ``foo'' «ü¦Vªº ``bar'' ¥Ø¿ýªºÅv­­¡C

12.5. ¬°¬Æ»ò±b¸¹ ¤´µM ­­¨î¬°¤K­Ó¦r¤¸¡H

§A·|»{¬°­×§ï UT_NAMESIZEµM«á­««Ø¨t²Î¬O«Ü²³æªº¨Æ±¡¡A¦Ó¥B¨C¥ó¨Æ³£¥i¥H¹B§@¦a«Ü¦n¡C¤£©¯ªº¬O¡A ¦³³\¦hªºµ{¦¡©M¤u¨ã(¥]§t¨t²Î¤u¨ã)§â¼Æ¦r¼g¦º¦bµ{¦¡¸Ì(¨Ã«DÁ`¬O 8 ©Î 9¡A¦³®É¬O¥j©Çªº 15¡B20µ¥µ¥)¡C ³o¤£¥u·|§â§Aªº°O¿ýÀɧËÃa(¨Ó¦Û©óÅܰʪø«×©M©T©wªø«×°O¿ýªº®t²§)¡A¤]·|¯}Ãa Sun ªº NIS «È¤áºÝªº¹B§@¡A©M¨ä¥¦ UNIX ¨t²Îªº¥æ¤¬§@¥Î¤]¥i¯à¦³¼ç¦bªº°ÝÃD¡C

¦b FreeBSD 3.0 ¥H¤Î¤§«áªºª©¥»¡A±b¸¹ªº³Ì¤jªø«×¼W¥[¨ì 16 ­Ó¦r¤¸¡A ¦Ó¨º¨Ç¼g¦ºªø«×ªºµ{¦¡¤]§ä¥X¨Ó­×¥¿¡C¥¿¦]¬°¼vÅT¨t²Îªº½d³ò«Ü¼s¡A©Ò¥Hª½¨ì 3.0 ¤~ºâ¤j­P­×§ï§¹¦¨¡C

¦pªG§A¦³¦Û«H¦b¥X°ÝÃDªº®É«á¯à¦Û¦æ¸Ñ¨M¡A§A¥i¥H¥Î¤U­±ªº¤èªkÅý¸û¦­ªº ª©¥»¤ä´©¸ûªøªº±b¸¹¡C­×§ï /usr/include/utmp.h ¤¤ªº UT_NAMESIZE¡C§A¤] ¥²¶·§â /usr/include/sys/param.h ¤¤ªº MAXLOGNAME §ï¦¨¸ò UT_NAMESIZE ¬Û²Å¡C³Ì«á¡A¦pªG§A¬O±q­ì©lµ{¦¡«Ø¥ß¨t²Î¡A§O§Ñ¤F /usr/include ¨C¦¸³£ ·|§ó·s¡I­×§ï /usr/src/.. ¤¤¾A·íªºÀɮסC

12.6. §Ú¯à¦b FreeBSD ¤U¶] DOS µ{¦¡¶Ü¡H

¬Oªº¡A±q 3.0 ª©¶}©l¥i¥H¨Ï¥Î¤w¸g¾ã¦X¨Ã¥[±jªº BSDI rundos DOS ¼ÒÀÀ¾¹¡C¦pªG§A¹ï³o­ÓªF¦è¦³¿³½ì¡A°e«Ê«H¨ì The FreeBSD emulation °Q½×°Ï¡C

¹ï 3.0 ¤§«eªº¨t²Î¡A¦b port ¤¤¦³¤@­Ó·¥¨Îªº¤u¨ãµ{¦¡ pcemu ¥i¥H¼ÒÀÀ 8088 ©M¨¬°÷ªº BIOS ªA°È¥H°õ¦æ DOS ¤å¦r¼Ò¦¡µ{¦¡¡C¥¦¶·­n X Window System(¥Ñ XFree86 ´£¨Ñ)¡C

12.7. ¬Æ»ò¬O ``sup''¡A¦p¦ó¨Ï¥Î¡H

SUP ·N«ä¬O Software Update Protocol¡A¥Ñ CMU µo®i¥Hºû«ùµo®iªº¦P¨B¡A §Ú­Ì§Q¥Î¥L¨Ó«O«ù»·ºÝªº¯¸¥x©M­ì©l¯¸¥x¦P¨B¡C

SUP ¹ïÀW¼eªº¨Ï¥Î¤£¤Íµ½¡A¦Ó¥B¤w¸g¤£¨Ï¥Î¤F¡C¥Ø«e«ØÄ³ºû«ù­ì©l½X§ó·sªº¤èªk¬O ¨Ï¥Î¤â¥U¤¤ªº CVSup¡C

12.8. How cool is FreeBSD¡H

°Ý¡G¦³¤H°µ¹L FreeBSD °õ¦æ®Éªº·Å«×´ú¸Õ¶Ü¡H§Úª¾¹D Linux ¤ñ DOS ²D¡A ¦ý¨SÅ¥¤H´£¹L FreeBSD¡A¦ü¥G«Ü¼ö¡C

µª¡G¨S¦³¡A¦ý¬O¦b¨ýı¤W¦³°µ¹LµL¼Æ¦¸´ú¸Õ¡C§Ú­Ìé¤W¦ÛÄ@¨ü¸ÕªÌªº ²´·ú¡A¨Æ¥ý¦Aµ¹¥L­ÌªA¥Î 250 ²@§Jªº LSD-25 °g¤ÛÃÄ¡C35% ªº¨ü¸ÕªÌ»¡ FreeBSD ¹Á°_¨Ó¹³¾ï¤l¡A¦Ó Linux «h¬Oµµ¦âªººd¾ðªG¹ê¡C¾Ú§Ú©Òª¾¡A¨S ¦³¤@²Õ´£¨ì·Å«×¤W¯S§Oªº®t²§¡C«á¨Óµo²{¡A¦³¤Ó¦h¨ü¸ÕªÌ¦b´ú¸Õ®É¹Ú¹C¨« ¥X©Ð¶¡¼vÅT¨ì¼Æ¾Ú¡A³Ì«á¥u±o©ñ±ó¾ã­Ó½Õ¬d¡C§Ú·Q¤j³¡¥÷ªº¨ü¸ÕªÌ²{¦b¦b Apple ¤u§@¡AÄ~ Drag and Drop ¤§«á¡A¬ã¨s¥þ·sªº Scratch and Sniff ¹Ï§Î¬É­±¡CIt's a funny old business we're in¡I

¤£¶}ª±¯º¤F¡AFreeBSD ©M Linux ³£¨Ï¥Î ``HLT'' (halt) «ü¥O ¥H¦b¨t²Î¶¢¸m®É­°§C¹q¤Oªº¨Ï¥Î¤]´î¤Ö¤F¼öªº²£¥Í¡C¦pªG¦³³]©w APM (automatic power management)¡AFreeBSD ¤]¥i¥HÅý CPU ¶i¤J§C¹q¤O ¼Ò¦¡¡C

12.9. ½Ö¦b§Úªº°O¾ÐÅé´¡¼Ñ¤¤¨F¨F§@ÅT¡H¡H

°Ý¡GFreeBSD ½s֤ͮ߮ɦ³°µ¬Æ»ò "©_¯S" ªº¨ÆÅý°O¾ÐÅé¨F¨F§@ÅT¶Ü¡H ·í½sĶ®É(ÁÙ¦³¶}¾÷®É½T»{³nºÐ«áªºµu¼È®É¶¡)¡A¤]ºØ¦ü¥G¨Ó¦Û°O¾ÐÅé´¡¼Ñ ªº©_©ÇÁn­µ¡C

µª¡G¬Oªº¡I¦b BSD ªº¤å¥ó¤¤§A·|±`±`¬Ý¨ì ``­I«áÆF''¡A¤j³¡¥÷ªº¤H ³£¤£ª¾¹D¨º¬O¤@ºØ¹ê»Ú¦s¦bªººë¯«Åé --- ´x±±µÛ§Aªº¹q¸£¡C§AÅ¥¨ìªºÁn­µ ¬O³o¨Ç­I«áÆF¥H°ª­µ¤f­ï¦b·¾³q«ç¼Ë°µ³\¦hªº¨t²ÎºÞ²z¤u§@¡C

¦pªG³o¨ÇÁn­µ«Ü§xÂZ§A¡A¨Ó¦Û DOS ªº ``fdisk /mbr'' ´N ¯àÂ\²æ¡A¦ý¦pªG¦³¬Û¤Ïªº®ÄªG¤]¤£­nÅå³Y¡C¨Æ¹ê¤W¡A¦pªG¦b»ö¦¡¤¤Å¥¨ì Bill Gates ®£©ÆªºÁn­µ±q¤º«Øªº³â¥z¶Ç¨Ó¡A°¨¤W°k¦Ó¥B¤£­n¦^ÀY¡I ±q BSD ­I«áÆF¤£¥­¿Åªº¼vÅT¤¤¸Ñ©ñ¡ADOS ©M Windows ­I«áÆF³q±`³£¯à ­«·s±±¨î¾ã¥x¾÷¾¹¨Ã¹ï§AªºÆF»î¶A©G¡C¦pªG¦³¿ï¾Ü¡A§Ú·Q§Ú¹çÄ@²ßºD©_ ©ÇªºÁn­µ¡C

12.10. MFC ¬O¬Æ»ò·N«ä¡H

MFC ¬O 'Merged From -CURRENT' ªºÁY¼g¡C¨Ï¥Î¦b CVS °O¿ý¤¤¥H ªí¥Ü±q CURRENT ¤¤¾ã¦X¶i STABLE ¤À¤äªº§ïÅÜ¡C

12.11. 'BSD' ¬O¤°»ò·N«ä¡H

¦b¥u¦³·|­ûª¾¹Dªº¯µ±K»y¨¥¤¤¡A¥¦¥Î¨Óªí¥Ü¬YºØªF¦è¡C§Ú­ÌµLªk§@¤å¦r¤Wª½±µªºÂ½Ä¶¡A ¥u¯à»¡¥¦ªº·N«ä¤j·§¦b '¤@¯Å¤èµ{¦¡Áɨ®'¡B'¥øÃZ¬O¦n¦Yªº¤pÂI¤ß'¡B©M '§Ú­Ì¤ñ Linux ¨Ó±o¦³«ÕÀq·P' ³o¤TªÌ¤§¶¡¡C:-)

¥¿¸gÂI¡ABSD ¬O 'Berkeley Software Distribution' ªºÁY¼g¡A¥Ñ·í®Éªº Berkeley CSRG(Computer Systems Research Group)¿ï¨Ó·í§@¥L­Ì©Òµo¦æ Unix ª©¥»ªº¦WºÙ¡C

12.12. ­n´X­Ó FreeBSD hacker ¤~¯à´«±¼¤@­Ó¹q¿Oªw¡H

¤@¤d¤@¦Ê¤C¤Q¤G­Ó¡G

¤G¤Q¤T­Ó¦b -current ¤W©ê«è¬Ý¤£¨ì¥ú¤F¡F

¥|­Ó«ÅºÙ³o¬O³]©w¤Wªº°ÝÃD¡A©Ò¥H¹³³o¼Ëªº email À³¸Ó©ñ¦b -questions¡F

¤T­Ó submit PR¡A¨ä¤¤¤@­Ó°e¿ù¨ì doc ¤U¡A¨Ã¥B¤º®e¥u¦³¡¨³o¸Ì¦n·t¡¨¡F

¤@­Ó commit ©|¥¼´ú¸Õªº¹q¿Oªw¡A³y¦¨¤£¯à buildworld¡A¤­¤ÀÄÁ«á¥L§â­ì¨Ó ªº¿Oªw´«¦^¨Ó¡F

¤K­Óº´°_ flame war¡A³d©Ç°e¥X PR ªº¤H¨S¦³¥]¬A patch¡F

¤­­Ó®I«è buildworld Äê±¼¤F¡F

¤T¤Q¤@­Ó»¡ buildworld ¥i¥H¥Î¡A¤£¯à¥Îªº¤H¤@©w¬O cvsup ªº®É¾÷¤£¹ï¡F

¤@­Ó§â´«¦¨·s¿Oªwªº patch ¥á¨ì -hackers ¤W¡F

¤@­Ó»¡¥L¤T¦~«e´N°µ¥X¤F patch¡A¦ý°e¨ì -current «á«o³Q©¿²¤±¼¡A©Ò¥H¥L ¹ï¾ã­Ó PR ¨t²Î¦³«Ü¤£¦nªº¦L¶H¡C¦¹¥~¡A¥L¤]»{¬°®³¥Xªº·s¿OªwµLªk¤Ï¥ú¡F

¤T¤Q¤C­Ó©H­ý»¡¹q¿Oªw¤£ÄÝ©ó°ò¥»¨t²Îªº¤@³¡¥÷¡A©Ò¥H committer ¤£¯à¤£¥ý ¿Ô¸ß¾ã­Ó Community ªº·N¨£´N³o¼Ë°µ¤U¥h¡CÁÙ¦³¡A-CORE ¨ì©³©M³o¥ó¨Æ¦³¤°»ò Ãö«Y¡H¡I

¨â¦Ê¤H©ê«è´«¿Oªw¤§«á¡A¸}½ñ¨®´×ªºÃC¦âÅܱo¦n©_©Ç¡F

¤T­Ó«ü¥X¡A¥Î¨Ó´«¿Oªwªº patch ¤£²Å¦X style(9) ªº³W©w¡F

¤Q¤C­Ó®I«è®³¥X¨Óªº·s¿Oªw¬°¤°»ò¬O¥Î GPL¡F

¤­¦Ê¤K¤Q¤»¤H³´¤J¤@³õ flame war¡A¦b GPL¡BBSD¡BMIT¡BNPL ¦U­Ó license ©M FSF ¬Y¦ì¤£¨ã¦W³Ð¿ì¤H¤h­Ó¤H½Ã¥Í¤§¶¡¡A¤ñ¸û©¼¦¹ªºÀu¶Õ¡F

¤C­Ó±N³o¤@¦ê°Q½×ªº¤£¦P³¡¥÷¤À§O²¾¨ì -chat ©M -advocacy¡F

´Nºâ´£¥Xªº·s¿Oªw¤ñªº·t¡AÁÙ¬O¦³¤@­Ó§â¥¦ commit ¶i¨Ó¡F

¨â­Ó´«¦^­ì¥ýªº¿Oªw¡A¨Ã¥B¯d¤U·¥¬°¼««ãªº commit °T®§¡C¥L­Ì»{¬°»P¨äÅý FreeBSD ¥Î·t¿Oªw¡AÁÙ¤£¦p°®¯Ü«Ý¦b¶Â·t¤¤ºâ¤F¡F

¥|¤Q¤»¤H¹ï¨ú®ø¤£¥Î·t¿Oªw³o¥ó¨Æ¤jÁn¯e©I¡A­n¨D -core ¥ß¨è´£¥X¼á²M¡F

¤Q¤@­Ó­n¨D´«¦¨¤p¤@ÂIªº¹q¿Oªw¡A¥H«K¥¼¨Ó FreeBSD ¦pªG²¾´Ó¨ì¹q¤lÂû¤W«á ·|§ó¬°¤è«K¡F

¤C¤Q¤T¤H©ê«è -hackers ©M -chat ¤Wªº SNR¡AÂÇ unsubscribe ¨Óªí¥Ü§Üij¡F

¤Q¤T­Ó°e¥X "unsubscribe"¡B¡¨§Ú­n¦p¦ó unsubscribe¡¨©Î¡¨«ô°U§â§Ú±q list ¦W³æ¤¤§R±¼¡¨¡A«Hªº³Ì«á­±«h¬O¤@¯ë¥Ñ majordomo ¥[¤W¥hªº footer¡F

·í¨C­Ó¤H¦£©ó©¼¦¹¥s½|®É¡A¦³­Ó³Ã¥ë¶X¨S¤Hª`·N¡A§â¥i¥H¥Îªº¿Oªw°½°½´«¤W ¥h¡F

¤T¤Q¤@­Ó«ü¥X¦pªG¥Î TenDRA ½sĶ·sªº¿Oªw¡A·|¤ñªº¨Ó±o«G 0.364%¡]ÁöµM ¿Oªw·|³Q½sͦ¨¥¿¤»­±Åé¡^¡A©Ò¥H FreeBSD ¤º©wªº½s;¹À³¸Ó¬O TenDRA¡A¦Ó¤£ ¬O EGCS¡F

¦³­Ó¤H»¡·s¿Oªw¯Ê¥F¬ü·P¡F

¤E­Ó¤H¡]¥]¬A­ì¥ý°e PR ªº¤H¡^°Ý¡¨¤°»ò¬O MFC¡H¡¨¡F

¤­¤Q¤C­Ó©ê«è¦Û±q´«¤F¿Oªw«á¡A¨â­Ó¬P´Á³£¨S¦³¥ú¥X²{¡C

Nik Clayton ¸Éª`¡G

­è¬Ý¨ì®É¡A§Ú§Ö¯ºÂ½¤F¡C

µM«á·Q¨ì¡A¡¨µ¥¤@¤U¡A¤£¬OÀ³¸ÓÁÙ¦³¤@­Ó­n±N³o¨Ç°O¦b list ¤W¶Ü¡H¡¨

±µµÛ²×©ó¤F¸Ñ§Úªº¨Ï©R :-)

¥»¸`¯º¸Ü¤§µÛ§@ÅvÄÝ©ó Copyright (c) 1999 Dag-Erling Coïdan Smørgrav¡C ¬°Á×§K³à¥¢­ì·N½Ð¤Å¥ô·N­«¸m¤W­z¥ô¤@¦r¥y¡C


Chapter 13. µ¹¦³¤ß²`¤J¬ã¨sªº FreeBSD hacker

13.1. SNAPs ©M RELEASEs ¬O¤°»ò¡H
13.2. §Ú­n«ç»ò§@¥X¦Û¤vªº release¡H
13.3. «ç¼Ë¤~¯à°µ¥X¦Û¤v¥Îªº¦w¸ËºÏ¤ù¡H
13.4. ``make world'' §â­ì¨Ó¸Ëªº binary Àɳ£´«±¼¤F¡C
13.5. ¦b¨t²Î¶}¾÷®É¡A¥X²{ ``(bus speed defaulted)''¡C
13.6. §Úªººô¸ô³s½u¤£§Ö¡A¨º¥i¥H¸òµÛ current ªºµo®i¶Ü¡H
13.7. §A¬O«ç»ò§âµo¦æª©¥»¤¤ªºÀɮפÁ¦¨¤@­Ó­Ó 240k ªº¤pÀɮסH
13.8. §Ú¦b kernel ¸Ì¥[¤F¨Ç·s¥\¯à¡A­n§â¥¦±Hµ¹½Ö¡H
13.9. ISA ªº Plug N Play ¥d¬O«ç»ò°»´ú©Mªì©l¤Æªº¡H
13.10. FreeBSD ¬O§_¦³¤ä´© x86 ¥H¥~ªº¾÷¾¹¬[ºc¡H
13.11. §Ú­è­è¼g¤F¬Y­Ó³]³ÆªºÅX°Êµ{¦¡¡A¯à¤£¯àµ¹¥¦¤@­Ó major number¡H
13.12. Ãö©ó©ñ¸m¥Ø¿ý©MÀÉ®× inode §@ªk¤Wªº¬Û²§
13.13. ¦p¦ó±q kernel panic ±o¨ì³Ì¦h¸ê°T¡H
13.14. dlsym() ¹ï ELF °õ¦æÀɤ£¯à¥Î!
13.15. ¼W¥[©Î´î¤Ö kernel ¯à©w§}ªºªÅ¶¡

13.1. SNAPs ©M RELEASEs ¬O¤°»ò¡H

¥Ø«e¦³¤T­Ó¬¡ÅD/¥b¬¡ÅDªº¤À¤ä¦b FreeBSD ªº CVS Repository:

  • RELENG_2_2 §Y 2.2-stable §Y "2.2 branch"

  • RELENG_3 §Y 3.x-stable §Y "3.0 branch"

  • HEAD §Y -current §Y 4.0-current



¦p¦P¨ä¥L¨â­Ó¡AHEAD ¨Ã¤£¬O¯u¥¿ªº branch tag¡A¥¦¥u¬O¤@­Ó²Å¸¹ ±`¼Æ¡A«ü¦V "current¡G©|¥¼¤À¤äªºµo®i¤¤ª©¥»" ¡A²°O¬° -current¡C

¥H²{¦b¨Ó»¡¡A-current ´Â¦V 4.0 µo®i¡A¦Ó 3.0-stable ³o ­Ó¤À¤ä¡A¤]´N¬O RELENG_3¡A¦b 1999 ¦~ 1 ¤ë±q -current ¤À¥X ¨Ó¡C

2.2-stable ³o­Ó¤À¤ä¡A¤]´N¬O RELENG_2_2¡A¬O¦b 1996 ¦~ 11 ¤ë±q -current ¤À¥X¨Ó¡C

2.1-stable ³o­Ó¤À¤ä¡A¤]´N¬O RELENG_2_1_0¡A«h¬O¦b 1994 ¦~ 9 ¤ë±q -current ¤À¤ä¥X¨Ó¡A³o­Ó¤À¤ä¤w¸g§¹¥þ°h¥ð¤F¡C

13.2. §Ú­n«ç»ò§@¥X¦Û¤vªº release¡H

°µ release ¥]¬A¤U­±³o¤T­Ó¨BÆJ¡G­º¥ý¡A°µ¥X¦³ vn ³o­ÓÅX°Êµ{ ¦¡ªº¥i¥Î kernel¡C§â¤U­±³o¤@¦æ¥[¨ì kernel ³]©wÀÉ¡AµM«á°µ¥X·sªº kernel ­«·s¶}¾÷¡G

        pseudo-device vn         #Vnode driver (turns a file into a device)
      



±µµÛ¡A§A¤â¤W­n¦³¾ã­Ó CVS repository¡C¥i¥H°Ñ¦Ò CVSUP ³o½g¤å³¹¡A¦ý¦b supfile ¤¤§â release ¦WºÙ³]¦¨ cvs¡A¦A§R±¼©Ò¦³ tag ©Î date ªºÄæ¦ì¡A¦p ¤U¡G

        *default prefix=/home/ncvs
        *default base=/a
        *default host=cvsup.FreeBSD.org
        *default release=cvs
        *default delete compress use-rel-suffix

        ## Main Source Tree
        src-all
        src-eBones
        src-secure

        # Other stuff
        ports-all
        www
        doc-all
      



µM«á°õ¦æ cvsup -g supfile §â©Ò¦³ªF¦è³£§ì¤U¨Ó...

³Ì«á¡AµwºÐ­n¦³¬Û·í¤jªºªÅ¶¡¨Ó°µ release¡C°²³]§A·Q§â¥¦©ñ¦b /some/big/filesystem ³o¸Ì¡A¤W­±³o­Ó¨Ò¤l¤]§â CVS repository ©ñ¦b /home/ncvs ¤F¡A±µµÛ¡G

        setenv CVSROOT /home/ncvs        # or export CVSROOT=/home/ncvs
        cd /usr/src/release
        make release BUILDNAME=3.0-MY-SNAP CHROOTDIR=/some/big/filesystem/release
      



¾ã­Ó release ·|°µ¦b /some/big/filesystem/release¡Cµ²§ô ®É /some/big/filesystem/release/R/ftp ³o­Ó¥Ø¿ý¥i¥Hª½±µ¥Î ¨Ó°µ¬° FTP ¦w¸Ë¤è¦¡ªº¨Ó·½¡C¦pªG·Q°µ¥X -current ¥H¥~¤À¤äªº SNAP¡A ¦b¤W­± make release ³o¤@¦æ¥[ RELEASETAG=SOMETAG¡CÁ|¨Ò¨Ó»¡¡A RELEASETAG=RELENG_2_2 ³o­Ó°Ñ¼Æ·|°µ­Ó§Y®Éªº 2.2-STABLE snapshot¡C

13.3. «ç¼Ë¤~¯à°µ¥X¦Û¤v¥Îªº¦w¸ËºÏ¤ù¡H

«Ø¥ß¦w¸ËºÏ¤ù¡BÁÙ¦³°µ¥X source/binary archive¡A³£¬O¥Ñ /usr/src/release/Makefile ¸Ì­±ªº¦UºØ target ¦Û°Ê²£¥Í¡A³o ­ÓÀɮ׸̪º¸ê°TÀ³¸Ó¨¬¥H¶}©l¡C¦ý¬O³o­Ó¹Lµ{²o¯A¨ì make world¡A©Ò¥H·| ¥Î¨ì¬Û·í¦hªº®É¶¡©MµwºÐªÅ¶¡¡C

13.4. ``make world'' §â­ì¨Ó¸Ëªº binary Àɳ£´«±¼¤F¡C

¨S¿ù¡A´N¬O³o¼Ë¤l¡C¦p¦W¦r©Ò¥Ü¡A``make world'' ·|­«·s½s͍t²Î¤º«Ø ªº¨C­Ó binary ÀÉ¡A³o¼Ë¦bµ²§ô®É´N¥i½T©w¦³­Ó¤@­P¥B°®²bªºÀô¹Ò(©Ò¥H­n ªá¤W¦n¤@¬q®É¶¡)¡C

¦b°õ¦æ ``make world'' ©Î ``make install'' ®É¡A¦pªG¦³ ³] DESTDIR ³o­ÓÀô¹ÒÅܼơA·s²£¥Íªº binary ±N·|¸Ë¦b ${DESTDIR} ¤Uªº¦P¼Ë¥Ø¿ý¾ð¤¤¡C¦ý¦b¬Y¨Ç­× §ï shared library ©M­««Ø binary ªºµL¯S©w±¡ªp¤U¡A³o¼Ë°µ¥i¯à·|¨Ï ``make world'' ¥¢±Ñ¡C

13.5. ¦b¨t²Î¶}¾÷®É¡A¥X²{ ``(bus speed defaulted)''¡C

Adaptec 1542 SCSI ¥d¤¹³\¨Ï¥ÎªÌ¥Î³nÅé½Õ¾ã¶×¬y±Æªº¦s¨ú³t«×¡C¦­ ´Áªº 1542 ÅX°Êµ{¦¡¸Õ¹Ï±N¥¦³]¦¨¥i¥Îªº³Ì§Ö³t«×¡A¦ý«á¨Óµo²{¦b¤@¨Ç ¾÷¾¹¤W¤£¯à¥Î¡A©Ò¥H²{¦b­n¦b kernel ³]©w¤¤¥[ ``TUNE_1542'' ³o­Ó¿ï¶µ¨Ó±Ò°Ê³o­Ó¥\¯à¡C¦b¤ä´©ªº¾÷¾¹¤W¥Î³o­Ó¿ï¶µ·|¨ÏµwºÐ¦s¨ú§ó §Ö¡A¦ý¦b¤£¤ä´©ªº¾÷¾¹¤W¦³¥i¯à·|·´±¼¸ê®Æ¡C

13.6. §Úªººô¸ô³s½u¤£§Ö¡A¨º¥i¥H¸òµÛ current ªºµo®i¶Ü¡H

¥i¥H¡AÂÇµÛ CTM ´N ¥i¥H¤£¥Î¤U¶Ç©Ò¦³ªº­ì©l½X¥Ø¿ý¾ð¡C

13.7. §A¬O«ç»ò§âµo¦æª©¥»¤¤ªºÀɮפÁ¦¨¤@­Ó­Ó 240k ªº¤pÀɮסH

¦b¥H BSD ¬°¥Dªº¸û·s¨t²Î¤¤¡Asplit ¦³­Ó ``-b'' ¿ï¶µ¡A¬O¥Î¨Ó §âÀÉ®×¥H¥ô·N¼Æ¥Ø byte ¤Á¶}¡C

³o¸Ì¬O /usr/src/Makefile ¤¤ªº¤@­Ó¨Ò¤l¡G

        bin-tarball:
        (cd ${DISTDIR}; \
        tar cf - . \
        gzip --no-name -9 -c | \
        split -b 240640 - \
        ${RELEASEDIR}/tarballs/bindist/bin_tgz.)
      



13.8. §Ú¦b kernel ¸Ì¥[¤F¨Ç·s¥\¯à¡A­n§â¥¦±Hµ¹½Ö¡H

½Ð¬Ý¤@¤U Handbook ¤¤¥[¤Jµ{¦¡½Xªº³¡¥÷¡C

¦P®É¤]·PÁ§Aªº¶O¤ß¡I

13.9. ISA ªº Plug N Play ¥d¬O«ç»ò°»´ú©Mªì©l¤Æªº¡H

¥Ñ Frank Durda IV ©Ò¼g¡G

²³æªº»¡¡A·í¥D¾÷µo¥X¬O§_¦³ PnP ¥dªº¸ß°Ý°T¸¹®É¡A©Ò¦³ªº PnP ·|¦b´X­Ó©T©wªº I/O port §@¦^À³¡C©Ò¥H·í°»´ú PnP ªºµ{¦¡¶}©l®É¡A¥¦ ·|¥ý°Ý¦³¨S¦³ PnP ¥d¦b¡A±µµÛ©Ò¦³ PnP ¥d·|¦b¥¦©ÒŪªº port ¥H¦Û¤v ªº«¬¸¹ # §@¦^µª¡A³o¼Ë°»´úµ{¦¡´N·|±o¨ì¤@­Ó wired-OR ``yes'' ªº¼Æ¦r¡A¨ä¤¤¦Ü¤Ö·|¦³¤@­Ó bit ¬O¥´¶}ªº¡CµM«á°»´úµ{¦¡·|­n¨D«¬¸¹ (¥Ñ Microsoft/Intel«ü©w)¤p©ó X ªº¥d``Â÷½u''¡A¦A¥h¬Ý¬O§_ÁÙ¦³¥d¦^ µª¦P¼Ëªº¸ß°Ý¡A¦pªG±o¨ì ``0''¡A´Nªí¥Ü¨S¦³«¬¸¹¤j©ó X ªº¥d¡C ²{¦bµ{¦¡·|°Ý¬O§_¦³«¬¸¹¤p©ó X ªº¥d¡A¦pªG¦³ªº¸Ü¡Aµ{¦¡¦A­n«¬¸¹¤j©ó X-(limit/4) ªº¥dÂ÷½u¡AµM«á­«ÂФW­±ªº°Ê§@¡C¥Î³oºØÃþ¦ü binary search ªº¤èªk¡A¦b¬Y½d³ò¤º§ä­Ó´X¦¸«á¡A°»´úµ{¦¡³Ì«á·|¦b¾÷¾¹¤¤°Ï¤À ¥X©Ò¦³ªº PnP ¥d¡A·j´M¦¸¼Æ¤]»·§C©ó¤@­Ó­Ó§äªº 2^64 ¦¸¡C

¤@±i¥dªº ID ¥Ñ¨â­Ó 32-bit(©Ò¥H¤W­±¬O 2ˆ64) + 8bit °»¿ù ½X²Õ¦¨¡A²Ä¤@­Ó 32 bits ¬O¥Î¨Ó°Ï¤À¦U®a¼t°Óªº¡C³o¨Ç¼t°Ó¨S¦³¥X¨Ó¼á ²M¹L¡A¦ý¬Ý¨ÓÀ³°²³]¦P¤@®a¥Xªº¤£¦PºØÃþªº¥dªº¼t°Ó ID ¦³¥i¯à¤£¦P¡C ¥Î 32 bits ¥u¨Óªí¥Ü¤£¦P¼t°Óªº·Qªk¹ê¦b¦³ÂI¹LÀY¤F¡C

²Ä¤G­Ó 32 bits «h¬O«¬¸¹ #¡B¤A¤Óºô¸ô¦ì§}¡B©Î¤@¨Ç¨Ï³o±i¥d¿W ¯Sªº¸ê®Æ¡C°£«D²Ä¤@­Ó 32 bits ¤£¦P¡A§_«h¼t°Ó¤£¥i¯à§@¥X²Ä¤G­Ó 32 bit ¬Û¦Pªº¨â±i¥d¡C©Ò¥H¦b¤@¥x¾÷¾¹¤¤¥i¥H¦³¦P¼Ëªº¦n´X±i¥d¡AµM¦Ó¥L­Ì ¾ã­Ó 64 bits ÁÙ¬O·|³£¤£¤@¼Ë¡C

³o¨â­Ó 32 bit ¥Ã»·³£¤£¥i¯à¬°¹s¡A³o¨Ï±o³Ì¶}©l binary search ¤¤ ªº wired-OR ·|±o¨ì¤@­Ó«D¹s¼Æ¦r¡C

¤@¥¹¨t²Î°Ï¤À¥X©Ò¦³¥dªº ID¡A±µµÛ·|¸g¥Ñ¦P¼Ëªº port ¤@­Ó­Ó­«·s±Ò °Ê¨C±i¥d¡A±µµÛ§ä¥X¤wª¾¤¶­±¥d©Ò»Ýªº¸ê·½¡B¦³­þ¨Ç¥i¥H¿ïªº interrupt µ¥µ¥¡C©Ò¦³¥d³£·|³Q±½´y¤@¦¸¡A¨Ó¦¬¶°³o¨Ç¸ê®Æ¡C

³o¨Ç¸ê°T±µµÛ©MµwºÐ¤Wªº ECU ÀɮסB©Î MLB BIOS ¸Ìªº¸ê®Æµ²¦X¦b¤@ °_¡A³q±`¬Oºî¦X ECU ©M MLB ¸Ìªº BIOS PnP ¸ê®Æ¡A³o¨Ç¶gÃä¨Ã¤£¤ä´©¯u ¥¿ªº PnP¡AµM¦Ó°»´úµ{¦¡¦bÀˬd BIOS ©M ECU ¸ê®Æ«á¡A¥¦¥i¥HÁ×§K PnP ¶gÃä©M¨º¨Ç°»´ú¤£¨ìªº¬Û½Ä¬ð¡C

±µµÛ¦A«×«ô³X³o¨Ç PnP ¶gÃä¡A³o¦¸·|§â¥i¥Îªº I/O¡BDMA¡BIRQ ©M°O ¾ÐÅé¬M®gªº¦ì§}³£«ü©wµ¹¥¦­Ì¡C³o¨Ç¶gÃä´N·|¥X²{¦b©Ò«ü©wªº¦a¤è¡Aª½¨ì ¤U¤@¦¸­«·s¶}¾÷¬°¤î¡A¤£¹L¤]¨S¦³¤H»¡¤£¯à§â¥¦­ÌÀH®É²¾¨Ó²¾¥h¡C

¤W­±¦³¬Û·í¦hªºÂ²¤Æ¡A¦ý§AÀ³¸Ó¤w¸g¤F¸Ñ¤j­Pªº¹Lµ{¡C

Microsoft §âªí¥Ü¦Lªí¾÷ª¬ºAªº´X­Ó¥D­n port ®³¨Ó§@ PnP¡A¥L­Ìªº ÅÞ¿è¬O¨S¦³¤@±i¥d·|¦b³o¨Ç¦a¤è¸Ñ½X§@¬Û¤Ïªº I/O cycles¡C¦ý¬O§Ú§ä¨ì ¤@´Ú¦­´Á¤´¦bµû¦ô PnP ´£®×®Éªº IBM ­ì¼t printer board¡A¥¦ªº½T¥h¸Ñ ¹ï³o¨Çª¬ºA port ªº¼g¤J¸ê®Æ¡A¦ý¬O MS ``»¡¤F´Nºâ''¡C©Ò¥H¥¦­Ìªº½T¦³ ¹ï¦Lªí¾÷ª¬ºA port ¼g¤J¡AÁÙ¦³Åª¨ú¸Ó¦ì§} + 0x800¡B©M¥t¤@­Ó¦b 0x200 ¤Î 0x3ff ¤§¶¡ªº port¡C

13.10. FreeBSD ¬O§_¦³¤ä´© x86 ¥H¥~ªº¾÷¾¹¬[ºc¡H

¦³´X¸s¤H¤h¤w¸gªí¥Ü¹ïµo®i¦h¥­¥x FreeBSD ªº¿³½ì¡A¨ä¤¤ FreeBSD/AXP (ALPHA) §Y¬O¨ä¤¤¬Û·í¦¨¥\ªº¨Ò¤l¡A¥i¥H¦b ftp://ftp.FreeBSD.org/pub/FreeBSD/alpha ³o¸Ì¨ú±o¥¦ªº 3.0 SNAPshot ª©¥»¡CALPHA ª©ªº FreeBSD ¦b¶V¨Ó¶V¦hªº ALPHA ¾÷¾¹¤W ¨Ï¥Î¡A¨ä¤¤¥]¬A¤F AlphaStation¡BAXPpci¡BPC164¡BMiata ©M Multia ³o´XºØ¡C­nµ¥¨ì¨t²Î¦w¸Ë¤u¨ã§¹¥þ¡B¯à¥Î¥úºÐ¦w¸Ë¡B¥H¤Î¦³¨¬°÷¯à¥Îªº port/package ¤§«á¡A§Ú­Ì¤~¥´ºâ§â¥¦·í§@§¹¾ãªºª©¥»¡A©Ò¥H²{¦bÀ³¸Ó§â FreeBSD/AXP ·í§@ BETA «~½èªº³nÅé¡C­Y­n¬ÛÃöª¬ªpªº®ø®§¡A½Ð¥[¤J mailing list¡C

¤]¦³¤Hªí¥Ü¹L±N FreeBSD SPARC ª©¥»ªº¿³½ì¡A¦pªG§A·Q°Ñ¥[³o­Ó­pµe¡A ½Ð¥[¤J mailing list¡C¦pªG·Q­nª¾¹DÃö©ó ·s¥­¥xªº°Q½×¡A½Ð¥[¤J mailing list ¡C

13.11. §Ú­è­è¼g¤F¬Y­Ó³]³ÆªºÅX°Êµ{¦¡¡A¯à¤£¯àµ¹¥¦¤@­Ó major number¡H

³o­n¬Ý§A¬O§_¥´ºâ±N³o­ÓÅX°Êµ{¦¡¤½¶}¨Ï¥Î¡A¦pªG¬Oªº¸Ü¡A½Ð§â¥¦ªº­ì©l ½X°e¤@¥÷µ¹§Ú­Ì¡AÁÙ¦³ files.i386 ­×§ïªº³¡¥÷¡Bkernel ³]©w Àɼ˥»¡B¥H¤Î¥Î¨Ó²£¥Í³]³ÆÀɪº MAKEDEV¡C ¦pªG§A¤£¥´ºâ¡B©Î¦]¬°ª©Åv°ÝÃD¦Ó¤£¯à¤½¶}ªº¸Ü¡A§Ú­Ì¦³¯S¦a«O¯d character major number 32 ©M block major number 8 µ¹³o¤è­±ªº¨Ï¥Î¡A ª½±µ¥Î³o¨â­Ó´N¦n¤F¡C¤£½×¦p¦ó¡A§Ú­Ì³£·|«Ü·P¿E§A¯à¦b µoªíÅX°Êµ{¦¡ªº®ø®§¡C

13.12. Ãö©ó©ñ¸m¥Ø¿ý©MÀÉ®× inode §@ªk¤Wªº¬Û²§

¦b¦^µª¦³Ãö¥Ø¿ý©ñ¸m¤è¦¡¤£¦Pªº°ÝÃD¤W¡A§Ú¦b 1983 ¦~¼g¦n¥Ø«eªº§@ªk «á´N¨S¦³¦A§ïÅܹL¡A³oºØ¤è¦¡¬O°w¹ï­ì¥ýªº FFS Àɮרt²Î¡A«á¨Ó¤]¨S ¦³¹ï¥¦§@¥ô¦ó§ó°Ê¡C¥¦¦bÁ×§K cylinder group ³Q¶ñº¡³o¤è­±°µ±o¬Û·í ¦¨¥\¡A¦ý¬O´N¹³¦³¨Ç¤H¤w¸gª`·N¨ì¡A¥¦©M `find' ´N°t¦X±o¤£¤j¦n¡C¤j ³¡¥÷ªºÀɮרt²Î¬O¥Ñ¨º¨Ç¥Î depth first search(aka ftw) ²£¥Íªº archive »s³y¥X¨Ó¡A¸Ñ¥X¨Óªº¥Ø¿ý inode ·|¾î¸ó¦n´X­Ó cylinder group¡A¦pªG¥H«á­n°µ depth first search ªº¸Ü¡A³o¬O³ÌÁV¿|ªº±¡ªp¤§ ¤@¡C¦pªG§Ú­Ìª¾¹DÁ`¦@·|²£¥Í¦h¤Ö¥Ø¿ýªº¸Ü¡A¸Ñªk¬O¦b°µ¥ô¦ó¦s¨ú/¼g ¤J°Ê§@¤§«e¡A¦b¨C­Ó cylinder group ¤W¥ý³y¥X(©Ò¦³¥Ø¿ý¼Æ/cylinder greoup ªº¼Æ¥Ø)³o»ò¦hªº¥Ø¿ý¡C«Ü©úÅ㪺¡A§Ú­Ì¥²¶·­n¦³®Ú¾Ú¦a¥h²q³o ­Ó¼Æ¦r¡A´Nºâ¤@­Ó¹³ 10 ªº«Ü¤p©T©w¼Æ¥Ø¤]·|¨Ï®Ä²v¥H¯Å¼Æ¦¨ªø¡C°Ï¤À restore (§Y¸Ñ¶}¤W­zªº archive) ©M¤@¯ëÀÉ®×¾Þ§@ªº¤èªk¥i¥H¬O(²{¦b ¥Îªººtºâªk¥i¯à­n§ó±Ó·P)¡G¦pªG¤@¨Ç¥Ø¿ý(³Ì¦h 10 ­Ó)³£¦b 10 ¬í¤º²£ ¥Íªº¸Ü¡A¨º»ò´N§â³o¨Ç¥Ø¿ý»E¶°¦b¦P¤@­Ó cylinder group¡C¤£ºÞ«ç¼Ë¡A §Úªº¸gÅç«ü¥X³o¬O¤@­Ó¤w¸g¥R¥÷¹êÅç¹Lªº³¡¥÷¡C

Kirk McKusick, September 1998

13.13. ¦p¦ó±q kernel panic ±o¨ì³Ì¦h¸ê°T¡H

[³o¸`¬O±q Bill Paul ¦b freebsd-current mailing list ¤Wµoªí ªº«H¤¤¸`¿ý¡ADag-Erling Coïdan Smørgrav ­×¥¿¤F¥´¦r¿ù»~¡B¦A¥[¤W¬A©·¸Ìªºª`¸Ñ¡C]

From: Bill Paul <wpaul@skynet.ctr.columbia.edu>
Subject: Re: the fs fun never stops
To: ben@rosengart.com
Date: Sun, 20 Sep 1998 15:22:50 -0400 (EDT)
Cc: current@FreeBSD.org
      



[<ben@rosengart.com> µoªí¤F¤U­±ªº panic °T®§]

> Fatal trap 12: page fault while in kernel mode
> fault virtual address   = 0x40
> fault code              = supervisor read, page not present
> instruction pointer     = 0x8:0xf014a7e5
                                ^^^^^^^^^^
> stack pointer           = 0x10:0xf4ed6f24
> frame pointer           = 0x10:0xf4ed6f28
> code segment            = base 0x0, limit 0xfffff, type 0x1b
>                         = DPL 0, pres 1, def32 1, gran 1
> processor eflags        = interrupt enabled, resume, IOPL = 0
> current process         = 80 (mount)
> interrupt mask          =
> trap number             = 12
> panic: page fault
      



·í§A¬Ý¨ì¹³³o¼Ëªº°T®§®É¡A¥u§â¥¦«þ¤@¥÷°e¤W¨Ó¬O¤£°÷ªº¡C§Ú¦b¤W ­±¯S¦a¼Ð©úªº instruction pointer ­È¬Û·í­«­n¡A¤£©¯ªº¬O¥¦·|¦]³] ©w¦Ó¤£¦P¡C´«¥y¸Ü»¡¡A³o­Ó­È·|¸ò§A¥Îªº kernel image ÀɦÓÅܰʡC¦p ªG¬O¥Î¬Y­Ó snapshot ª©¥»ªº GENERIC kernel¡A¤]³\¨ä¥L¤H¥i¥H°lÂÜ ¨ì¥X°ÝÃDªº¨ç¦¡¡A¦ý¦pªG§A¬O¥Î¦Û­qªº kernel¡A¨º»ò¥u¦³§A¤~¯à §i¶D§Ú­Ì°ÝÃD¥X¦b¨º¸Ì¡C

­n°µªº¨Æ¥]¬A³o¨Ç¡G

  • §â instruction pointer ªº­È°O¤U¨Ó¡Cª`·N¦b«e­±ªº 0x8: ¦b³o­Ó±¡ªp¤¤¨Ã¤£­«­n¡A§Ú­Ì­nªº¬O 0xf0xxxxxx¡C

  • ·í¨t²Î­«·s¶}¾÷«á¡A°õ¦æ³o¹D©R¥O¡G

    % nm /(³y¦¨ panic ªº kernel ÀÉ®×) | grep f0xxxxxx
              

    ¨ä¤¤ f0xxxxxx ´N¬O°O¤U¨Óªº instruction pointer ­È¡C¦³¥i¯à ¤£·|­è¦n§ä¨ì§¹¾ãªº³o­Ó¦r¦ê¡A³o¬O¦]¬° kernel symbol table ¸Ìªº¦U ­Ó symbol ¥u¬O¨ç¦¡ªº¶i¤JÂI¡A¦ý instruction pointer ©Ò«üªº¦ì§}¦³ ¥i¯à¬O¦b¨ç¦¡¤ºªº¬Y¤@³B¡A¦Ó¤£¤@©w¦b¶}ÀY¡C©Ò¥H¦pªG§ä¤£¨ì¾ã­Ó¦r¦ê¡A ¨º»ò§â instruction pointer ­Èªº³Ì«á¤@­Ó¼Æ¦r®³±¼¡A¦A¸Õ¤@¦¸¡G

    % nm /kernel.that.caused.the.panic | grep f0xxxxx
      

    ¦pªG³o¼Ë¤]§ä¤£¨ì¡A¨º´N§â¥t¤@­Ó¼Æ¦r¥h±¼¦A§ä¡A¤@ª½­«½Æ¨ì§ä¨ì¬°¤î¡A µ²ªG¬O¤@¦ê¥i¯à³y¦¨ panic ªº¨ç¦¡¦Cªí¡C³o¼Ë¤ñª½±µ§ä¨ì¥X°ÝÃDªº¨ç¦¡ ¨Ó±o®t¡A¦ý¦Ü¤Ö¦n¹L¤°»ò³£¨S¦³¡C



§Ú±`±`¬Ý¨ì¤H­ÌÅã¥Ü¤@¤j¤ù panic °T®§¡A¦ý«Ü¤Ö¬Ý¨ì¦³¤Hªá¤@ÂI®É¶¡ §â instruction pointer ©M kernel symbol table ¤¤ªº¨ç¦¡¤ñ¸û¤@¤U¡C

­n°lÂÜ¥X³y¦¨ panic ­ì¦]ªº³Ì¦n¤èªk¬O¥ý°µ¥X crash dump¡AµM«á¥Î gdb(1) ¦b¤W­±°µ stack trace¡C·íµM¡A³o­n¾a -current ¤¤ªº gdb(1) ¯à¹B§@¥¿±`¡AµM¦Ó§ÚµLªk«OÃÒ³o¤@ÂI¡C(°O±o¦³¤H»¡ ELF ªº gdb(1) ¦b kernel ªº crash dump ¤W¤£¯à¥¿±`¾Þ§@¡A¦b 3.0 ²æÂ÷ BETA ¶¥¬q®É³Ì¦n¦³¤H¥ýÀˬd³o¤è­±ªºª¬ªp¡A§K±o«Ü¦h¤H¦b¦¬¨ì 3.0 ¥úºÐ «áµÈ¬õ¤FÁy¡C)

¤£ºÞ¬O¨º¤@ºØ¡A§Ú³q±`¬O¥Î³o­Ó¤èªk¡G

  • ¼g¦n kernel ³]©wÀÉ¡C¦pªG§A»Ý­n¥Î kernel debugger¡A¦b³]©w Àɤ¤¥[¤W `options DDB' ³o­Ó¿ï¶µ¡C(·í§ÚÃhºÃ¦³¥X²{µL½a°j°é®É¡A³q ±`·|¥Î³o­Ó¨Ó³]©w¤¤Â_ÂI¡C)

  • ¥Î config -g KERNELCONFIG °µ¥X¥Î¨Ó½sĶªº¥Ø¿ý

  • cd /sys/compile/KERNELCONFIG; make

  • µ¥ kernel ½sĶ¥X¨Ó

  • cp kernel kernel.debug

  • strip -d kernel

  • mv kernel /kernel.orig/

  • cp kernel /

  • ­«·s¶}¾÷



[ª`·N¡G²{¦b FreeBSD 3.x kernel ¤º©w¬O ELF ®æ¦¡¡A©Ò¥HÀ³¸Ó ¥Î strip -g ¦Ó¤£¬O strip -d¡C¦pªG§Aªº kernel ¦]¬YºØ­ì ¦]¤´¬O a.out ®æ¦¡ªº¸Ü¡A«h¥Î strip -aout -d¡C]

ª`·N§A¤£·|¯uªº¥Î¥]¬A©Ò¦³ debug symbol ªº kernel ¨Ó¶}¾÷¡A ¥Î -g ½sĶ¥X¨Óªº kernel ¤j¤p«Ü®e©ö´N¶W¹L 10MB¡C¤£»Ý­n¥Î³o»ò ¤jªº kernel ¶}¾÷¡A±ß¤@ÂI gdb(1) ¤~·|»Ý­n¥¦(gdb(1) ·|¥Î ¨ì¸Ì­±ªº symbol table)¡C©Ò¥H§Ú­Ì¤~·|§â§¹¾ãªº kernel ½Æ»s¤@¥÷¡A±µ µÛ¥Î strip -d §R±¼ debug symbol¡A°µ¥X²Ä¤G­Ó kernel¡A³o­Ó¤~¯u ¥¿®³¨Ó¶}¾÷¡C

­n½T©w¯à§ì¨ì crash dump¡A¥ý½s¿è /etc/rc.conf¡A±N dumpdev «ü¨ì swap ¤À³Î°Ï¡C³o¼Ë rc(8) ·|¥Î dumpon(8) ¨Ó±Ò°Ê crash dump¡A§A¤]¥i¥H¤â°Ê¥Î dumpon(8)¡C¦b panic ¤§«á¡A crash dump ¥i¥H¥Î savecore(8) ¦s°_¨Ó¡F¦pªG /etc/rc.conf ¸Ì¦³³] dumpdev¡A¨º»ò­«·s¶}¾÷«á rc(8) ·|¦Û°Ê°õ¦æ savecore(8) §â crash dump ¦s¦b /var/crash¡C

ª`·N¡GFreeBSD ªº crash dump ³q±`©M¾÷¾¹¸Ìªº¹ê»Ú°O¾ÐÅé¤@¼Ë¤j¡A ´N¹³¦pªG¦³ 64MB °O¾ÐÅé¡Acrash dump ¤j¤p´N¬O 64MB¡C©Ò¥H­n½T©w /var/crash ¤U¦³¨¬°÷ªºªÅ¶¡¡A©Î¬O¥i¥H¤â°Ê°õ¦æ savecore(8) §â crash dump ©ñ¨ì¥t¤@­ÓªÅ¶¡¸û°÷ªº¥Ø¿ý¤U¡C¥t¤@ºØ¤]³\¥i¥H­­¨î crash dump ªº¤èªk¡A¬O¦b kernel ³]©wÀɤ¤¥Î options MAXMEM=(foo)¡A ±N kernel ¥i¥Îªº°O¾ÐÅé­­¨î¦b¦X²zªº¤j¤p¡CÁ|¨Ò¨Ó»¡¡A¦pªG§A¦³ 128MB ªº°O¾ÐÅé¡A¦ý¬O¥i¥H­­¨î kernel ¥u¯à¥Î 16MB ªº°O¾ÐÅé¡A³o¼Ë crash dump ´N¬O 16MB ¦Ó¤£¬O 128MB ¤F¡C

¤@¥¹µo²{¦³¤F crash dump¡A´N¥i¥H¥Î gdb(1) ¨Ó°µ stack trace ¡A¦p¤U©Ò¥Ü¡G

% gdb -k /sys/compile/KERNELCONFIG/kernel.debug /var/crash/vmcore.0
(gdb) where
      



­nª`·N¥i¯à·|¥X²{¦n´X­Ó¿Ã¹õªº¥i¥Î¸ê°T¡A§A¥i¥H¥Î script(1) §â©Ò¦³¿é¥X³£¦s°_¨Ó¡C¥Î¥]¬A©Ò¦³ debug symbol ªº kernel ¨Ó°£¿ù¡A ³o¼ËÀ³¸Ó¥i¥Hª½±µÅã¥Ü panic ¬Oµo¥Í¦b¨º¤@¦æ¡C³q±`¬O¥Ñ¤U©¹¤WŪ stack strace¡A³o¼Ë¤~¯à¤@­Ó­Ó°lÂÜ¥X¦³­þ¨Ç°Ê§@¤Þ¨ì crash¡C¤]¥i¥H¥Î gdb(1) §â¦UºØÅܼƩε²ºcªº¤º®e¦L¥X¨Ó¡A¥HÀˬd¨t²Î crash ®Éªº ¹ê»Úª¬ºA¡C

¦n°Õ¡A¦pªG§A¦³²Ä¤G¥x¹q¸£¦Ó¥B¦³°÷ºÆ¨g¡A¥i¥H±N gdb(1) ³]©w ¦¨»·ºÝ°£¿ù¡C³o¼Ë§A¥i¥H¦b¤@¥x¾÷¾¹¤¤¥Î gdb(1) ¥h°£¿ù¥t¤@¥x¸Ìªº kernel¡A¥i¥H°õ¦æªº¥]¬A³]©w¤¤Â_ÂI¡B¦b kernel ­ì©l½X¤¤¤@¨B¨B°õ¦æµ¥ µ¥¡A´N¹³¦b¤@¯ë¨Ï¥ÎªÌµ{¦¡¤W°£¿ù¤@¼Ë¡C¥Ñ©ó¨S¦³¤°»ò¾÷·|¬°°£¿ù¦Ó³]¸m ¨â¥x¨Ã¾F¹q¸£¡A©Ò¥H§ÚÁÙ¨S¦³³o¼Ëª±¹L¡C

[Bill ªþª`¡G§Ú§Ñ¤F´£¨ì¤@ÂI¡G¦pªG§A¦³±Ò°Ê DDB ¦Ó kernel ¤] ¤w¸g¶i¤J°£¿ù¾¹¡A¥i¥H¦b DDB ©R¥O¦C¤U¥´ `panic'¡A±j­¢²£¥Í panic(ÁÙ ¦³ crash dump)¡C¤]¦³¥i¯à¦b panic ¶¥¬q®É¦A¶i¤J°£¿ù¾¹¡A¦pªG³o¼Ëªº¸Ü ¡A¿é¤J `continue'¡A±µµÛ¥¦´N·|§¹¦¨ crash dump¡C -ed]

13.14. dlsym() ¹ï ELF °õ¦æÀɤ£¯à¥Î!

¦b ELF ¤@¨t¦Cªº¤u¨ã¤¤¡A¤º©w¬O¤£·|Åý dynamic linker ¬Ý¨ì°õ¦æÀÉ ¸Ì©w¸q¤F­þ¨Ç symbol¡C©Ò¥H dlsym() ¨S¦³¿ìªk¥ÎÂǥѩI¥s dlopen(NULL, flags) ¨ú±oªº handle¡A¥Î¥¦¥h·j´M¦³¨º¨Ç symbol ¤@©w·|¥¢±Ñ¡C

¦pªG§A·Q­n¥Î dlsym() §ä¥X¬Y­Ó process ªº¥D°õ¦æÀɤ¤ ¦³­þ¨Ç symbol¡A«h­n¦b link ®É¹ï ELF linker ¥[¤W -export-dynamic ³o­Ó°Ñ¼Æ¡C

13.15. ¼W¥[©Î´î¤Ö kernel ¯à©w§}ªºªÅ¶¡

¨t²Îªº¤º©w¬O¡AFreeBSD 3.x kernel ¯à©w§}¨ì 256 MB¡A4.x «h¬O 1 GB¡C¦pªG¬Oºô¸ô­t²ü¬Û·í­«ªº¦øªA¾¹(´N¹³¤j«¬ FTP ©Î HTTP ¦øªA¾¹)¡A 256 MB ¥i¯à·|¤£¤j°÷¡C

­n«ç»ò¼W¥[©w§}ªÅ¶¡©O? ­n±q¨â¤è­±µÛ¤â¡C­º¥ý§i¶D kernel ¥»¨­­n «O¯d¸û¤jªÅ¶¡; ¨ä¦¸¡A¬JµM¬O¦b©w§}ªÅ¶¡ªº³Ì¤W­±¸ü¤J kernel¡A©Ò¥HÁÙ ­n½Õ§C¸ü¤Jªº¦ì§}¡A§_«h´N·|¶W¹L©w§}½d³ò¡C

¼W¥[ src/sys/i386/include/pmap.h ¸Ìªº NKPDE ­È «K¥i¹F¦¨²Ä¤@­Ó¥Ø¼Ð¡C1 GB ªº©w§}ªÅ¶¡·|¹³³o¼Ë¡G

#ifndef NKPDE
#ifdef SMP
#define NKPDE                   254     /* addressable number of page tables/pde's */
#else
#define NKPDE                   255     /* addressable number of page tables/pde's */
#endif  /* SMP */
#endif
      



­nºâ¥X NKPDE ªº¥¿½T­È¡A±N·Q­nªºªÅ¶¡¤j¤p(¥H megabyte ¬°³æ ¦ì)°£¥H 4¡A±µµÛ³æ CPU ¾÷¾¹´î 1¡AÂù CPU «h¬O´î 2¡C

­n¸Ñ¨M²Ä¤G­Ó°ÝÃD¡A¥²¶·¦Û¦æºâ¥X kernel ³Q¸ü¤Jªº¦ì§}¡G¨D¥X 0x100100000 ´î±¼©w§}ªÅ¶¡¤j¤pªº­È(¥H byte ¬°³æ¦ì)¡A¦p 1 GB ¤j¤p´N ¬O 0xc0100000¡C§â src/sys/i386/conf/Makefile.i386 ¸Ìªº LOAD_ADDRESS ³]¦¨³o­Ó­È¡A±µµÛ¦b src/sys/i386/conf/kernel.script ¤¤¡A±N section ¦Cªí³Ì«e­±ªº location counter ³]¦¨¬Û¦Pªº­È¡A¦p¤U¡G

OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
OUTPUT_ARCH(i386)
ENTRY(btext)
SEARCH_DIR(/usr/lib); SEARCH_DIR(/usr/obj/elf/home/src/tmp/usr/i386-unknown-freebsdelf/lib);
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  . = 0xc0100000 + SIZEOF_HEADERS;
  .interp     : { *(.interp)    }
      



µM«á­«·s config ©M°µ¥X·sªº kernel¡C¦b°õ¦æ¹³ ps(1)¡B top(1) ³oÃþµ{¦¡®É¥i¯à·|¸I¨ì°ÝÃD¡A°µ¤@¦¸ make world À³¸Ó´N¥i¥H¸Ñ¨M(©Î§â§ï¹Lªº pmap.h «þ¨ì /usr/include/vm/ ¤U¡A¦A¤â°Ê½sĶ libkvm¡Bps ©M top)¡C

ª`·N¡Gkernel ©Ò¯à©w§}ªºªÅ¶¡¤j¤p¥²¶·¬O 4 megabytes ªº­¿¼Æ¡C

[David Greenman ¥[¤W ³o¤@¬q¡G§Ú»{¬° kernel ©w§}ªÅ¶¡¤j¤pÀ³¸Ó¬O 2 ªº­¼¾­¡A¦ý¤£¤j½T ©w³o¤@ÂI¡Cªº±Ò°Êµ{¦¡·|°Ê¨ì high order address bits¡A°O±o¥¦°²³] ¦Ü¤Ö¦³ 256 MB¡C]


Chapter 14. ·PÁÂ

      °²¦p±z¦b³o¥÷ FAQ ¤¤§ä¨ì¿ù»~ªº¦a¤è¡A©Î¬O±z·Q¼W¥[¨Ç¬Æ»ò¡A
      ½Ð¼g«Ê«H¨ì <FAQ@FreeBSD.org>¡C§Ú­Ì«D±`·PÁ±zªº«ØÄ³¡A
      ¦]¬°±zªº«ØÄ³Åý³o¥÷¤å¥óÅܱo§ó¦n¡I


                                          FreeBSD Core Team
    



Jordan Hubbard

¤£°±ªº§ó·s¹L®Éªº FAQ

Doug White

¸g±`¦b freebsd-questions ¤W¦^µª°ÝÃD

Joerg Wunsch

¸g±`¦b Usenet ¤W¦^µª°ÝÃD

Garrett Wollman

Networking and formatting

Jim Lowe

Multicast information

Peter da Silva

FreeBSD FAQ ³o¥÷¤å¥óªº¥´¦r­W¤u

The FreeBSD Team

Kvetching¡Amoaning¡Asubmitting data



¹ï©ó¨º¨Ç´¿¸g¹ï³o¥÷ FAQ ´£¨ÑÀ°§U¡A¦Ó§Ú­Ì¨S´£¨ìªº¤H­Ì¡A§Ú­Ì¥Ñ°Jªº·PÁ±z¡I