                Suxne%*s Erwty%sei*s gia to FreeBSD 6.X kai 7.X

  Y Oma%da Tekmyri%wsy*s tou FreeBSD

   Anathew%rysy: 43184

   Pneumatika% Dikaiw%mata (c) 1995-2008 Y Oma%da Tekmyri%wsy*s tou FreeBSD

   Y dianomy% kai xry%sy se morfy% pygai%ou kw%dika (SGML DocBook) y% se
   "metaglwttisme%ny" morfy% (SGML, HTML, PDF, PostScript, RTF kok) me y%
   xwri%*s allage%*s, epitre%petai efo%son oi paraka%tw prov*pothe%sei*s
   tyrou%ntai:

    1. Y dianomy% se morfy% pygai%ou kw%dika (SGML DocBook) pre%pei na
       diatyrei% tyn parapa%nw dy%lwsy pneumatikw%n dikaiwma%twn, auty% ty
       li%sta me prov*pothe%sei*s kai tyn epo%meny para%grafo sti*s prw%te*s
       gramme%*s tou arxei%ou, ameta%blyte*s.

    2. Y dianomy% se metaglwttisme%ne*s morfe%*s (meta%frasy se a%lla DTD,
       metatropy% se PDF, PostScript, RTF y% a%lle*s morfe%*s) pre%pei na
       anapara%gei tyn parapa%nw dy%lwsy pneumatikw%n dikaiwma%twn, auty% ty
       li%sta me prov*pothe%sei*s, kai tyn paraka%tw para%grafo to%so styn
       tekmyri%wsy o%so kai se a%llo uliko% pou pare%xetai mazi% me tyn
       dianomy%.

  Symantiko%:

   AUTY Y TEKMYRIWSY DINETAI APO TYN OMADA TEKMYRIWSYS TOU FREEBSD "WS EXEI"
   KAI DEN PAREXETAI KAMIA AMESY Y EMMESY EGGUYSY, SUMPERILAMBANOMENWN, ALLA
   XWRIS NA PERIORIZETAI MONO SE AUTES, KAI TWN EMMESWN EGGUYSEWN GIA
   EMPOREUSIMOTYTA Y KATALLYLOTYTA GIA OPOIONDYPOTE SUGKEKRIMENO SKOPO. SE
   KAMIA PERIPTWSY DEN EUTHUNETAI Y OMADA TEKMYRIWSYS TOU FREEBSD GIA
   OPOIESDYPOTE AMESES, EMMESES, TUXAIES, EIDIKES, SYMANTIKES, Y KATA
   PERIPTWSY BLABES (SUMPERILAMBANOMENWN, ALLA XWRIS NA PERIORIZETAI MONO SE
   AUTES, KAI TYN ADUNAMIA PROSBASYS SE ENALLAKTIKES PYGES Y UPYRESIES, TYN
   ADUNAMIA XRYSYS, TYN APWLEIA DEDOMENWN Y KERDOUS, KAI TYN DIAKOPY
   EPIXEIRYMATIKWN LEITOURGIWN), POU PROKALOUNTAI ME OPOIODYPOTE TROPO APO TY
   XRYSY AUTYS TYS TEKMYRIWSYS.

   To FreeBSD ei%nai e%na katoxurwme%no emporiko% su%mbolo tou FreeBSD
   Foundation.

   Oi le%cei*s 3Com kai HomeConnect ei%nai katoxurwme%na emporika% su%mbola
   ty*s 3Com Corporation.

   Oi le%cei*s y% fra%sei*s Adobe, Acrobat, Acrobat Reader, kai PostScript
   ei%nai ei%te katoxurwme%na emporika% su%mbola y% emporika% su%mbola ty*s
   Adobe Systems Incorporated sti*s Ynwme%ne*s Politei%e*s y%/kai se a%lle*s
   xw%re*s.

   Y fra%sy Sound Blaster ei%nai emporiko% su%mbolo ty*s Creative Technology
   Ltd. sti*s Ynwme%ne*s Politei%e*s y%/kai se a%lle*s xw%re*s.

   Y le%cy CVSup ei%nai katoxurwme%no emporiko% su%mbolo tou John D. Polstra.

   Oi le%cei*s y% fra%sei*s IBM, AIX, OS/2, PowerPC, PS/2, S/390, kai
   ThinkPad ei%nai emporika% su%mbola ty*s International Business Machines
   Corporation sti*s Ynwme%ne*s Politei%e*s, a%lle*s xw%re*s, y% kai sta du%o
   tauto%xrona.

   Oi le%cei*s IEEE, POSIX, kai 802 ei%nai katoxurwme%na emporika% su%mbola
   tou Institute of Electrical and Electronics Engineers, Inc. sti*s
   Ynwme%ne*s Politei%e*s.

   Oi le%cei*s Intel, Celeron, EtherExpress, i386, i486, Itanium, Pentium,
   kai Xeon ei%nai emporika% su%mbola y% katoxurwme%na emporika% su%mbola
   ty*s Intel Corporation kai twn thugatrikw%n ty*s sti*s Ynwme%ne*s
   Politei%e*s kai se a%lle*s xw%re*s.

   Oi le%cei*s Iomega, Zip, kai Jaz ei%nai ei%te katoxurwme%na emporika%
   su%mbola y% emporika% su%mbola ty*s Iomega Corporation sti*s Ynwme%ne*s
   Politei%e*s y%/kai se a%lle*s xw%re*s.

   To Linux ei%nai e%na katoxurwme%na emporiko% su%mbolo tou Linus Torvalds
   sti*s Ynwme%ne*s Politei%e*s.

   Oi le%cei*s Microsoft, IntelliMouse, MS-DOS, Outlook, Windows, Windows
   Media, kai Windows NT ei%nai ei%te katoxurwme%na emporika% su%mbola y%
   emporika% su%mbola ty*s Microsoft Corporation sti*s Ynwme%ne*s Politei%e*s
   kai/y% se a%lle*s xw%re*s.

   Oi le%cei*s MIPS kai R4000 ei%nai katoxurwme%na emporika% su%mbola ty*s
   MIPS Technologies, Inc. sti*s Ynwme%ne*s Politei%e*s kai se a%lle*s
   xw%re*s.

   Oi le%cei*s Netscape kai Netscape Navigator ei%nai katoxurwme%na emporika%
   su%mbola ty*s Netscape Communications Corporation sti*s Y.P.A kai a%lle*s
   xw%re*s.

   Oi le%cei*s Motif, OSF/1, kai UNIX ei%nai katoxurwme%na emporika% su%mbola
   kai oi le%cei*s y% fra%sei*s IT DialTone kai The Open Group ei%nai
   emporika% su%mbola tou The Open Group sti*s Ynwme%ne*s Politei%e*s kai se
   a%lle*s xw%re*s.

   Y le%cy Oracle ei%nai katoxurwme%no emporiko% su%mbolo ty*s Oracle
   Corporation.

   Oi le%cei*s oi fra%sei*s Silicon Graphics, SGI, kai OpenGL ei%nai
   katoxurwme%na emporika% su%mbola ty*s Silicon Graphics, Inc. sti*s
   Ynwme%ne*s Politei%e*s kai/y% se a%lle*s xw%re*s ston ko%smo.

   Oi le%cei*s y% fra%sei*s SPARC, SPARC64, kai UltraSPARC ei%nai emporika%
   su%mbola ty*s SPARC International, Inc. sti*s Ynwme%ne*s Politei%e*s kai
   se a%lle*s xw%re*s. Y SPARC International Inc. kate%xei o%la ta emporika%
   dikaiw%mata twn sumbo%lwn SPARC kai epitre%pei tyn orthy% xry%sy tou*s
   apo% o%la ta me%ly ty*s, kato%pin sxetiky%*s a%deia*s.

   Oi le%cei*s y% fra%sei*s Sun, Sun Microsystems, Java, Java Virtual
   Machine, JDK, JRE, JSP, JVM, Netra, OpenJDK, Solaris, StarOffice, SunOS
   kai VirtualBox ei%nai emporika% su%mbola y% katoxurwme%na emporika%
   su%mbola ty*s Sun Microsystems, Inc. sti*s Ynwme%ne*s Politei%e*s kai se
   a%lle*s xw%re*s.

   Oi le%cei*s y% fra%sei*s U.S. Robotics kai Sportster ei%nai katoxurwme%na
   emporika% su%mbola ty*s U.S. Robotics Corporation.

   Y le%cy XFree86 ei%nai e%na emporiko% su%mbolo tou The XFree86 Project,
   Inc.

   Polle%*s apo% ti*s le%cei*s y% fra%sei*s oi opoi%e*s xrysimopoiou%ntai
   apo% tou*s kataskeuaste%*s y% tou*s pwlyte%*s tou*s gia na diakri%noun ta
   projo%nta tou*s thewrou%ntai emporika% su%mbola. O%pou aute%*s
   emfani%zontai se auto% to kei%meno kai gia o%se*s apo% aute%*s gnwri%zei y
   Oma%da Ana%ptucy*s tou FreeBSD o%ti ei%nai pithano%n na ei%nai emporika%
   su%mbola, tha dei%te e%na apo% ta su%mbola: <<TM>> y% <<(R)>>.

   Peri%lyqy

   To kei%meno auto% perie%xei ti*s Suxne%*s Erwty%sei*s gia ti*s ekdo%sei*s
   6.X kai 7.X tou FreeBSD. O%le*s oi kataxwry%sei*s thewrei%tai o%ti
   isxu%oun gia tyn e%kdosy 6.X kai ti*s metagene%stere*s ekdo%sei*s, ekto%*s
   an anafe%retai diaforetika%. An endiafe%reste na ma*s boythy%sete se auto%
   to e%rgo, stei%lte e%na email styn ylektroniky% li%sta oma%da*s
   tekmyri%wsy*s tou FreeBSD. Y teleutai%a e%kdosy autou% tou keime%nou
   ei%nai pa%ntote diathe%simy styn diktuaky% topothesi%a tou FreeBSD.
   Mporei%te epi%sy*s na tyn kateba%sete w*s e%na mega%lo arxei%o HTML me%sw
   HTTP y% ako%ma kai w*s aplo% kei%meno, PostScript(R), PDF, klp. apo% ton
   ecupyretyty% FTP tou FreeBSD. Mporei%te ako%ma na qa%cete sti*s Suxne%*s
   Erwty%sei*s.

   [ HTML se tmy%mata / HTML se e%na tmy%ma ]

     ----------------------------------------------------------------------

   Pi%naka*s Periexome%nwn

   1. Eisagwgy%

   2. Tekmyri%wsy kai Uposty%ricy

   3. Egkata%stasy

   4. Sumbato%tyta Ulikou%

                4.1. Genika%

                4.2. Arxitektonike%*s kai Epecergaste%*s

                4.3. Sklyroi% di%skoi, mona%de*s taini%a*s, odygoi% CD kai
                DVD

                4.4. Plyktrolo%gia kai ponti%kia

                4.5. Suskeue%*s seiriaky%*s epikoinwni%a*s kai Diktu%wsy*s

                4.6. Suskeue%*s y%xou

                4.7. A%llo uliko%

   5. Antimetw%pisy Problyma%twn

   6. Emporike%*s Efarmoge%*s

   7. Efarmoge%*s Telikou% Xry%sty

   8. Ru%thmisy Pury%na

   9. Di%skoi, Susty%mata Arxei%wn kai Fortwte%*s Ekki%nysy*s

   10. Diaxei%risy Susty%mato*s

   11. To Su%styma X Windows kai oi Eikonike%*s Konso%le*s

   12. Diktu%wsy

   13. Asfa%leia

   14. PPP

   15. Seiriake%*s Epikoinwni%e*s

   16. Dia%fore*s Erwty%sei*s

   17. Xiou%mor kai FreeBSD

   18. Proxwryme%na THe%mata

   19. Euxaristi%e*s

   Bibliography

   Kata%logo*s Pina%kwn

   3.1. Me%gista mege%thy arxei%wn

   12.1. Network cards based on the DEC PCI chipset

   Kata%logo*s Paradeigma%twn

   11.1. <<InputDevice>> Section for Wheeled Mouse in Xorg configuration file

   11.2. <<.emacs>> example for naive page scrolling with Wheeled Mouse
   (optional)

                             Kefa%laio 1. Eisagwgy%

   Kalw%*s y%lthate sti*s Suxne%*s Erwty%sei*s tou FreeBSD 6.X-7.X!

   O%pw*s sunythi%zetai sta FAQs tou Usenet, to kei%meno auto% e%xei skopo%
   na kalu%qei ti*s pio sunythisme%ne*s erwty%sei*s pou aforou%n to
   leitourgiko% su%styma FreeBSD (kai fusika% na ti*s apanty%sei!). An kai o
   arxiko%*s skopo%*s twn FAQs y%tan y ecoikono%mysy eu%rou*s zw%ny*s tou
   diadiktu%ou apo% tyn epanalambano%meny apa%ntysy twn i%diwn erwty%sewn, ta
   FAQs anagnwri%stykan telika% w*s polu%time*s pyge%*s plyroforiw%n.

   E%xei katablythei% ka%the prospa%theia w%ste auto% to FAQ na perie%xei
   o%so to dunato%n perisso%tere*s plyrofori%e*s. An the%lete na ka%nete
   ka%poie*s upodei%cei*s sxetika% me tro%pou*s belti%wsy*s tou, sa*s
   parakalou%me stei%lte ma*s e%na email sty ylektroniky% li%sta oma%da*s
   tekmyri%wsy*s tou FreeBSD.

   1.1. Ti ei%nai to FreeBSD;

   1.2. Poio*s ei%nai o skopo%*s tou FreeBSD Project;

   1.3. Upa%rxoun ka%poioi periorismoi% styn a%deia tou FreeBSD;

   1.4. Mporei% to FreeBSD na antikatasty%sei to tre%xon leitourgiko% mou
   su%styma;

   1.5. Giati% onoma%zetai FreeBSD;

   1.6. Poie*s ei%nai oi diafore%*s metacu% tou FreeBSD kai tou NetBSD,
   OpenBSD kai twn a%llwn BSD sustyma%twn anoiktou% kw%dika;

   1.7. Poia ei%nai y teleutai%a e%kdosy tou FreeBSD;

   1.8. Ti ei%nai to FreeBSD-CURRENT;

   1.9. Ti ei%nai to FreeBSD-STABLE;

   1.10. Ka%the po%te gi%nontai epi%syme*s kuklofori%e*s tou FreeBSD;

   1.11. Poio*s ei%nai upeu%thuno*s gia to FreeBSD

   1.12. Pou mporw% na promytheutw% to FreeBSD;

   1.13. Pw*s mporw% na e%xw pro%sbasy sty Ba%sy Dedome%nwn me ti*s
   Anafore%*s Problyma%twn;

   1.14. Ti a%lle*s pyge%*s plyroforiw%n upa%rxoun;

   1.1.  Ti ei%nai to FreeBSD;                                                
         En suntomi%a, to FreeBSD ei%nai e%na leitourgiko% su%styma tu%pou    
         UNIX(R) gia ti*s arxitektonike%*s AMD64 kai Intel(R) EM64T, i386TM   
         PC-98, IA-64, ARM(R), PowerPC(R) kai UltraSPARC(R). Basi%zetai styn  
         e%kdosy <<4.4BSD-Lite>> tou Panepistymi%ou tou Berkeley, me          
         ka%poie*s beltiw%sei*s apo% to <<4.4BSD-Lite2>>. Basi%zetai epi%sy*s 
         e%mmesa styn ergasi%a metafora%*s (port) tou <<Net/2>> (epi%sy*s     
         apo% to Berkeley) pou e%gine apo% ton William Jolitz (y opoi%a       
         e%gine gnwsty% me to o%noma <<386BSD>>), an kai den e%xei mei%nei    
         sxedo%n ti%pota apo% ton arxiko% kw%dika tou 386BSD. Plyre%stery     
         perigrafy% gia to ti ei%nai to FreeBSD kai pw*s mporei% na           
         leitourgy%sei gia esa%*s, mporei%te na brei%te styn diktuaky%        
         topothesi%a tou FreeBSD.                                             
                                                                              
         To FreeBSD xrysimopoiei%tai apo% etairi%e*s, paroxei%*s upyresiw%n   
         Internet (ISPs), ereunyte%*s, epaggelmati%e*s ty*s Plyroforiky%*s,   
         foityte%*s kai oikiakou%*s xry%ste*s apo% o%lo ton ko%smo, sty       
         douleia% tou*s, styn ekpai%deusy kai gia anaquxy%.                   
                                                                              
         Gia perisso%tere*s leptome%reie*s sxetika% me to FreeBSD,            
         parakalou%me diaba%ste to Egxeiri%dio tou FreeBSD.                   
   1.2.  Poio*s ei%nai o skopo%*s tou FreeBSD Project;                        
         O skopo%*s tou FreeBSD Project ei%nai na pare%xei logismiko% to      
         opoi%o na mporei% na xrysimopoiythei% gia opoiousdy%pote skopou%*s   
         kai xwri%*s periorismou%*s. Polloi% apo% ema%*s e%xoume ependu%sei   
         symantika% ston kw%dika (kai sto i%dio to e%rgo) kai si%goura den    
         tha ma*s pei%raze kai ka%poia xrymatiky% apozymi%wsy pou kai pou,    
         alla% si%goura den epime%noume se auto%. Pisteu%oume o%ti y prw%ty   
         kai basiko%tery <<apostoly%>> ma*s ei%nai na pare%xoume kw%dika se   
         o%lou*s, gia opoiody%pote pithano% skopo%, e%tsi w%ste o kw%dika*s   
         ma*s na e%xei tyn euru%tery dunaty% xry%sy kai epitugxa%nei to       
         megalu%tero dunato% o%felo*s. Pisteu%oume o%ti auto%*s ei%nai e%na*s 
         apo% tou*s symantiko%terou*s skopou%*s tou Eleu%therou Logismikou%   
         kai ton upostyri%zoume therma%.                                      
                                                                              
         O kw%dika*s, sto de%ntro tou pygai%ou ma*s kw%dika, o opoi%o*s       
         empi%ptei sty a%deia xry%sy*s GNU General Public License (GPL) y%    
         GNU Library General Public License (LGPL) e%xei perisso%terou*s      
         periorismou%*s, alla% autoi% kli%noun, eutuxw%*s, pro*s tyn          
         upoxre%wsy eleu%thery*s pro%sbasy*s anti% gia to anti%theto pou      
         ei%nai kai to ple%on sunythisme%no. Lo%gw ty*s aucyme%ny*s           
         poluploko%tyta*s pou mporei% na proku%qei apo% tyn emporiky% xry%sy  
         logismikou% GPL, prospathou%me genika% na antikatasty%soume auto% to 
         logismiko% me anti%stoixo upo% tyn pio xalary% a%deia FreeBSD, o%pou 
         auto% ei%nai dunato%.                                                
   1.3.  Upa%rxoun ka%poioi periorismoi% styn a%deia tou FreeBSD;             
         Nai. Oi periorismoi% autoi% den ele%gxoun pw*s xrysimopoiei%te ton   
         kw%dika, alla% mo%no pw*s metaxeiri%zeste to i%dio to FreeBSD        
         Project. An sa*s endiafe%rei sobara% y a%deia, diaba%ste tyn edw%.   
         Gia tou*s aplw%*s peri%ergou*s, y a%deia perilyptika% gra%fei:       
                                                                              
           * Myn isxuristhei%te o%ti gra%qate auto% to logismiko%.            
                                                                              
           * My ma*s mynu%sete an xala%sei.                                   
   1.4.  Mporei% to FreeBSD na antikatasty%sei to tre%xon leitourgiko% mou    
         su%styma;                                                            
         Gia tou*s perisso%terou*s anthrw%pou*s, nai. Alla% auty% y apa%ntysy 
         den mporei% na dothei% to%so cera%.                                  
                                                                              
         Oi perisso%teroi a%nthrwpoi den xrysimopoiou%n styn pragmatiko%tyta  
         ka%poio leitourgiko% su%styma. Xrysimopoiou%n efarmoge%*s. Oi        
         efarmoge%*s ei%nai aute%*s pou xrysimopoiou%n to leitourgiko%        
         su%styma. To FreeBSD ei%nai sxediasme%no gia na pare%xei e%na        
         stibaro% kai oloklyrwme%no periba%llon gia efarmoge%*s. Upostyri%zei 
         mega%ly poikili%a apo% fullometryte%*s, soui%te*s grafei%ou,         
         progra%mmata ylektronikou% taxudromei%ou, progra%mmata grafikw%n,    
         periba%llonta programmatismou%, ecupyretyte%*s diktu%ou, kai         
         ousiastika% otidy%pote a%llo mporei% na thely%sete. Mporei%te na     
         diaxeiristei%te ti*s perisso%tere*s apo% aute%*s ti*s efarmoge%*s    
         me%sw ty*s Sullogy%*s twn Ports.                                     
                                                                              
         An xreia%zetai na xrysimopoiy%sete mia efarmogy% pou ei%nai          
         diathe%simy se e%na mo%no leitourgiko% su%styma, to%te apla% den     
         mporei%te na antikatasty%sete auto% to leitourgiko% su%styma.        
         Ei%nai, o%mw*s, polu% pithano% o%ti tha brei%te mia anti%stoixy      
         efarmogy% sto FreeBSD. An the%lete e%nan stathero% ecupyretyty% gia  
         to grafei%o sa*s y% gia to Internet, e%na acio%pisto stathmo%        
         ergasi%a*s, y% aplw%*s tyn ikano%tyta na ka%nete tyn ergasi%a sa*s   
         xwri%*s diakope%*s, ei%nai sxedo%n si%gouro o%ti to FreeBSD mporei%  
         na ka%nei o%ti xreia%zeste. Polloi% xry%ste*s upologistw%n se o%lo   
         ton ko%smo - to%so arxa%rioi o%so kai e%mpeiroi diaxeiriste%*s       
         sustyma%twn UNIX(R) - xrysimopoiou%n to FreeBSD w*s to basiko%       
         leitourgiko% su%styma stou*s stathmou%*s ergasi%a*s tou*s.           
                                                                              
         An e%rxeste sto FreeBSD apo% ka%poio a%llo periba%llon tu%pou        
         UNIX(R), ce%rete y%dy ta perisso%tera apo% auta% pou xreia%zeste. An 
         wsto%so y empeiri%a sa*s proe%rxetai apo% leitourgika% susty%mata me 
         grafiko% periba%llon, o%pw*s ta Windows(R) kai oi palio%tere*s       
         ekdo%sei*s tou Mac OS(R), tha pre%pei na ependu%sete, o%pw*s ei%nai  
         anameno%meno, epiple%on xro%no gia na ecoikeiwthei%te me ton tro%po  
         ergasi%a*s se e%na su%styma UNIX(R). Auto% to FAQ, kathw%*s kai to   
         Egxeiri%dio tou FreeBSD apotelou%n ecairetika% anagnw%smata gia na   
         cekiny%sete.                                                         
   1.5.  Giati% onoma%zetai FreeBSD;                                          
           * Mporei% na xrysimopoiythei% xwri%*s xre%wsy, ako%ma kai gia      
             emporikou%*s skopou%*s.                                          
                                                                              
           * Diati%thetai o ply%ry*s pygai%o*s kw%dika*s gia to leitourgiko%  
             su%styma, kai me tou*s ela%xistou*s dunatou%*s periorismou%*s    
             sxetika% me ty xry%sy tou, ty dianomy% tou kai tyn enswma%twsy   
             tou se a%lla e%rga (emporika% y% my).                            
                                                                              
           * Opoiosdy%pote e%xei na protei%nei mia belti%wsy y% dio%rthwsy,   
             ei%nai eleu%thero*s na upoba%llei ton kw%dika tou, o opoi%o*s    
             kai tha prostethei% sto de%ntro pygai%ou kw%dika (arkei% na      
             plyrou%ntai mia-duo basike%*s profanei%*s prov*pothe%sei*s).     
                                                                              
         Aci%zei na anafe%roume o%ti y le%cy <<eleu%thero>> xrysimopoiei%tai  
         edw% me du%o tro%pou*s, o e%na*s symai%nei <<dwrea%n>>, kai o        
         a%llo*s symai%nei <<mporei%te na to ka%nete o%ti the%lete>>. Ekto%*s 
         apo% e%na-du%o pra%gmata pou den mporei%te na ka%nete me ton kw%dika 
         tou FreeBSD, gia para%deigma na isxuristhei%te o%ti ton gra%qate,    
         mporei%te sta aly%theia na ton ka%nete o%ti the%lete.                
   1.6.  Poie*s ei%nai oi diafore%*s metacu% tou FreeBSD kai tou NetBSD,      
         OpenBSD kai twn a%llwn BSD sustyma%twn anoiktou% kw%dika;            
         O James Howard e%xei gra%qei mia kaly% ecy%gysy ty*s istori%a*s kai  
         twn diaforw%n metacu% twn dia%forwn e%rgwn gia to DaemonNews, sto    
         a%rthro Y Oikoge%neia Leitourgikw%n BSD.                             
   1.7.  Poia ei%nai y teleutai%a e%kdosy tou FreeBSD;                        
         Auty% ty stigmy% upa%rxoun du%o para%llyloi kla%doi styn ana%ptucy   
         tou FreeBSD. Oi epi%syme*s ekdo%sei*s tou FreeBSD para%gontai        
         tauto%xrona kai apo% tou*s du%o autou%*s kla%dou*s. Y seira% twn     
         ekdo%sewn 6.X dymiourgei%tai apo% ton kla%do 6-STABLE kai y seira%   
         ekdo%sewn 7.X dymiourgei%tai apo% ton kla%do 7-STABLE.               
                                                                              
         Me%xri kai tyn e%kdosy 7.0, y seira% ekdo%sewn 6.X y%tan gnwsty% w*s 
         -STABLE. Wsto%so apo% tyn 7.0 kai meta%, y seira% 6.X thewrei%tai    
         o%ti eisa%getai sty fa%sy ty*s <<ektetame%ny*s uposty%ricy*s>> kai   
         tha lamba%nei mo%no diorthw%sei*s gia sobara% probly%mata, o%pw*s    
         p.x. auta% pou anafe%rontai se kena% asfalei%a*s. THa upa%rcoun      
         perisso%tere*s ekdo%sei*s apo% ty seira% 6-STABLE, alla% auty%       
         thewrei%tai ple%on <<ceperasme%ny>> (legacy) kai oi pio pro%sfate*s  
         beltiw%sei*s tha enswmatwthou%n mo%no ston kla%do 7-STABLE.          
                                                                              
         Version 11.1 is the latest release from the 7-STABLE branch; it was  
         released in Ianoua%rio*s 2007. Version 10.4 is the latest release    
         from the 6-STABLE branch; it was released in Ma%io*s 2006.           
                                                                              
         Y e%kdosy 11.1 ei%nai y ple%on teleutai%a ty*s seira%*s 7-STABLE kai 
         dymiourgy%thyke sti*s Ianoua%rio*s 2007. Y e%kdosy 10.4 ei%nai y     
         ple%on teleutai%a ty*s seira%*s 6-STABLE kai dymiourgy%thyke sti*s   
         Ma%io*s 2006.                                                        
                                                                              
         En suntomi%a, y seira% -STABLE proori%zetai gia tou*s ISPs, tou*s    
         etairikou%*s xry%ste*s kathw%*s kai opoiody%pote xry%sty the%lei     
         stathero%tyta kai mikro% arithmo% allagw%n se sxe%sy me ta ne%a (kai 
         pithano%n astathy%) xaraktyristika% pou emfani%zontai sty seira%     
         -CURRENT. Ekdo%sei*s mporei% na gi%nontai apo% opoiody%pote kla%do,  
         alla% y e%kdosy -CURRENT tha pre%pei na xrysimopoiei%tai mo%no an    
         ei%ste proetoimasme%noi na xeiristei%te ta endexome%nw*s pio         
         astathy% xaraktyristika% ty*s (se sxe%sy pa%nta me tyn anti%stoixy   
         -STABLE).                                                            
                                                                              
         Ne%e*s ekdo%sei*s emfani%zontai ka%the merikou%*s my%ne*s. An kai    
         polloi% epile%goun na diatyrou%ntai enymerwme%noi kai pio suxna%     
         me%sw tou pygai%ou kw%dika tou FreeBSD (dei%te ti*s erwty%sei*s sto  
         FreeBSD-CURRENT kai FreeBSD-STABLE), oi ekdo%sei*s ei%nai ka%ti      
         parapa%nw apo% upoxre%wsy, kathw%*s o pygai%o*s kw%dika*s ei%nai     
         perisso%tero e%na*s kinou%meno*s sto%xo*s.                           
                                                                              
         Perisso%tere*s plyrofori%e*s gia ti*s ekdo%sei*s tou FreeBSD         
         mporei%te na brei%te sty Seli%da Proetoimasi%a*s Ekdo%sewn styn      
         diktuaky% topothesi%a tou FreeBSD.                                   
   1.8.  Ti ei%nai to FreeBSD-CURRENT;                                        
         To FreeBSD-CURRENT ei%nai y upo% ece%licy e%kdosy tou leitourgikou%  
         susty%mato*s, to opoi%o me ton kairo% tha ecelixthei% sto ne%o       
         kla%do FreeBSD-STABLE. Gia to lo%go auto%, parousia%zei suny%thw*s   
         endiafe%ron mo%no se o%sou*s asxolou%ntai me tyn ana%ptucy kw%dika   
         tou susty%mato*s kai se sklyropurynikou%*s xompi%ste*s. Dei%te to    
         sxetiko% tmy%ma sto egxeiri%dio gia leptome%reie*s sxetika% me to    
         -CURRENT.                                                            
                                                                              
         An den ei%ste ecoikeiwme%no*s me to leitourgiko% su%styma, y% den    
         ei%ste ikano%*s na anagnwri%sete ty diafora% metacu% eno%*s          
         pragmatikou% kai eno%*s proswrinou% probly%mato*s, ma%llon den tha   
         pre%pei na xrysimopoiy%sete to FreeBSD-CURRENT. O kla%do*s auto%*s   
         orisme%ne*s fore%*s eceli%ssetai polu% gry%gora, kai mporei% ako%ma  
         kai y metaglw%ttisy tou na myn ei%nai dunaty% gia arkete%*s          
         sunexo%mene*s me%re*s. O%soi xrysimopoiou%n to FreeBSD-CURRENT       
         aname%netai na ei%nai ikanoi% na analu%oun ta o%poia probly%mata kai 
         na ta anafe%roun mo%no an thewrou%n o%ti pro%keitai gia symantika%   
         la%thy kai o%xi gia <<mikroprobly%mata>>. Erwty%sei*s tou tu%pou     
         <<to make world para%gei ka%poia sfa%lmata sxetika% me ta groups>>   
         sty li%sta taxudromei%ou -CURRENT, mporei% na antimetwpistou%n       
         perifronytika%.                                                      
                                                                              
         Ka%the my%na, para%gontai stigmio%tupa ekdo%sewn pou basi%zontai     
         styn tre%xousa kata%stasy twn kla%dwn -CURRENT kai -STABLE. Oi       
         sto%xoi pi%sw apo% ka%the e%kdosy stigmio%tupou ei%nai:              
                                                                              
           * O e%legxo*s ty*s teleutai%a*s e%kdosy*s tou logismikou%          
             egkata%stasy*s.                                                  
                                                                              
           * Na dw%sei ty dunato%tyta eu%koly*s egkata%stasy*s se o%sou*s     
             epithumou%n na egkatasty%soun to -CURRENT y% to -STABLE alla%    
             den e%xoun to xro%no y% to eu%ro*s zw%ny*s na to parakolouthou%n 
             me%ra me ty me%ra.                                               
                                                                              
           * Y diaty%rysy eno%*s statherou% symei%ou anafora%*s sxetika% me   
             ton pygai%o kw%dika, se peri%ptwsy pou xala%soume ka%ti polu%    
             a%sxyma argo%tera. (An kai lo%gw ty*s xry%sy*s tou CVS ei%nai    
             du%skolo na sumbei% ka%ti pragmatika% to%so frikto%.)            
                                                                              
           * Na ecasfalistei% o%ti ka%the ne%o xaraktyristiko% kai dio%rthwsy 
             pou xreia%zetai e%legxo, tha e%xei to megalu%tero dunato% koino% 
             pithanw%n dokimastw%n.                                           
                                                                              
         Den pare%xetai kami%a eggu%ysy <<teliky%*s poio%tyta*s>> gia ta      
         stigmio%tupa tou kla%dou -CURRENT. An xreia%zeste e%na stathero% kai 
         dokimasme%no su%styma, tha pre%pei na protima%te ti*s epi%syme*s     
         ply%rei*s ekdo%sei*s y% ta stigmio%tupa tou kla%dou -STABLE.         
                                                                              
         Perisso%tere*s plyrofori%e*s gia ta stigmio%tupa mporei%te na        
         brei%te sty seli%da stigmio%tupwn ekdo%sewn.                         
                                                                              
         Epi%syma stigmio%tupa ekdo%sewn para%gontai mia fora% to my%na gia   
         o%lou*s tou*s energou%*s kla%dou*s ana%ptucy*s. Ymery%sia            
         stigmio%tupa gia ti*s pio dymofilei%*s arxitektonike%*s (i386 kai    
         amd64) mporei%te na brei%te sty seli%da                              
         http://snapshots.us.freebsd.org/.                                    
   1.9.  Ti ei%nai to FreeBSD-STABLE;                                         
         O%tan kuklofo%ryse to FreeBSD 2.0.5, y ana%ptucy tou FreeBSD         
         xwri%styke se du%o kla%dou*s. O e%na*s kla%do*s onoma%styke -STABLE, 
         kai o a%llo*s -CURRENT. To FreeBSD-STABLE apeuthu%netai se           
         Paroxei%*s Upyresiw%n Internet (ISPs) kai a%lle*s emporike%*s        
         xry%sei*s, o%pou oi apo%tome*s allage%*s kai ta tuxo%n peiramatika%  
         xaraktyristika% ei%nai genika% anepithu%myta. Ston kla%do auto%      
         enswmatw%nontai mo%no kala% dokimasme%ne*s diorthw%sei*s kai a%lle*s 
         mikre%*s allage%*s. Apo% tyn a%lly meria%, to FreeBSD-CURRENT        
         bri%sketai se mia monadiky% adia%kopy grammy% ana%ptucy*s apo% tyn   
         epoxy% ty*s kuklofori%a*s ty*s e%kdosy*s 2.0, odygw%nta*s pro*s tyn  
         e%kdosy 11.1-RELEASE alla% kai meta% apo% auty%. Gia perisso%tere*s  
         plyrofori%e*s dei%te to a%rthro <<Proetoimasi%a Ekdo%sewn tou        
         FreeBSD: Dymiourgi%a tou Kla%dou E%kdosy*s>>.                        
                                                                              
         O kla%do*s 2.2-STABLE egkatalei%fthyke me tyn kuklofori%a ty*s       
         e%kdosy*s 2.2.8. O kla%do*s 3-STABLE telei%wse me tyn kuklofori%a    
         ty*s e%kdosy*s 3.5.1, pou y%tan kai y teleutai%a ty*s seira%*s       
         ekdo%sewn 3.X. O kla%do*s 4-STABLE telei%wse me tyn kuklofori%a ty*s 
         e%kdosy*s 4.11, ty*s teleutai%a*s ty*s seira%*s 4.X. Oi mo%ne*s      
         allage%*s pou gi%nontai kata% ba%sy se ka%the e%na apo% autou%*s     
         tou*s kla%dou*s, e%xoun sxe%sy me diorthw%sei*s se kena%             
         asfalei%a*s. Y uposty%ricy twn kla%dwn 5-STABLE stama%tyse me tyn    
         e%kdosy 5.5, tyn teleutai%a e%kdosy ty*s seira%*s 5.X. Y uposty%ricy 
         gia ty seira% ekdo%sewn 6-STABLE tha sunexistei% gia li%go kairo%    
         ako%ma, alla% tha epikentrwthei% perisso%tero se diorthw%sei*s       
         kenw%n asfalei%a*s kai a%llwn sobarw%n problyma%twn.                 
                                                                              
         O kla%do*s 11.1-STABLE ei%nai o -STABLE kla%do*s pou bri%sketai upo% 
         energy% ana%ptucy. Y teleutai%a kuklofori%a pou basi%zetai ston      
         kla%do 11.1-STABLE ei%nai y 11.1-RELEASE, kai e%gine sti*s           
         Ianoua%rio*s 2007.                                                   
                                                                              
         O kla%do*s 8-CURRENT ei%nai o kla%do*s -CURRENT pou anaptu%ssetai    
         auty% ty stigmy% energa% w%ste na dymiourgythei% y ne%a genia% tou   
         FreeBSD. Dei%te to tmy%ma Ti ei%nai to FreeBSD-CURRENT; gia          
         perisso%tere*s plyrofori%e*s sxetika% me auto% ton kla%do.           
   1.10. Ka%the po%te gi%nontai epi%syme*s kuklofori%e*s tou FreeBSD;         
         H Oma%da Orga%nwsy*s twn Ekdo%sewn <re@FreeBSD.org> di%nei styn      
         kuklofori%a mia kainou%ria e%kdosy tou FreeBSD ka%the peri%pou       
         te%sseri*s my%ne*s, kata% me%so o%ro. Oi ymeromyni%e*s kuklofori%a*s 
         anakoinw%nontai arketo% kairo% prin, w%ste o%soi douleu%oun pa%nw    
         sto su%styma na ce%roun po%te oi ergasi%e*s tou*s pre%pei na e%xoun  
         oloklyrwthei% kai dokimastei%. Prin apo% ka%the kuklofori%a,         
         proygei%tai mia peri%odo*s dokimw%n, w%ste na ecasfalistei% o%ti y   
         prosthy%ky ne%wn xaraktyristikw%n den e%xei arnytike%*s epiptw%sei*s 
         sty stathero%tyta ty*s e%kdosy*s. Polloi% xry%ste*s thewrou%n auto%  
         to ei%do*s ty*s prosoxy%*s e%na apo% ta kalu%tera pra%gmata sxetika% 
         me to FreeBSD, an kai y anamony% w*s o%tou fta%soun o%la ta wrai%a   
         ne%a xaraktyristika% to -STABLE mporei% na gi%nei li%go              
         ekneuristiky%.                                                       
                                                                              
         Perisso%tere*s plyrofori%e*s sxetika% me ty diadikasi%a              
         kuklofori%a*s (perilambanome%nou kai eno%*s xronodiagra%mmato*s      
         epikei%menwn kukloforiw%n) mporou%n na brethou%n sti*s seli%de*s     
         proetoimasi%a*s ekdo%sewn sty diktuaky% topothesi%a tou FreeBSD.     
                                                                              
         Gia tou*s pio enthousiw%dei*s, upa%rxoun kathymerina% stigmio%tupa   
         (binary snapshots) o%pw*s anafe%rthyke pio pa%nw.                    
   1.11. Poio*s ei%nai upeu%thuno*s gia to FreeBSD                            
         Oi basike%*s apofa%sei*s pou aforou%n to FreeBSD Project, o%pw*s y   
         sunoliky% kateu%thunsy tou e%rgou kai poio*s epitre%petai na         
         prosthe%sei pygai%o kw%dika sto de%ntro, pai%rnontai apo% tyn        
         basiky% oma%da (core team) pou apotelei%tai apo% 9 a%toma. Upa%rxei  
         mia ako%ma megalu%tery oma%da me perisso%tera apo% 350 a%toma pou    
         onoma%zontai diapra%kte*s (committers) kai oi opoi%oi e%xoun tyn     
         e%gkrisy na ka%noun apeuthei%a*s allage%*s sto de%ntro pygai%ou      
         kw%dika tou FreeBSD.                                                 
                                                                              
         Wsto%so oi perisso%tere*s symantike%*s allage%*s suzytou%ntai apo%   
         prin sti*s li%ste*s ylektronikou% taxudromei%ou, kai den upa%rxoun   
         periorismoi% sxetika% me to poioi lamba%noun me%ro*s se aute%*s ti*s 
         suzyty%sei*s.                                                        
   1.12. Pou mporw% na promytheutw% to FreeBSD;                               
         Ka%the symantiky% e%kdosy tou FreeBSD ei%nai diathe%simy me%sw       
         anw%numou FTP apo% ton diakomisty% FTP tou FreeBSD:                  
                                                                              
           * Y teleutai%a kuklofori%a pou basi%zetai sto 6-STABLE,            
             11.1-RELEASE mporei% na brethei% ston kata%logo 11.1-RELEASE.    
                                                                              
           * Ekdo%sei*s pou basi%zontai seStigmio%tupa gi%nontai kathymerina% 
             apo% tou*s kla%dou*s -CURRENT kai -STABLE, kai ecupyretou%n      
             kata% ba%sy o%sou*s asxolou%ntai me tyn ana%ptucy kai ton        
             e%legxo twn teleutai%a*s genia%*s programma%twn.                 
                                                                              
           * Y teleutai%a kuklofori%a pou basi%zetai ston kla%do 5-STABLE, y  
             10.4-RELEASE, mporei% na brethei% ston kata%logo 10.4-RELEASE.   
                                                                              
         Plyrofori%e*s sxetika% me ty dia%thesy tou FreeBSD se CD, DVD kai    
         a%lla me%sa mporou%n na brethou%n sto Egxeiri%dio.                   
   1.13. Pw*s mporw% na e%xw pro%sbasy sty Ba%sy Dedome%nwn me ti*s           
         Anafore%*s Problyma%twn;                                             
         Mporei%te na ka%nete anazyty%sei*s sty ba%sy dedome%nwn me ti*s      
         anafore%*s problyma%twn me%sw ty*s diepafy%*s anazyty%sewn sto Web.  
                                                                              
         Y entoly% send-pr(1) mporei% na xrysimopoiythei% gia tyn upoboly%    
         anaforw%n problyma%twn, kathw%*s kai aity%sewn gia allage%*s, me%sw  
         ylektronikou% taxudromei%ou. Enallaktika%, mporei%te na              
         xrysimopoiy%sete tyn anti%stoixy dunato%tyta upoboly%*s anaforw%n    
         problyma%twn me%sw ty*s diepafy%*s web me ty boy%theia eno%*s        
         progra%mmato*s fullometryty%.                                        
                                                                              
         Prin upoba%lete mia anafora% probly%mato*s, parakalou%me diaba%ste   
         to Gra%fonta*s Anafore%*s Problyma%twn gia to FreeBSD, e%na a%rthro  
         gia to pw*s na gra%fete kale%*s anafore%*s problyma%twn.             
   1.14. Ti a%lle*s pyge%*s plyroforiw%n upa%rxoun;                           
         Parakalou%me ele%gcte ty li%sta ty*s Tekmyri%wsy*s styn ku%ria       
         diktuaky% topothesi%a tou FreeBSD.                                   

                    Kefa%laio 2. Tekmyri%wsy kai Uposty%ricy

   2.1. Poia kala% bibli%a upa%rxoun sxetika% me to FreeBSD;

   2.2. Ei%nai diathe%simy y tekmyri%wsy kai se a%lle*s morfe%*s, o%pw*s
   aplo% kei%meno (ASCII) y% PostScript(R);

   2.3. Pou mporw% na brw plyrofori%e*s gia li%ste*s ylektronikou%
   taxudromei%ou tou FreeBSD;

   2.4. Ti oma%de*s suzy%tysy*s ei%nai diathe%sime*s gia to FreeBSD;

   2.5. Upa%rxoun kana%lia sto IRC (Internet Relay Chat) gia to FreeBSD;

   2.6. Pou mporw% na brw epi% plyrwmy% uposty%ricy kai ekpai%deusy gia to
   FreeBSD;

2.1. Poia kala% bibli%a upa%rxoun sxetika% me to FreeBSD;                                            
     To Project para%gei mia mega%ly gka%ma tekmyri%wsy*s pou diati%thetai online apo% ton paraka%tw 
     su%ndesmo: http://www.FreeBSD.org/docs.html. Ta i%dia auta% e%ggrafa ei%nai diathe%sima kai w*s 
     pake%ta ta opoi%a mporei%te na egkatasty%sete eu%kola sto FreeBSD su%styma sa*s. Perisso%tere*s 
     leptome%reie*s sxetika% me ta pake%ta tekmyri%wsy*s, tha brei%te sti*s ako%louthe*s             
     paragra%fou*s.                                                                                  
                                                                                                     
     Epipro%stheta, tha brei%te kai a%lla sunistw%mena bibli%a styn Bibliografi%a sto te%lo*s autou% 
     tou FAQ, kai tou Egxeiridi%ou.                                                                  
2.2. Ei%nai diathe%simy y tekmyri%wsy kai se a%lle*s morfe%*s, o%pw*s aplo% kei%meno (ASCII) y%      
     PostScript(R);                                                                                  
     Nai. Y tekmyri%wsy ei%nai diathe%simy se ply%tho*s diaforetikw%n morfw%n kai tro%pwn            
     sumpi%esy*s, sto diakomisty% FTP tou FreeBSD, ston kata%logo /pub/FreeBSD/doc/.                 
                                                                                                     
     Y tekmyri%wsy ei%nai katygoriopoiyme%ny me dia%forou*s tro%pou*s. Autoi% perilamba%noun:        
                                                                                                     
       * To o%noma tou eggra%fou, o%pw*s p.x. faq, y% handbook.                                      
                                                                                                     
       * H glw%ssa kai y kwdikopoi%ysy tou keime%nou. Auta% basi%zontai sta ono%mata pou e%xoun      
         dothei% sti*s topike%*s ruthmi%sei*s kai pou mporei%te na brei%te ston kata%logo            
         /usr/share/locale sto FreeBSD su%styma% sa*s. Oi tre%xouse*s glw%sse*s kai kwdikopoiy%sei*s 
         pou e%xoume diathe%sime*s auty% ty stigmy% styn tekmyri%wsy ei%nai oi paraka%tw:            
                                                                                                     
                     O%noma                                      Ermynei%a                           
         en_US.ISO8859-1                Agglika% YPA                                                 
         bn_BD.ISO10646-1               Bengali (y% Bangla)                                          
         da_DK.ISO8859-1                Dane%zika                                                    
         de_DE.ISO8859-1                Germanika%                                                   
         es_ES.ISO8859-1                Ispanika%                                                    
         fr_FR.ISO8859-1                Gallika%                                                     
         hu_HU.ISO8859-2                Ouggare%zika                                                 
         it_IT.ISO8859-15               Italika%                                                     
         ja_JP.eucJP                    Giapwne%zika (kwdikopoi%ysy EUC)                             
         mn_MN.UTF-8                    Moggolika% (kwdikopoi%ysy UTF-8)                             
         nl_NL.ISO8859-1                Ollandika%                                                   
         pl_PL.ISO8859-2                Polwnika%                                                    
         pt_BR.ISO8859-1                Portogalika% (Brazili%a)                                     
         ru_RU.KOI8-R                   Rw%sika (kwdikopoi%ysy KOI8-R)                               
         sr_YU.ISO8859-2                Se%rbika                                                     
         tr_TR.ISO8859-9                Tou%rkika                                                    
         zh_CN.GB2312                   Aplopoiyme%na Kine%zika (kwdikopoi%ysy GB2312)               
         zh_TW.Big5                     Paradosiaka% Kine%zika (kwdikopoi%ysy Big5)                  
                                                                                                     
       Symei%wsy:                                                                                    
                                                                                                     
         Ka%poia e%ggrafa mporei% na myn ei%nai diathe%sima se o%le*s ti*s glw%sse*s.                
                                                                                                     
       * Ty morfy% tou eggra%fou. Para%goume tekmyri%wsy se ply%tho*s diaforetikw%n morfw%n eco%dou. 
         Ka%the morfy% e%xei ta dika% ty*s pleonekty%mata kai meionekty%mata. Ka%poie*s morfe%*s     
         ei%nai perisso%tero kata%llyle*s gia ana%gnwsy online, enw% a%lle*s di%noun pio             
         kalai%sthyto apote%lesma o%tan ektupwthou%n. Y dia%thesy ty*s tekmyri%wsy*s se o%le*s       
         aute%*s ti*s morfe%*s ecasfali%zei o%ti oi anagnw%ste*s ma*s tha mporou%n na diaba%soun ta  
         tmy%mata pou tou*s endiafe%roun, ei%te styn otho%ny tou*s, ei%te afou% ta ektupw%soun. Oi   
         diathe%sime*s auty% ty stigmy% morfe%*s ei%nai:                                             
                                                                                                     
                Morfy%                                       Ermynei%a                               
         html-split            Sullogy% mikrw%n, sundeme%nwn metacu% tou*s, arxei%wn HTML.           
         html                  E%na mega%lo HTML arxei%o pou perie%xei olo%klyro to e%ggrafo.        
         pdb                   Morfy% ba%sy*s dedome%nwn gia to Palm Pilot, gia xry%sy me to         
                               pro%gramma ana%gnwsy*s iSilo.                                         
         pdf                   Morfy% keime%nou PDF ty*s Adobe.                                      
         ps                    PostScript(R)                                                         
         rtf                   Morfy% Emploutisme%nou Keime%nou ty*s Microsoft [a]                   
         txt                   Aplo% kei%meno                                                        
         [a] Oi arithmoi% seli%dwn den ananew%nontai auto%mata o%tan fortw%nete auty% ty morfy%      
         eggra%fou sto Word. Pie%ste CTRL+A, CTRL+END, F9 meta% ty fo%rtwsy tou keime%nou gia tyn    
         anane%wsy twn arithmw%n seli%dwn.                                                           
                                                                                                     
       * O tro%po*s sumpi%esy*s kai paketari%smato*s. Upa%rxoun trei*s tro%poi pou xrysimopoiou%ntai 
         auty% ty stigmy%.                                                                           
                                                                                                     
           1. O%tan y morfy% ei%nai html-split, ta arxei%a sumpie%zontai me xry%sy ty*s tar(1). To   
              arxei%o .tar pou proku%ptei, sumpie%zetai e%peita me tou*s tro%pou*s sumpi%esy*s pou   
              perigra%fontai paraka%tw.                                                              
                                                                                                     
           2. O%le*s oi a%lle*s morfe%*s dymiourgou%n e%na arxei%o pou onoma%zetai book.morfy%       
              (p.x., book.pdb, book.html, k.o.k.).                                                   
                                                                                                     
              Ta arxei%a auta% sumpie%zontai kato%pin me du%o tro%pou*s sumpi%esy*s.                 
                                                                                                     
              Tro%po*s                                  Perigrafy%                                   
              zip      Morfy% sumpi%esy*s Zip. An the%lete na to aposumpie%sete sto FreeBSD tha      
                       pre%pei na egkatasty%sete prw%ta to port archivers/unzip.                     
                       Y morfy% BZip2. Ei%nai ligo%tero diadedome%ny apo% to Zip, alla% genika%      
              bz2      dymiourgei% mikro%tera arxei%a. Egkatasty%ste to port archivers/bzip2 gia na  
                       aposumpie%sete arxei%a autou% tou tu%pou.                                     
                                                                                                     
              Me ton tro%po auto%, y morfy% PostScript(R) tou Egxeiridi%ou, sumpiesme%ny me xry%sy   
              tou BZip2 tha apothykeutei% se e%na arxei%o me o%noma book.ps.bz2 ston kata%logo       
              handbook/.                                                                             
                                                                                                     
     Afou% epile%cete ty morfy% kai to myxanismo% sumpi%esy*s pou epithumei%te na kateba%sete, tha   
     pre%pei e%peita na apofasi%sete an the%lete y% o%xi na kateba%sete to e%ggrafo me ty morfy%     
     pake%tou tou FreeBSD.                                                                           
                                                                                                     
     To pleone%ktyma sto na kateba%sete kai na egkatasty%sete to pake%to ei%nai o%ti e%peita         
     mporei%te na diaxeiristei%te tyn tekmyri%wsy xrysimopoiw%nta*s ta sunythisme%na ergalei%a       
     diaxei%risy*s pake%twn tou FreeBSD o%pw*s tyn pkg_add(1) kai tyn pkg_delete(1).                 
                                                                                                     
     An apofasi%sete na kateba%sete kai na egkatasty%sete tyn tekmyri%wsy w*s pake%to, tha pre%pei   
     na ce%rete to akribe%*s o%noma arxei%ou pou tha kateba%sete. Ta arxei%a                         
     tekmyri%wsy*s-w*s-pake%to apothykeu%ontai se e%na kata%logo me to o%noma packages. Ka%the       
     pake%to moia%zei me o%noma-keime%nou.glw%ssa.kwdikopoi%ysy.morfy%.tgz.                          
                                                                                                     
     Gia para%deigma, to FAQ, sta Agglika%, se morfy% PDF, ei%nai sto pake%to me o%noma              
     faq.en_US.ISO8859-1.pdf.tgz.                                                                    
                                                                                                     
     An to ce%rete auto% mporei%te na xrysimopoiy%sete tyn ako%louthy entoly% gia na egkatasty%sete  
     to pake%to tou Agglikou% PDF FAQ:                                                               
                                                                                                     
     # pkg_add ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/packages/faq.en_US.ISO8859-1.pdf.tgz            
                                                                                                     
     Afou% to ka%nete auto%, mporei%te na xrysimopoiy%sete tyn entoly% pkg_info(1) gia na brei%te    
     pou e%xei egkatastathei% to arxei%o.                                                            
                                                                                                     
     # pkg_info -f faq.en_US.ISO8859-1.pdf                                                           
     Information for faq.en_US.ISO8859-1.pdf:                                                        
                                                                                                     
     Packing list:                                                                                   
             Package name: faq.en_US.ISO8859-1.pdf                                                   
             CWD to /usr/share/doc/en_US.ISO8859-1/books/faq                                         
     File: book.pdf                                                                                  
             CWD to .                                                                                
     File: +COMMENT (ignored)                                                                        
     File: +DESC (ignored)                                                                           
                                                                                                     
     O%pw*s mporei%te na dei%te, to book.pdf tha e%xei egkatastathei% ston kata%logo                 
     /usr/share/doc/en_US.ISO8859-1/books/faq.                                                       
                                                                                                     
     An den the%lete na xrysimopoiy%sete ta pake%ta, tha pre%pei na kateba%sete mo%noi sa*s ta       
     sumpiesme%na arxei%a, na ta aposumpie%sete kai e%peita na antigra%qete ta anti%stoixa e%ggrafa  
     sty the%sy tou*s.                                                                               
                                                                                                     
     Gia para%deigma, y e%kdosy tou FAQ se sundedeme%na arxei%a HTML, sumpiesme%ny me xry%sy tou     
     bzip2(1), mporei% na brethei% sto arxei%o doc/en_US.ISO8859-1/books/faq/book.html-split.tar.bz2 
     . Gia na kateba%sete kai na aposumpie%sete auto% to arxei%o tha pre%pei na ka%nete to           
     paraka%tw:                                                                                      
                                                                                                     
     # fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/en_US.ISO8859-1/books/faq/book.html-split.tar.bz2 
     # bzip2 -d book.html-split.tar.bz2                                                              
     # tar xvf book.html-split.tar                                                                   
                                                                                                     
     THa kataly%cete me mia sullogy% apo% arxei%a .html. To basiko% onoma%zetai index.html, kai tha  
     perie%xei ton pi%naka periexome%nwn, eisagwgiko% uliko%, kai desmou%*s pro*s ta a%lla tmy%mata  
     tou eggra%fou. Mporei%te e%peita na antigra%qete y% na metakiny%sete ta arxei%a auta% sti*s     
     telike%*s tou*s the%sei*s, o%pw*s apaitei%tai.                                                  
2.3. Pou mporw% na brw plyrofori%e*s gia li%ste*s ylektronikou% taxudromei%ou tou FreeBSD;           
     Mporei%te na brei%te ply%rei*s plyrofori%e*s styn anti%stoixy kataxw%rysy tou Egxeiridi%ou gia  
     ti*s li%ste*s ylektronikou% taxudromei%ou.                                                      
2.4. Ti oma%de*s suzy%tysy*s ei%nai diathe%sime*s gia to FreeBSD;                                    
     Mporei%te na brei%te ply%rei*s plyrofori%e*s styn kataxw%rysy tou Egxeiridi%ou gia ti*s         
     oma%de*s suzyty%sewn.                                                                           
2.5. Upa%rxoun kana%lia sto IRC (Internet Relay Chat) gia to FreeBSD;                                
     Nai, ta perisso%tera IRC di%ktua diathe%toun kana%li suzy%tysy*s gia to FreeBSD:                
                                                                                                     
       * To kana%li #FreeBSD sto EFNet asxolei%tai me to FreeBSD, alla% myn pa%te ekei% gia texniky% 
         uposty%ricy y% gia na prospathy%sete na pei%sete tou*s thamw%ne*s na sa*s boythy%soun gia   
         na apallagei%te apo% ton ko%po na diaba%sete ti*s seli%de*s boy%theia*s y% na ereuny%sete   
         mo%no*s sa*s. Ei%nai aplw%*s e%na kana%li suzy%tysy*s, prw%ta apo% o%la, kai ta the%mata    
         ekei% mporei% na kumai%nontai ana%mesa sto sec, ton athlytismo%, ta purynika% o%pla w*s kai 
         to FreeBSD. Sa*s e%xoume proeidopoiy%sei! Ei%nai diathe%simo ston ecupyretyty%              
         irc.chat.org.                                                                               
                                                                                                     
       * To kana%li #FreeBSDhelp sto EFNet ei%nai afierwme%no sty boy%theia twn xrystw%n tou         
         FreeBSD. E%xete polu% megalu%tery pithano%tyta na brei%te apanty%sei*s sti*s erwty%sei*s    
         sa*s se auto%, para% sto #FreeBSD.                                                          
                                                                                                     
       * To kana%li ##FreeBSD sto Freenode ei%nai e%na geniko% kana%li boy%theia*s me peri%pou 300   
         xry%ste*s ka%the fora%. Oi suzyty%sei*s merike%*s fore%*s cefeu%goun apo% to the%ma, alla%  
         di%netai proteraio%tyta stou*s xry%ste*s me erwty%sei*s gia to FreeBSD. Ei%maste kaloi% sto 
         na sa*s boythy%soume na katala%bete ta basika%, na sa*s dei%coume pou na anatre%cete sto    
         Egxeiri%dio o%pote xreia%zetai, kai na sa*s kateuthu%noume ekei% o%pou mporei%te na         
         ma%thete perisso%tera gia the%ma pou sa*s apasxolei%. Ei%maste kata% ba%sy Agglo%fwno       
         kana%li, an kai e%xoume xry%ste*s apo% o%lo ton ko%smo. An the%lete na rwty%sete sty        
         mytriky% sa*s glw%ssa, prospathy%ste na ka%nete tyn erw%tysy sta Agglika% kai e%peita       
         metakinythei%te se ka%poio a%llo kana%li ##freebsd-lang an xreia%zetai.                     
                                                                                                     
       * To kana%li #FreeBSD sto DALNET ei%nai diathe%simo sto irc.dal.net sti*s YPA kai sto         
         irc.eu.dal.net styn Eurw%py.                                                                
                                                                                                     
       * To kana%li #FreeBSDHelp sto DALNET ei%nai diathe%simo sto irc.dal.net sti*s YPA kai sto     
         irc.eu.dal.net styn Eurw%py.                                                                
                                                                                                     
       * To kana%li #FreeBSD sto UNDERNET ei%nai diathe%simo sto us.undernet.org sti*s YPA kai sto   
         eu.undernet.org styn Eurw%py. Kathw%*s ei%nai kana%li boy%theia*s, tha pre%pei na ei%ste    
         proetoimasme%noi na diaba%sete ta e%ggrafa sta opoi%a tha sa*s parape%mqoun.                
                                                                                                     
       * To kana%li #FreeBSD sto RUSNET ei%nai prosanatolisme%no sty boy%theia xrystw%n tou FreeBSD  
         pou milou%n ty Rwsiky% glw%ssa. Ei%nai epi%sy*s e%na kalo% me%ro*s gia my-texnike%*s        
         suzyty%sei*s.                                                                               
                                                                                                     
       * To kana%li #BSDChat sto IRCNET ei%nai e%na kana%li se paradosiaky% Kineziky% glw%ssa,       
         afierwme%no sty boy%theia xrystw%n tou FreeBSD. Ei%nai epi%sy*s e%na kalo% me%ro*s gia      
         my-texnike%*s suzyty%sei*s.                                                                 
                                                                                                     
     Ka%the e%na apo% auta% ta kana%lia, ei%nai xwristo%, kai den diasunde%etai me ta upo%loipa. Ta  
     stul ty*s suzy%tysy*s diafe%roun, kai i%sw*s tha the%lete na dokima%sete kathe%na gia na        
     brei%te ka%poio pou na tairia%zei sto diko% sa*s. O%pw*s me ka%the tu%po suzy%tysy*s sto IRC,   
     an ei%ste apo% autou%*s pou prosba%llontai eu%kola, y% den mporei%te na antimetwpi%sete         
     pollou%*s ne%ou*s anthrw%pou*s (kai arketou%*s pio mega%lou*s) na epidi%dontai sto lektiko%     
     anti%stoixo ty*s pugmaxi%a*s, myn asxolythei%te katho%lou.                                      
2.6. Pou mporw% na brw epi% plyrwmy% uposty%ricy kai ekpai%deusy gia to FreeBSD;                     
     To DaemonNews pare%xei epi% plyrwmy% ekpai%deusy kai uposty%ricy gia to FreeBSD. Perisso%tere*s 
     plyrofori%e*s mporei%te na brei%te styn diktuaky% tou*s topothesi%a BSD Mall.                   
                                                                                                     
     To FreeBSD Mall pare%xei epi%sy*s epi% plyrwmy% uposty%ricy gia to FreeBSD. Mporei%te na        
     brei%te perisso%tere*s plyrofori%e*s styn diktuaky% tou*s topothesi%a.                          
                                                                                                     
     Opoiosdy%pote a%llo*s organismo%*s pare%xei ekpai%deusy kai uposty%ricy, tha pre%pei na         
     epikoinwny%sei me to Project gia na kataxwrythei% se auty% ty li%sta.                           

                           Kefa%laio 3. Egkata%stasy

   Nik Clayton

   3.1. Poio arxei%o pre%pei na kateba%sw gia na pa%rw to FreeBSD;

   3.2. Ti mporw% na ka%nw an to image ty*s diske%ta*s den xwra%ei se mia
   mo%no diske%ta;

   3.3. Pou bri%skontai oi odygi%e*s gia tyn egkata%stasy tou FreeBSD;

   3.4. Ti xreia%zomai gia na ektele%sw to FreeBSD;

   3.5. Pw*s mporw% na dymiourgy%sw ty diky% mou, prosarmosme%ny diske%ta
   egkata%stasy*s;

   3.6. Mporou%n na sunupa%rcoun ta Windows(R) me to FreeBSD;

   3.7. Ta Windows(R) kate%streqan to diaxeiristy% ekki%nysy*s mou! Pw*s tha
   ton epanafe%rw;

   3.8. O foryto%*s mou upologisty%*s seira%*s IBM Thinkpad, seira%*s A, T y%
   X, stamata%ei na apokri%netai o%tan prospathw% na ekkiny%sw to FreeBSD
   meta% tyn egkata%stasy. Pw*s mporw% na epilu%sw auto% to pro%blyma;

   3.9. Mporw% na ka%nw egkata%stasy se e%na di%sko me xalasme%nou*s
   tomei%*s;

   3.10. Dia%fora peri%erga pra%gmata sumbai%noun o%tan ekkinw% me ty
   diske%ta ekki%nysy*s! Ti sumbai%nei;

   3.11. Ceki%nysa apo% to ATAPI CDROM mou, alla% to pro%gramma
   egkata%stasy*s le%ei o%ti den bri%skei CDROM. Pou py%ge;

   3.12. Mporw% na egkatasty%sw to FreeBSD sto foryto% mou xrysimopoiw%nta*s
   PLIP (Parallel Line IP, IP me%sw Para%llyly*s THu%ra*s);

   3.13. Ti gewmetri%a na xrysimopoiy%sw gia to sklyro% mou di%sko;

   3.14. Upa%rxoun ka%poioi periorismoi% sto pw*s pre%pei na xwri%sw to
   di%sko;

   3.15. Ei%nai sumbato% to FreeBSD me progra%mmata diaxei%risy*s di%skwn
   (disk managers);

   3.16. O%tan ekkinw% to FreeBSD gia prw%ty fora%, pai%rnw to my%numa
   Missing Operating System. Ti sumbai%nei;

   3.17. Giati% den mporw% na sunexi%sw pe%ra apo% tyn protropy% F? tou
   diaxeiristy% ekki%nysy*s;

   3.18. Pre%pei na egkatasty%sw o%lo ton pygai%o kw%dika;

   3.19. Xreia%zetai na ftia%cw prosarmosme%no pury%na;

   3.20. Gia tou*s kwdikou%*s pro%sbasy*s twn xrystw%n, na xrysimopoiy%sw
   DES, Blowfish, y% MD5 kwdikopoi%ysy, kai pw*s tha kathori%sw ti tha
   xrysimopoiou%n oi xry%ste*s mou;

   3.21. Giati% enw% y diske%ta ekki%nysy*s cekina%ei kanonika%, krema%ei
   styn otho%ny Probing Devices...;

   3.22. Giati% pai%rnw to my%numa la%thou*s panic: can't mount root o%tan
   ekkinw% to su%styma gia prw%ty fora% meta% tyn egkata%stasy;

   3.23. Poia ei%nai ta o%ria ty*s mny%my*s;

   3.24. Poia ei%nai ta o%ria tou susty%mato*s arxei%wn ffs;

   3.25. Giati% pai%rnw to my%numa la%tho*s, archsw.readin.failed meta% tyn
   metaglw%ttisy kai ekki%nysy ne%ou pury%na;

   3.26. Y egkata%stasy katarre%ei kata% tyn ekki%nysy. Ti mporw% na ka%nw;

   3.1.  Poio arxei%o pre%pei na kateba%sw gia na pa%rw to FreeBSD;           
         Xreia%zeste tri%a images disketw%n: floppies/boot.flp,               
         floppies/kern1.flp, kai floppies/kern2.flp. Ta images auta% pre%pei  
         na na ta gra%qete se diske%te*s xrysimopoiw%nta*s ka%poio ergalei%o  
         o%pw*s to fdimage y% to dd(1).                                       
                                                                              
         An pre%pei na kateba%sete mo%noi sa*s ta set dianomw%n               
         (distributions - gia para%deigma gia mia egkata%stasy me%sw          
         susty%mato*s arxei%wn DOS), tha brei%te paraka%tw merike%*s          
         susta%sei*s sxetika% me to poie*s dianome%*s na kateba%sete:         
                                                                              
           * base/                                                            
                                                                              
           * manpages/                                                        
                                                                              
           * compat*/                                                         
                                                                              
           * doc/                                                             
                                                                              
           * src/ssys.*                                                       
                                                                              
         Ply%rei*s odygi%e*s sxetika% me ty diadikasi%a kathw%*s kai          
         perisso%tere*s plyrofori%e*s sxetika% me genika% probly%mata kata%   
         tyn egkata%stasy mporei%te na brei%te sto Kefa%laio tou Egxeiridi%ou 
         sxetika% me tyn egkata%stasy tou FreeBSD.                            
   3.2.  Ti mporw% na ka%nw an to image ty*s diske%ta*s den xwra%ei se mia    
         mo%no diske%ta;                                                      
         Mia diske%ta twn 3.5 intsw%n (1.44MB) mporei% na xwre%sei w*s        
         1474560 bytes dedome%nwn. To arxei%o image ty*s diske%ta*s           
         ekki%nysy*s ei%nai akribw%*s auto% to me%getho*s.                    
                                                                              
         Sunythisme%na la%thy kata% tyn proetoimasi%a ty*s diske%ta*s         
         ekki%nysy*s:                                                         
                                                                              
           * Kate%basma ty*s diske%ta*s xwri%*s ty xry%sy tou duadikou%       
             (binary) tro%pou o%tan xrysimopoiei%tai ecupyretyty%*s FTP.      
                                                                              
             Ka%poia progra%mmata-pela%te*s gia FTP, xrysimopoiou%n apo%      
             proepilogy% ton ascii (keime%nou) tro%po metafora%*s dedome%nwn  
             kai prospathou%n na alla%coun tou*s xarakty%re*s te%lou*s        
             grammy%*s w%ste na tairia%zoun me ti*s sumba%sei*s pou           
             xrysimopoiou%ntai apo% to su%styma sto opoi%o gi%netai y ly%qy.  
             Auto% sxedo%n si%goura tha katastre%qei to image ekki%nysy*s.    
             Ele%gcte to me%getho*s tou image ekki%nysy*s pou kateba%sate: An 
             den ei%nai akribw%*s auto% pou fai%netai ston ecupyretyty%, y    
             diadikasi%a tou kateba%smato*s tha pre%pei na thewrythei%        
             u%popty.                                                         
                                                                              
             Gia na paraka%mqete to pro%blyma: gra%qte binary styn grammy%    
             entolw%n tou FTP, meta% pou tha sundethei%te ston ecupyretyty%,  
             kai prin cekiny%sete na kateba%zete to image.                    
                                                                              
           * Xry%sy ty*s entoly%*s copy tou DOS (y anti%stoixou grafikou%     
             ergalei%ou) gia ty metafora% tou arxei%ou image sty diske%ta.    
                                                                              
             Progra%mmata o%pw*s to copy, den tha leitourgy%soun swsta%       
             kathw%*s to image ekki%nysy*s e%xei ftiaxtei% w%ste na ekkinei%  
             a%mesa. To image e%xei ta ply%ry periexo%mena ty*s diske%ta*s,   
             troxia% pro*s troxia%, kai den pre%pei na grafei% sty diske%ta   
             w*s kanoniko% arxei%o. THa pre%pei na to metafe%rete sty         
             diske%ta me <<wmo%>> tro%po, xrysimopoiw%nta*s ergalei%a         
             xamylou% epipe%dou (low-level) (o%pw*s p.x. to fdimage y% to     
             rawrite) pou perigra%fontai ston odygo% egkata%stasy*s tou       
             FreeBSD.                                                         
   3.3.  Pou bri%skontai oi odygi%e*s gia tyn egkata%stasy tou FreeBSD;       
         Mporei%te na brei%te ti*s odygi%e*s styn kataxw%rysy tou             
         Egxeiridi%ou sxetika% me tyn egkata%stasy tou FreeBSD.               
   3.4.  Ti xreia%zomai gia na ektele%sw to FreeBSD;                          
         Gia ekdo%sei*s tou FreeBSD apo% to 5.X kai meta% xreia%zeste e%na PC 
         me epecergasty% 486 y% kalu%tero, me 24 MB y% perisso%tery RAM, kai  
         toula%xiston 150 MB xw%rou sto sklyro% sa*s di%sko.                  
                                                                              
         Mporei%te na ektele%sete o%le*s ti*s ekdo%sei*s tou FreeBSD me mia   
         xamylw%n prodiagrafw%n, mono%xrwmy (MDA) ka%rta grafikw%n, alla% gia 
         na xrysimopoiy%sete to Xorg, tha xreiastei%te ka%rta VGA y%          
         kalu%tery.                                                           
                                                                              
         Dei%te epi%sy*s kai to Kefa%laio 4, Sumbato%tyta Ulikou%.            
   3.5.  Pw*s mporw% na dymiourgy%sw ty diky% mou, prosarmosme%ny diske%ta    
         egkata%stasy*s;                                                      
         Ty dedome%ny stigmy%, den upa%rxei tro%po*s na ftia%cete aplw%*s mia 
         prosarmosme%ny diske%ta egkata%stasy*s. THa pre%pei na               
         dymiourgy%sete olo%klyry ne%a e%kdosy, y opoi%a tha perilamba%nei    
         kai tyn prosarmosme%ny diske%ta egkata%stasy*s sa*s.                 
                                                                              
         Gia na dymiourgy%sete mia prosarmosme%ny e%kdosy, akolouthy%ste ti*s 
         odygi%e*s sto a%rthro sxetika% me tyn Orga%nwsy Ekdo%sewn.           
   3.6.  Mporou%n na sunupa%rcoun ta Windows(R) me to FreeBSD;                
         Egkatasty%ste prw%ta ta Windows(R), kai meta% to FreeBSD. O          
         diaxeiristy%*s ekki%nysy*s tou FreeBSD tha sa*s epitre%pei e%peita   
         na epile%cete tyn ekki%nysy ei%te twn Windows(R) ei%te tou FreeBSD.  
         An egkatasty%sete ta Windows(R) meta% to FreeBSD, tha sa*s sby%soun  
         ton diaxeiristy% ekki%nysy*s, xwri%*s kan na sa*s rwty%soun. An sa*s 
         sumbei%, auto% dei%te to epo%meno tmy%ma.                            
   3.7.  Ta Windows(R) kate%streqan to diaxeiristy% ekki%nysy*s mou! Pw*s tha 
         ton epanafe%rw;                                                      
         Mporei%te na epanegkatasty%sete to diaxeiristy% ekki%nysy*s tou      
         FreeBSD xrysimopoiw%nta*s e%nan apo% tou*s trei*s paraka%tw          
         tro%pou*s:                                                           
                                                                              
           * Ektelw%nta*s to DOS, metakinythei%te ston kata%logo tools/ ty*s  
             FreeBSD dianomy%*s sa*s, kai qa%cte gia to arxei%o bootinst.exe. 
             Ektele%ste to o%pw*s fai%netai paraka%tw:                        
                                                                              
          ...\TOOLS> bootinst.exe boot.bin                                    
                                                                              
             kai o diaxeiristy%*s ekki%nysy*s tha epanegkatastathei%.         
                                                                              
           * Cekiny%ste cana% xrysimopoiw%nta*s ty diske%ta ekki%nysy*s tou   
             FreeBSD kai pygai%nete styn epilogy% Custom Installation tou     
             menou%. Epile%cte Partition. Epile%cte ton odygo% pou kanonika%  
             tha periei%xe ton diaxeiristy% ekki%nysy*s sa*s (fusiologika%    
             ton prw%to) kai o%tan fta%sete ston epecergasty% katatmy%sewn    
             (partition editor) gia ton odygo% auto%, to prw%to pra%gma pou   
             tha ka%nete (xwri%*s a%lle*s allage%*s), ei%nai na epile%cete    
             (W)rite. Epile%cte yes styn epibebai%wsy pou tha emfanistei% kai 
             o%tan fta%sete styn protropy% epilogy%*s Diaxeiristy%            
             Ekki%nysy*s, epile%cte <<Boot Manager>>. Me ton tro%po auto% o   
             diaxeiristy%*s ekki%nysy*s tha grafei% cana% sto di%sko.         
             Mporei%te tw%ra na bgei%te apo% to menou% ty*s egkata%stasy*s    
             kai na epanekkiny%sete apo% to sklyro% di%sko, o%pw*s            
             suny%thw*s.                                                      
                                                                              
           * Cekiny%ste me ty boy%theia ty*s diske%ta*s ekki%nysy*s (y% tou   
             CD) tou FreeBSD kai epile%cte <<Fixit>> apo% to menou%.          
             Epile%cte ei%te ty diske%ta Fixit ei%te to CD #2 (to <<live>>    
             su%styma arxei%wn) kai tha eise%lthete sto ke%lufo*s fixit.      
             Ektele%ste e%peita tyn ako%louthy entoly%:                       
                                                                              
          Fixit# fdisk -B -b /boot/boot0 bootdevice                           
                                                                              
             antikathistw%nta*s to bootdevice me ton pragmatiko% sa*s di%sko  
             ekki%nysy*s, o%pw*s p.x. ad0 (prw%to*s di%sko*s IDE), ad4        
             (prw%to*s di%sko*s IDE ston boythytiko% elegkty%), da0 (prw%to*s 
             di%sko*s SCSI), k.l.p.                                           
   3.8.  O foryto%*s mou upologisty%*s seira%*s IBM Thinkpad, seira%*s A, T   
         y% X, stamata%ei na apokri%netai o%tan prospathw% na ekkiny%sw to    
         FreeBSD meta% tyn egkata%stasy. Pw*s mporw% na epilu%sw auto% to     
         pro%blyma;                                                           
         Pro%keitai gia e%na pro%blyma sti*s arxike%*s ekdo%sei*s tou BIOS    
         ty*s IBM sta sugkekrime%na myxany%mata, to opoi%o anagnwri%zei tyn   
         kata%tmysy tou FreeBSD w*s pithano% diame%risma FAT gia ty           
         leitourgi%a adranopoi%ysy*s sto di%sko (suspend-to-disk). To BIOS    
         stamata%ei na apokri%netai kathw%*s prospathei% na analu%sei to      
         diame%risma tou FreeBSD.                                             
                                                                              
         Su%mfwna me tyn IBM[1], ta ako%loutha monte%la kai ekdo%sei*s BIOS   
         perilamba%noun ti*s aparai%tyte*s diorthw%sei*s.                     
                                                                              
                 Monte%lo                         E%kdosy BIOS                
         T20                       IYET49WW y% metagene%stero                 
         T21                       KZET22WW y% metagene%stero                 
         A20p                      IVET62WW y% metagene%stero                 
         A20m                      IWET54WW y% metagene%stero                 
         A21p                      KYET27WW y% metagene%stero                 
         A21m                      KXET24WW y% metagene%stero                 
         A21e                      KUET30WW                                   
                                                                              
         E%xei anaferthei% o%ti metagene%stere*s ekdo%sei*s tou BIOS ty*s     
         IBM, i%sw*s parousia%zoun cana% to pro%blyma. To my%numa auto% apo%  
         ton Jacques Vidrine styn ylektroniky% li%sta tou FreeBSD gia         
         forytou%*s upologiste%*s perigra%fei mia diadikasi%a y opoi%a i%sw*s 
         doule%qei se neo%tera monte%la forytw%n ty*s IBM ta opoi%a den       
         ekkinou%n kanonika% to FreeBSD, kai sta opoi%a mporei%te na          
         anabathmi%sete to BIOS y% kai na epistre%qete se proygou%meny        
         e%kdosy tou.                                                         
                                                                              
         An e%xete palio%tero BIOS, alla% den e%xete tyn epilogy% na to       
         anabathmi%sete, e%na*s tro%po*s na cepera%sete to pro%blyma ei%nai   
         na egkatasty%sete to FreeBSD, na alla%cete ton anagnwristiko%        
         arithmo% (partition id) ty*s kata%tmysy*s, kai na egkatasty%sete     
         ne%a boot blocks ta opoi%a na mporou%n na xeiristou%n to             
         diaforetiko% anagnwristiko% ty*s kata%tmysy*s.                       
                                                                              
         Arxika%, tha pre%pei na epanafe%rete to myxa%nyma se mia kata%stasy  
         w%ste na perna%ei apo% tyn arxiky% diagnwstiky% otho%ny. Auto%       
         apaitei% na energopoiy%sete to myxa%nyma xwri%*s na to afy%sete na   
         brei tyn kata%tmysy tou FreeBSD ston ku%rio di%sko tou. E%na*s       
         tro%po*s ei%nai na apomakru%nete ton sklyro% di%sko kai na ton       
         metakiny%sete proswrina% se e%na palio%tero ThinkPad (o%pw*s to      
         ThinkPad 600) y% ka%poio epitrape%zio myxa%nyma, xrysimopoiw%nta*s   
         to kata%llylo kalw%dio metatropy%*s. Sto myxa%nyma auto% mporei%te   
         ple%on na diagra%qete tyn kata%tmysy tou FreeBSD kai e%peita na      
         metakiny%sete ton di%sko sto arxiko% myxa%nyma. To ThinkPad tha      
         pre%pei tw%ra na ekkinei% kanonika%.                                 
                                                                              
         Me to myxa%nyma se leitourgiky% kata%stasy, mporei%te tw%ra na       
         xrysimopoiy%sete tyn diadikasi%a pou perigra%fetai edw% w%ste na     
         e%xete telika% mia egkata%stasy tou FreeBSD pou na leitourgei%.      
                                                                              
          1. Kateba%ste ti*s diske%te*s boot1 kai boot2 apo%                  
             http://people.FreeBSD.org/~bmah/ThinkPad/. Apothykeu%ste ta      
             arxei%a auta% ka%pou pou tha mporei%te na ta canabrei%te         
             argo%tera.                                                       
                                                                              
          2. Egkatasty%ste kanonika% to FreeBSD sto ThinkPad. Myn             
             xrysimopoiy%sete tyn kata%stasy Dangerously Dedicated. Myn       
             ka%nete epanekki%nysy o%tan teleiw%sei y egkata%stasy.           
                                                                              
          3. Xrysimopoiy%ste ei%te to <<Emergency Holographic Shell>>         
             (ALT+F4) ei%te to ke%lufo*s <<fixit>>.                           
                                                                              
          4. Xrysimopoiy%ste tyn fdisk(8) gia na alla%cete ton anagnwristiko% 
             arithmo% ty*s kata%tmysy*s tou FreeBSD apo% 165 se 166 (auto%*s  
             ei%nai o tu%po*s pou xrysimopoiei%tai apo% to OpenBSD).          
                                                                              
          5. Gra%qte ta arxei%a boot1 kai boot2 sto topiko% su%styma          
             arxei%wn.                                                        
                                                                              
          6. Xrysimopoiy%ste to disklabel(8) gia na gra%qete ta boot1 kai     
             boot2 sto slice tou FreeBSD.                                     
                                                                              
          # disklabel -B -b boot1 -s boot2 ad0sn                              
                                                                              
             To n ei%nai o arithmo%*s tou slice pou e%xete egkatasty%sei to   
             FreeBSD.                                                         
                                                                              
          7. Ka%nte epanekki%nysy. Styn protropy% ekki%nysy*s tha dei%te tyn  
             epilogy% na cekiny%sete to OpenBSD. Styn pragmatiko%tyta, me     
             auto% ton tro%po tha cekiny%sete to FreeBSD.                     
                                                                              
         To na ka%nete to parapa%nw na leitourgy%sei styn peri%ptwsy pou      
         the%lete na e%xete diply% ekki%nysy OpenBSD kai FreeBSD ston i%dio   
         foryto% upologisty%, to afy%noume w*s a%skysy ston anagnw%sty.       
   3.9.  Mporw% na ka%nw egkata%stasy se e%na di%sko me xalasme%nou*s         
         tomei%*s;                                                            
         Mporei%te, alla% ei%nai kaky% ide%a.                                 
                                                                              
         An dei%te xalasme%nou*s tomei%*s se e%na su%gxrono odygo% IDE,       
         upa%rxei mega%ly pithano%tyta o odygo%*s auto%*s, polu% su%ntoma, na 
         stamaty%sei na leitourgei% entelw%*s (o odygo%*s den e%xei a%llou*s  
         enallaktikou%*s kuli%ndrou*s pou na mporou%n na antikatasty%soun     
         tou*s xalasme%nou*s me%sw ty*s eswteriky%*s leitourgi%a*s            
         epanatopothe%tysy*s twn dedome%nwn, ka%ti to opoi%o symai%nei o%ti o 
         di%sko*s e%xei symantiky% fthora%). Sa*s sunistou%me na agora%sete   
         kainou%rio di%sko.                                                   
                                                                              
         An e%xete odygo% SCSI me xalasme%nou*s tomei%*s dei%te auty% tyn     
         apa%ntysy.                                                           
   3.10. Dia%fora peri%erga pra%gmata sumbai%noun o%tan ekkinw% me ty         
         diske%ta ekki%nysy*s! Ti sumbai%nei;                                 
         An ble%pete katasta%sei*s o%pw*s to myxa%nyma na myn apokri%netai y% 
         na ka%nei epanekki%nysy mo%no tou o%tan prospathei%te na ekkiny%sete 
         me tyn diske%ta ekki%nysy*s, tha pre%pei na ka%nete ston eauto% sa*s 
         trei*s erwty%sei*s:                                                  
                                                                              
          1. Xrysimopoiy%sate kainou%rie*s, fresko-diamorfwme%ne*s, kai       
             xwri%*s la%thy diske%te*s (kata% proti%mysy kaly%*s etairi%a*s   
             ti*s opoi%e*s mo%li*s bga%late kainou%rie*s apo% to kouti%       
             tou*s, se anti%thesy me ty diske%ta pou py%rate mazi% me ka%poio 
             periodiko% kai y opoi%a bri%skontan ka%tw apo% to kreba%ti ta    
             tri%a teleutai%a xro%nia);                                       
                                                                              
          2. Kateba%sate to image ty*s diske%ta*s me duadiko% (binary y%      
             image) tro%po metafora%*s; (my ntre%peste, ako%ma kai oi         
             kalu%teroi apo% ma*s e%xoun kata% la%tho*s kateba%sei ka%poio    
             duadiko% arxei%o se kata%stasy ASCII (keime%nou), toula%xiston   
             mia fora%!)                                                      
                                                                              
          3. An xrysimopoiei%te Windows(R) 95 y% 98, ektele%ste to fdimage y% 
             to rawrite se kathary% kata%stasy DOS; Ta leitourgika% auta%     
             mporei% na paremblythou%n se progra%mmata ta opoi%a gra%foun     
             apeuthei%a*s sto uliko%, ka%ti to opoi%o sumbai%nei kai me ta    
             progra%mmata dymiourgi%a*s twn disketw%n. Mporei% na             
             dymiourgythei% pro%blyma, ako%ma kai an ta ektelei%te se         
             para%thuro DOS me%sa apo% to grafiko% periba%llon.               
                                                                              
         E%xoun epi%sy*s anaferthei% periptw%sei*s o%pou to Netscape(R)       
         dymiourgei% probly%mata sto kate%basma ty*s diske%ta*s ekki%nysy*s,  
         e%tsi ei%nai kalu%tera na xrysimopoiy%sete ka%poio a%llo pro%gramma  
         FTP, an auto% ei%nai dunato%n.                                       
   3.11. Ceki%nysa apo% to ATAPI CDROM mou, alla% to pro%gramma               
         egkata%stasy*s le%ei o%ti den bri%skei CDROM. Pou py%ge;             
         Y suny%thy*s aiti%a autou% tou probly%mato*s ei%nai e%na*s           
         kakoruthmisme%no*s odygo%*s CDROM. Polla% PC e%rxontai ple%on me to  
         CDROM w*s slave suskeuy% sto deutereu%onta elegkty%, xwri%*s na      
         upa%rxei sto i%dio kana%li suskeuy% master. Auto%, su%mfwna me ti*s  
         prodiagrafe%*s tou ATAPI, den ei%nai e%gkuro, alla% ta Windows(R)    
         tyrou%n ti*s prodiagrafe%*s xalara%, enw% to BIOS to agnoei% kata%   
         tyn ekki%nysy. Auto%*s ei%nai kai o lo%go*s pou to BIOS kata%fere na 
         dei to CDROM kai na to xrysimopoiy%sei, alla% kai o lo%go*s pou to   
         FreeBSD den mpo%rese na to dei gia na sunexi%sei tyn egkata%stasy.   
                                                                              
         Ruthmi%ste cana% to su%styma sa*s, w%ste to CDROM ei%te na ei%nai y  
         master suskeuy% ston elegkty% pou ei%nai sundeme%ny, y%              
         bebaiwthei%te o%ti ei%nai slave se e%na elegkty% IDE o opoi%o*s      
         o%mw*s e%xei a%lly suskeuy% sundeme%ny w*s master.                   
   3.12. Mporw% na egkatasty%sw to FreeBSD sto foryto% mou xrysimopoiw%nta*s  
         PLIP (Parallel Line IP, IP me%sw Para%llyly*s THu%ra*s);             
         Nai. Xrysimopoiy%ste tupopoiyme%no kalw%dio tu%pou Laplink. An       
         xreia%zetai, diaba%ste to tmy%ma PLIP tou Egxeiridi%ou gia           
         leptome%reie*s sxetike%*s me diktu%wsy me%sw para%llyly*s thu%ra*s.  
   3.13. Ti gewmetri%a na xrysimopoiy%sw gia to sklyro% mou di%sko;           
           Symei%wsy:                                                         
                                                                              
         Me ton o%ro <<gewmetri%a>>, ennoou%me ton arithmo% twn kuli%ndrwn,   
         kefalw%n kai tome%wn ana% troxia% eno%*s di%skou. Gia eukoli%a, tha  
         anafero%maste ston o%ro auto% w*s C/H/S (Cylinders / Heads /         
         Sectors). Auto%*s ei%nai kai o tro%po*s me ton opoi%o to BIOS        
         bri%skei se poia perioxy% tou di%skou na gra%qei.                    
                                                                              
         To parapa%nw prokalei% su%gxusy stou ne%ou*s diaxeiriste%*s          
         sustyma%twn. Katarxy%n, y fusiky% gewmetri%a eno%*s odygou% SCSI     
         ei%nai sunolika% a%sxety, afou% to FreeBSD leitourgei% me ba%sy ta   
         mplok di%skou. Styn pragmatiko%tyta, den upa%rxei kan <<alythiny%>>  
         fusiky% gewmetri%a, kathw%*s y pukno%tyta twn tome%wn metaba%lletai  
         apo% perioxy% se perioxy% tou di%skou. Auto% pou oi kataskeuaste%*s  
         anafe%roun suxna% w*s <<fusiky% gewmetri%a>> ei%nai suny%thw*s y     
         gewmetri%a me tyn o%poia e%xoun anakalu%qei o%ti gi%netai y          
         mikro%tery spata%ly eleu%therou xw%rou. Gia di%skou*s IDE, to        
         FreeBSD xrysimopoiei% pra%gmati to C/H/S, alla% o%loi oi monte%rnoi  
         odygoi% metatre%poun eswterika% aute%*s ti*s anafore%*s se           
         anti%stoixa mplok.                                                   
                                                                              
         To mo%no pou e%xei pragmatiky% symasi%a ei%nai y logiky% gewmetri%a. 
         Auty% ei%nai kai y apa%ntysy pou de%xetai to BIOS o%tan rwta%ei to   
         di%sko <<poia ei%nai y gewmetri%a sou;>> E%peita, xrysimopoiei%      
         auty% ty gewmetri%a gia na apokty%sei pro%sbasy sto di%sko. Kathw%*s 
         to FreeBSD xrysimopoiei% to BIOS kata% tyn ekki%nysy, ei%nai polu%   
         symantiko% y gewmetri%a auty% na ei%nai swsty%. Eidiko%tera, an      
         e%xete perisso%tera apo% e%na leitourgika% susty%mata sto di%sko,    
         pre%pei o%la na sumfwnou%n o%so afora% ty gewmetri%a. Diaforetika%   
         tha e%xete sobara% probly%mata kata% tyn ekki%nysy!                  
                                                                              
         Gia di%skou*s SCSI, y gewmetri%a pou pre%pei na xrysimopoiythei%,    
         ecarta%tai apo% to an ei%nai energopoiyme%ny y uposty%ricy           
         ektetame%ny*s meta%frasy*s (auto% suxna% anafe%retai w*s             
         <<uposty%ricy gia di%skou*s DOS >1GB>> y% ka%ti anti%stoixo). An     
         ei%nai apenergopoiyme%ny, xrysimopoiy%ste N kuli%ndrou*s, 64         
         kefale%*s kai 32 tomei%*s/troxia%, o%pou to N ei%nai y xwrytiko%tyta 
         tou di%skou se MB. Gia para%deigma, gia e%na di%sko 2GB, tha pre%pei 
         na e%xete 2048 kuli%ndrou*s, 64 kefale%*s, kai 32 tomei%*s/troxia%.  
                                                                              
         An ei%nai energopoiyme%ny (kai suxna% pare%xetai e%tsi w%ste na      
         ceperniou%ntai ka%poioi periorismoi% sto MS-DOS(R)) kai y            
         xwrytiko%tyta tou di%skou ei%nai megalu%tery apo% 1GB,               
         xrysimopoiy%ste M kuli%ndrou*s, 63 tomei%*s ana% troxia% (o%xi 64)   
         kai 255 kefale%*s, o%pou M ei%nai y xwrytiko%tyta tou di%skou se MB, 
         diaireme%ny me to 7.844238 (!). E%tsi, sto para%deigma ma*s, o       
         di%sko*s twn 2GB tha ei%xe 261 kuli%ndrou*s, 63 tomei%*s ana%        
         troxia% kai 255 kefale%*s.                                           
                                                                              
         An den ei%ste si%gouro*s gia to parapa%nw, y% an to FreeBSD          
         apotu%xei styn ani%xneusy ty*s swsty%*s gewmetri%a*s kata% tyn       
         egkata%stasy, o aplou%stero*s tro%po*s gia na to paraka%mqete,       
         ei%nai suny%thw*s na dymiourgy%sete e%na mikro% diame%risma DOS sto  
         di%sko. To BIOS e%peita tha anixneu%sei ty swsty% gewmetri%a, kai    
         mporei%te pa%nta na diagra%qete to diame%risma DOS me%sa apo% ton    
         epecergasty% katatmy%sewn, an de the%lete na to kraty%sete. Mporei%  
         wsto%so na thely%sete na to afy%sete, gia na programmati%zete        
         ka%rte*s diktu%ou kai gia a%lle*s, anti%stoixe*s, ergasi%e*s.        
                                                                              
         Enallaktika%, upa%rxei e%na eleu%thera diathe%simo boythytiko%       
         pro%gramma to opoi%o diane%metai me to FreeBSD kai le%getai          
         pfdisk.exe. Mporei%te na to brei%te ston upokata%logo tools sto      
         CDROM tou FreeBSD y% sti*s diktuake%*s topothesi%e*s FTP tou         
         FreeBSD. To pro%gramma auto% mporei% na xrysimopoiythei% gia na      
         anakalu%qei ti gewmetri%a xrysimopoiei%tai apo% ta a%lla             
         leitourgika% susty%mata sto di%sko pou xrysimopoiei%tai. Mporei%te   
         na eisa%gete apeuthei%a*s auty% ty gewmetri%a ston epecergasty%      
         katatmy%sewn.                                                        
   3.14. Upa%rxoun ka%poioi periorismoi% sto pw*s pre%pei na xwri%sw to       
         di%sko;                                                              
         Nai. Pre%pei na bebaiwthei%te o%ti y riziky% (root) kata%tmysy       
         bri%sketai ka%tw apo% tou*s 1024 kuli%ndrou*s, w%ste to BIOS na      
         mporei% na ekkiny%sei ton pury%na apo% auty%. (Symeiw%ste o%ti       
         auto%*s ei%nai e%na*s periorismo%*s sto BIOS tou PC, kai o%xi sto    
         FreeBSD).                                                            
                                                                              
         Gia e%na di%sko SCSI, suny%thw*s auto% symai%nei o%ti y riziky%      
         kata%tmysy tha bri%sketai sta prw%ta 1024MB (y% sta prw%ta 4096MB an 
         xrysimopoiei%tai y ektetame%ny meta%frasy - dei%te tyn proygou%meny  
         erw%tysy). Gia di%skou*s IDE, to anti%stoixo o%rio ei%nai ta 504MB.  
   3.15. Ei%nai sumbato% to FreeBSD me progra%mmata diaxei%risy*s di%skwn     
         (disk managers);                                                     
         To FreeBSD anagnwri%zei kai epitre%pei ty xry%sy tou Ontrack Disk    
         Manager. Den upostyri%zontai a%lloi diaxeiriste%*s di%skwn.          
                                                                              
         An the%lete aplw%*s na xrysimopoiy%sete to di%sko me to FreeBSD, den 
         xreia%zeste diaxeiristy% di%skou. Aplw%*s ruthmi%ste to di%sko gia   
         o%so perisso%tero xw%ro mporei% na dei to BIOS (suny%thw*s 504MB),   
         kai to FreeBSD tha anakalu%qei po%so eleu%thero xw%ro e%xete styn    
         pragmatiko%tyta. An xrysimopoiei%te ka%poio palio% di%sko se         
         elegkty% MFM, i%sw*s na pre%pei na pei%te sto FreeBSD po%sou*s       
         kuli%ndrou*s na xrysimopoiy%sei.                                     
                                                                              
         An the%lete na xrysimopoiy%sete to di%sko to%so me to FreeBSD o%so   
         kai me ka%poio a%llo leitourgiko% su%styma, tha pre%pei na mporei%te 
         na to ka%nete xwri%*s diaxeiristy% di%skou: aplw%*s bebaiwthei%te    
         o%ti to diame%risma ekki%nysy*s tou FreeBSD kathw%*s kai y           
         kata%tmysy tou a%llou leitourgikou% susty%mato*s bri%skontai me%sa   
         stou*s prw%tou*s 1024 kuli%ndrou*s. An ei%ste arketa% prosektiko%*s, 
         e%na diame%risma ekki%nysy*s (boot) mege%thou*s 20MB tha ei%nai      
         arketo%.                                                             
   3.16. O%tan ekkinw% to FreeBSD gia prw%ty fora%, pai%rnw to my%numa        
         Missing Operating System. Ti sumbai%nei;                             
         Auty% ei%nai mia klasiky% peri%ptwsy die%necy*s metacu% tou FreeBSD  
         kai tou DOS y% ka%poiou a%llou leitourgikou% sxetika% me tyn ide%a   
         pou e%xei to kathe%na gia tyn gewmetri%a tou di%skou. THa pre%pei na 
         epanegkatasty%sete to FreeBSD alla% tyrw%nta*s prosektika% ti*s      
         odygi%e*s pou dw%same pio pa%nw, ei%nai sxedo%n si%gouro o%ti tha ta 
         katafe%rete.                                                         
   3.17. Giati% den mporw% na sunexi%sw pe%ra apo% tyn protropy% F? tou       
         diaxeiristy% ekki%nysy*s;                                            
         Auto% ei%nai a%llo e%na su%mptwma tou probly%mato*s pou              
         perigra%fetai styn proygou%meny erw%tysy. Den sumpi%ptei y           
         gewmetri%a tou BIOS me auty% tou FreeBSD! An o elegkty%*s y% to BIOS 
         sa*s upostyri%zei meta%frasy kuli%ndrwn (suxna% anafe%retai w*s      
         <<>1GB drive support>>), dokima%ste na alla%cete auty% ty timy% kai  
         na epanegkatasty%sete to FreeBSD.                                    
   3.18. Pre%pei na egkatasty%sw o%lo ton pygai%o kw%dika;                    
         Genika%, o%xi. Wsto%so sa*s sunistou%me na egkatasty%sete, w*s       
         ela%xisto, ton pygai%o kw%dika ty*s dianomy%*s base, o opoi%o*s      
         perilamba%nei arketa% apo% ta arxei%a pou anafe%rontai edw%,         
         kathw%*s kai ton pygai%o kw%dika ty*s dianomy%*s sys, y opoi%a       
         perilamba%nei ton pygai%o kw%dika tou pury%na. Den upa%rxei wsto%so  
         ka%ti sto su%styma to opoi%o na apaitei% tyn u%parcy tou pygai%ou    
         kw%dika gia na leitourgy%sei, ekto%*s apo% to pro%gramma ru%thmisy*s 
         pury%na config(8). Me ecai%resy ton pygai%o kw%dika tou pury%na, y   
         domy% tou susty%mato*s metaglw%ttisy*s ma*s ei%nai te%toia, w%ste    
         mporei%te pa%nta na prosarty%sete to de%ntro pygai%ou kw%dika me%sw  
         NFS (kai me dikaiw%mata mo%no ana%gnwsy*s) kai pa%li na mporei%te na 
         dymiourgy%sete ne%a ektele%sima (lo%gw tou periorismou% pou upa%rxei 
         ston pygai%o kw%dika tou pury%na, sa*s sunistou%me na myn ka%nete    
         tyn prosa%rtysy apeuthei%a*s ston kata%logo /usr/src, alla% na       
         xrysimopoiy%sete ka%poia a%lly topothesi%a kai na dymiourgy%sete     
         tou*s kata%llylou*s sumbolikou%*s desmou%*s pou na antigra%foun ty   
         domy% ty*s kentriky%*s ierarxi%a*s tou de%ntrou pygai%ou kw%dika).   
                                                                              
         An e%xete a%mesa diathe%simo ton pygai%o kw%dika, kai gnwri%zete     
         pw*s na metaglwtti%sete e%na olo%klyro su%styma apo% auto%n, tha     
         dieukolunthei%te pa%ra polu% o%tan anabathmi%zete to su%styma sa*s   
         se mellontike%*s ekdo%sei*s tou FreeBSD.                             
                                                                              
         Gia na epile%cete e%na uposu%nolo tou pygai%ou kw%dika, apo% tyn     
         epilogy% Distributions tou ergalei%ou egkata%stasy*s susty%mato*s,   
         epile%cte to menou% Custom.                                          
   3.19. Xreia%zetai na ftia%cw prosarmosme%no pury%na;                       
         Y dymiourgi%a eno%*s ne%ou pury%na y%tan arxika% sxedo%n             
         upoxrewtiko% by%ma se mia egkata%stasy FreeBSD, alla% oi pio         
         pro%sfate*s ekdo%sei*s e%xoun wfelythei% apo% tyn eisagwgy%          
         aisthyta% filiko%terwn programma%twn ru%thmisy*s tou pury%na. Apo%   
         to FreeBSD 5.X kai meta%, ei%nai arketa% eu%kolo na ruthmi%sete ton  
         pury%na xrysimopoiw%nta*s to polu% pio eue%likto su%styma twn        
         "hints" ta opoi%a mporei%te na ruthmi%sete styn protropy% tou        
         loader.                                                              
                                                                              
         Endexome%nw*s na aci%zei ako%ma na dymiourgy%sete e%na ne%o pury%na  
         o opoi%o*s na perie%xei mo%no ta progra%mmata ody%gysy*s pou         
         xreia%zeste, gia na glutw%sete ka%poia mikry% poso%tyta mny%my*s     
         RAM, alla% auto% den ei%nai ple%on aparai%tyto gia ta perisso%tera   
         susty%mata.                                                          
   3.20. Gia tou*s kwdikou%*s pro%sbasy*s twn xrystw%n, na xrysimopoiy%sw     
         DES, Blowfish, y% MD5 kwdikopoi%ysy, kai pw*s tha kathori%sw ti tha  
         xrysimopoiou%n oi xry%ste*s mou;                                     
         Y proepilegme%ny morfy% kruptogra%fysy*s gia kwdikou%*s sto FreeBSD  
         ei%nai to MD5. Y geniky% anti%lyqy ei%nai o%ti pare%xoun kalu%tery   
         asfa%leia se sxe%sy me tyn paradosiaky% morfy% tou UNIX(R) pou       
         basi%zetai ston algo%rithmo DES. Oi kwdikoi% DES ei%nai ako%ma       
         diathe%simoi, an xreia%zetai na diamoira%sete to arxei%o twn         
         kwdikw%n sa*s me palio%tera leitourgika% susty%mata, ta opoi%a       
         xrysimopoiou%n ako%ma to palio%tero kai ligo%tero asfale%*s su%styma 
         (ei%nai diathe%sima an egkatasty%sete ty dianomy% <<crypto>> me%sw   
         tou sysinstall y% egkathistw%nta*s ton anti%stoixo pygai%o kw%dika   
         an ka%nete egkata%stasy me%sw pygai%ou kw%dika). An egkatasty%sete   
         ti*s bibliothy%ke*s crypto tha mpore%sete epi%sy*s na                
         xrysimopoiy%sete kruptogra%fysy Blowfish y opoi%a ei%nai ako%ma pio  
         asfaly%*s. To poia morfy% kwdikw%n xrysimopoiei%tai gia tou*s        
         ne%ou*s kwdikou%*s, ele%gxetai apo% tyn dunato%tyta eiso%dou         
         <<passwd_format>> sto /etc/login.conf, to opoi%o pai%rnei ti*s       
         time%*s <<des>>, <<blf>> (an ei%nai diathe%simy) y% <<md5>>. Dei%te  
         ty seli%da manual tou login.conf(5) gia perisso%tere*s plyrofori%e*s 
         sxetika% me ti*s dunato%tyte*s eiso%dou.                             
   3.21. Giati% enw% y diske%ta ekki%nysy*s cekina%ei kanonika%, krema%ei     
         styn otho%ny Probing Devices...;                                     
         An e%xete egkatestyme%no odygo% IDE Zip(R) y% Jaz(R), afaire%ste ton 
         kai canaprospathy%ste. Y diske%ta ekki%nysy*s mporei% na mperdeutei% 
         apo% autou%*s tou*s odygou%*s. Meta% tyn egkata%stasy tou            
         susty%mato*s, mporei%te na canasunde%sete ton odygo%. Euelpistou%me  
         o%ti to pro%blyma auto% tha diorthwthei% se epo%meny e%kdosy.        
   3.22. Giati% pai%rnw to my%numa la%thou*s panic: can't mount root o%tan    
         ekkinw% to su%styma gia prw%ty fora% meta% tyn egkata%stasy;         
         To sfa%lma auto% proe%rxetai apo% tyn su%gxusy pou prokalei%tai      
         ecaiti%a*s tou diaforetikou% tro%pou me ton opoi%o to BIOS kai to    
         boot block antilamba%nontai tou*s sklyrou%*s di%skou*s. To pro%blyma 
         suny%thw*s emfani%zetai se susty%mata me du%o di%skou*s IDE, eidika% 
         o%tan oi di%skoi ei%nai master (y% mo%noi tou*s) o kathe%na*s sto    
         diko% tou elegkty% IDE kai me to FreeBSD na ei%nai egkatastyme%no*s  
         sto di%sko pou bri%sketai sto deutereu%onta elegkty%. To boot block  
         nomi%zei o%ti to su%styma ei%nai egkatestyme%no ston ad0 (to         
         deu%tero di%sko tou BIOS) enw% o pury%na*s anathe%tei ton prw%to     
         di%sko sto deutereu%onta elegkty%, ad2. Meta% tyn ani%xneusy twn     
         suskeuw%n, o pury%na*s prospathei% na prosarty%sei auto% pou to boot 
         block pisteu%ei o%ti ei%nai o di%sko*s ekki%nysy*s, ad0 enw% styn    
         pragmatiko%tyta ei%nai o ad2 kai fusika% apotugxa%nei.               
                                                                              
         Gia na diorthw%sete to pro%blyma, ka%nte e%na apo% ta paraka%tw:     
                                                                              
          1. Epanekkiny%ste to su%styma kai pie%ste Enter styn protropy%      
             Booting kernel in 10 seconds; hit [Enter] to interrupt. Me ton   
             tro%po auto% tha bgei%te sto pro%gramma tou fortwty%             
             ekki%nysy*s.                                                     
                                                                              
             Kato%pin gra%qte set root_disk_unit="disk_number" . To           
             disk_number tha ei%nai 0 an to FreeBSD ei%nai egkatestyme%no sto 
             master di%sko tou prw%tou elegkty% IDE, 1 an ei%nai              
             egkatestyme%no sto slave di%sko tou prw%tou elegkty%, 2 an       
             ei%nai egkatestyme%no*s ston master di%sko tou deutereu%onto*s   
             IDE kanaliou% kai te%lo*s, 3 an ei%nai egkatestyme%no sto slave  
             di%sko tou deutereu%onto*s IDE kanaliou%.                        
                                                                              
             E%peita gra%qte boot, kai to su%styma sa*s tha pre%pei na        
             ekkiny%sei kanonika%.                                            
                                                                              
             Gia na ka%nete mo%nimy auty% tyn allagy% (w%ste na myn           
             xreia%zetai na ka%nete to parapa%nw ka%the fora% pou             
             epanekkinei%te y% energopoiei%te to FreeBSD myxa%nyma sa*s),     
             ba%lte ty grammy% root_disk_unit="disk_number " sto arxei%o      
             /boot/loader.conf.local.                                         
                                                                              
          2. Metakiny%ste to di%sko tou FreeBSD ston prwteu%onta elegkty%     
             IDE, w%ste oi sklyroi% di%skoi na ei%nai sunexo%menoi.           
   3.23. Poia ei%nai ta o%ria ty*s mny%my*s;                                  
         To o%rio ei%nai ta 4 gigabytes se mia sunythisme%ny egkata%stasy se  
         arxitektoniky% i386TM. Cekinw%nta*s apo% ti*s ekdo%sei*s FreeBSD 4.9 
         kai 5.1, upostyri%zetai kai perisso%tery mny%my me%sw tou pae(4).    
         Xreia%zetai wsto%so na metaglwttistei% cana% o pury%na*s             
         perilamba%nonta*s kai mia e%ctra epilogy% gia tyn energopoi%ysy tou  
         PAE:                                                                 
                                                                              
         options       PAE                                                    
                                                                              
         To FreeBSD/pc98 e%xei o%rio ta 4 GB mny%my*s, kai den mporei% na     
         xrysimopoiythei% PAE se auty% tyn arxitektoniky%. Sto FreeBSD/alpha, 
         to o%rio ty*s mny%my*s ecarta%tai apo% ton tu%po tou ulikou% pou     
         xrysimopoiei%tai - gia leptome%reie*s dei%te ti*s Symeiw%sei*s       
         E%kdosy*s Ulikou% gia Alpha. A%lle*s arxitektonike%*s pou            
         upostyri%zontai apo% to FreeBSD, e%xoun arketa% megalu%tera          
         thewrytika% o%ria sxetika% me ty me%gisty poso%tyta mny%my*s (polla% 
         terabytes).                                                          
   3.24. Poia ei%nai ta o%ria tou susty%mato*s arxei%wn ffs;                  
         Gia susty%mata arxei%wn ffs, to me%gisto thewrytiko% o%rio ei%nai ta 
         8 terabytes (2G blocks), y% 16TB gia proepilegme%no me%getho*s block 
         twn 8K. Styn pragmatiko%tyta, upa%rxei e%na arxiko% o%rio 1          
         terabyte, alla% me ka%poie*s metatrope%*s, ei%nai dunato%n na        
         dymiourgythou%n (kai upa%rxoun) susty%mata arxei%wn mege%thou*s 4    
         terabytes.                                                           
                                                                              
         To me%gisto me%getho*s eno%*s arxei%ou se e%na su%styma ffs ei%nai   
         peri%pou 1G blocks, y% 4TB me me%getho*s block twn 4K.               
                                                                              
         Pi%naka*s 3.1. Me%gista mege%thy arxei%wn                            
                                                                              
         +------------------------------------------------------------+       
         | Me%getho*s block fs | leitourgei% | pre%pei na leitourgei% |       
         |---------------------+-------------+------------------------|       
         | 4K                  | 4T-1        | >4T                    |       
         |---------------------+-------------+------------------------|       
         | 8K                  | >32G        | 32T-1                  |       
         |---------------------+-------------+------------------------|       
         | 16K                 | >128G       | 32T-1                  |       
         |---------------------+-------------+------------------------|       
         | 32K                 | >512G       | 64T-1                  |       
         |---------------------+-------------+------------------------|       
         | 64K                 | >2048G      | 128T-1                 |       
         +------------------------------------------------------------+       
                                                                              
         O%tan to me%getho*s block tou fs ei%nai 4K, leitourgou%n ta tripla%  
         e%mmesa blocks (triple indirect blocks) kai ta pa%nta tha e%prepe na 
         periori%zontai mo%no apo% to me%gisto arithmo% block pou mporei% na  
         anaparastathei% me ty xry%sy triplw%n e%mmeswn blocks (peri%pou 1K^3 
         + 1K^2 + 1K), alla% telika% o periorismo%*s ofei%letai se e%na       
         (la%tho*s) o%rio 1G-1 stou*s arithmou%*s twn blocks. To o%rio stou*s 
         arithmou%*s twn block tha e%prepe na ei%nai 2G-1. Upa%rxoun ka%poia  
         probly%mata o%tan oi arithmoi% twn block tou fs plysia%zoun to 2G-1, 
         alla% te%toioi arithmoi% block den mporou%n na proseggistou%n o%tan  
         to me%getho*s block fs ei%nai 4K.                                    
                                                                              
         Gia mege%thy block 8K kai megalu%tera, ta pa%nta tha e%prepe na      
         periori%zontai apo% to o%rio 2G-1 stou*s arithmou%*s twn block tou   
         fs, alla% styn pragmatiko%tyta o periorismo%*s ofei%letai sto        
         la%tho*s o%rio 1G-1 stou*s arithmou%*s twn block tou fs. H xry%sy    
         tou swstou% ori%ou twn 2G-1 blocks, dymiourgei% pra%gmati            
         probly%mata.                                                         
   3.25. Giati% pai%rnw to my%numa la%tho*s, archsw.readin.failed meta% tyn   
         metaglw%ttisy kai ekki%nysy ne%ou pury%na;                           
         Giati% o pury%na*s sa*s kai to upo%loipo tou basikou% susty%mato*s   
         (world) ei%nai ekto%*s sugxronismou%. Y leitourgi%a se auty% tyn     
         kata%stasy den upostyri%zetai. Bebaiwthei%te o%ti xrysimopoiei%te    
         ti*s entole%*s make buildworld kai make buildkernel gia na           
         anabathmi%sete ton pury%na sa*s.                                     
                                                                              
         Mporei%te na ekkiny%sete ori%zonta*s ton pury%na apeuthei%a*s apo%   
         to deu%tero sta%dio, pie%zonta*s opoiody%pote ply%ktro mo%li*s       
         dei%te to | kai prin cekiny%sei o loader.                            
   3.26. Y egkata%stasy katarre%ei kata% tyn ekki%nysy. Ti mporw% na ka%nw;   
         Dokima%ste na apenergopoiy%sete tyn uposty%ricy ACPI. Mo%li*s        
         cekiny%sei o fortwty%*s ekki%nysy*s, pie%ste to ply%ktro space. To   
         su%styma sa*s tha emfani%sei                                         
                                                                              
         OK                                                                   
                                                                              
         . Gra%qte                                                            
                                                                              
         unset acpi_load                                                      
                                                                              
         kai kato%pin                                                         
                                                                              
         boot                                                                 
                                                                              
         .                                                                    

     ----------------------------------------------------------------------

   [1] Se e%na e-mail apo% ton Keith Frechette <kfrechet@us.ibm.com>.

                       Kefa%laio 4. Sumbato%tyta Ulikou%

   Pi%naka*s Periexome%nwn

   4.1. Genika%

   4.2. Arxitektonike%*s kai Epecergaste%*s

   4.3. Sklyroi% di%skoi, mona%de*s taini%a*s, odygoi% CD kai DVD

   4.4. Plyktrolo%gia kai ponti%kia

   4.5. Suskeue%*s seiriaky%*s epikoinwni%a*s kai Diktu%wsy*s

   4.6. Suskeue%*s y%xou

   4.7. A%llo uliko%

4.1. Genika%

   4.1.1. THe%lw na agora%sw uliko% gia to FreeBSD su%styma mou. Poio
   monte%lo / ma%rka / tu%po*s ei%nai to kalu%tero;

   4.1.1. THe%lw na agora%sw uliko% gia to FreeBSD su%styma mou. Poio         
          monte%lo / ma%rka / tu%po*s ei%nai to kalu%tero;                    
          Upa%rxoun sune%xeia suzyty%sei*s gia to the%ma auto% sti*s li%ste*s 
          ylektronikou% taxudromei%ou tou FreeBSD. Auto% wsto%so ei%nai       
          anameno%meno, kathw%*s to uliko% twn upologistw%n alla%zei polu%    
          gry%gora. Emei%*s ecakolouthou%me na sunistou%me me e%mfasy, na     
          diaba%sete ti*s Symeiw%sei*s Ulikou% tou FreeBSD 11.1 y% 10.4 kai   
          na qa%cete sta arxei%a twn listw%n ylektronikou% taxudromei%ou,     
          prin arxi%sete na rwta%te sxetika% me to teleutai%o kai kalu%tero   
          uliko%. Ei%nai arketa% pithano% na diapistw%sete, o%ti gia to       
          uliko% pou anazyta%te, upy%rce sxetiky% suzy%tysy mo%li*s prin mia  
          ebdoma%da.                                                          
                                                                              
          An qa%xnete gia foryto% upologisty%, ele%gcte ta arxei%a ty%*s      
          li%sta*s ylektronikou% taxudromei%ou freebsd-mobile. Diaforetika%,  
          ma%llon tha the%lete na dei%te ta arxei%a ty*s freebsd-questions y% 
          pithano%n mia li%sta pou na eceidikeu%etai ston tu%po tou ulikou%   
          pou qa%xnete.                                                       

4.2. Arxitektonike%*s kai Epecergaste%*s

   4.2.1. Upostyri%zei to FreeBSD arxitektonike%*s diaforetike%*s apo% tyn
   x86;

   4.2.2. Upostyri%zei to FreeBSD Summetriky% Poluepecergasi%a (SMP);

   4.2.1. Upostyri%zei to FreeBSD arxitektonike%*s diaforetike%*s apo% tyn    
          x86;                                                                
          Nai. Auty% ty stigmy% to FreeBSD mporei% na ektelestei% se          
          arxitektonike%*s x86 kai DEC (tw%ra ple%on Compaq) Alpha. Apo% to   
          FreeBSD 5.0 kai meta%, upostyri%zontai epi%sy*s oi arxitektonike%*s 
          AMD64 kai Intel EM64T, y IA-64 kathw%*s kai y SPARC64(R).           
          Arxitektonike%*s pou tha upostyri%zontai mellontika%,               
          perilamba%noun tyn MIPS(R) kai PowerPC(R). Mporei%te na eggrafei%te 
          sti*s li%ste*s taxudromei%ou freebsd-ppc kai freebsd-mips           
          anti%stoixa gia plyrofori%e*s sxetika% me tyn pro%odo twn ergasiw%n 
          se aute%*s ti*s arxitektonike%*s. Gia genike%*s plyrofori%e*s       
          sxetika% me ne%e*s arxitektonike%*s, eggrafei%te styn ylektroniky%  
          li%sta tou FreeBSD gia ti*s my-Intel platfo%rme*s.                  
                                                                              
          An to myxa%nyma sa*s ei%nai diaforetiky%*s arxitektoniky%*s kai     
          xreia%zeste leitourgiko% a%mesa, sa*s sunistou%me na ri%cete mia    
          matia% sta NetBSD y% OpenBSD.                                       
   4.2.2. Upostyri%zei to FreeBSD Summetriky% Poluepecergasi%a (SMP);         
          Nai. To SMP y%tan energopoiyme%no apo% proepilogy% ston pury%na     
          GENERIC y%dy apo% to FreeBSD 5.2.                                   
                                                                              
          Y arxiky% pro%thesy y%tan na ei%nai energopoiyme%no epi%sy*s apo%   
          proepilogy% kai ston pury%na ty%*s e%kdosy*s 5.3 tou FreeBSD, alla% 
          lo%gw ka%poiwn problyma%twn styn ekte%lesy tou pury%na SMP se       
          myxany%mata xwri%*s pollaplou%*s epecergaste%*s, apofasi%styke na   
          mei%nei anenergo% me%xri tyn antimetw%pisy tou*s. Auto% wsto%so     
          apotelei% proteraio%tyta gia tyn e%kdosy 5.4 tou FreeBSD.           

4.3. Sklyroi% di%skoi, mona%de*s taini%a*s, odygoi% CD kai DVD

   4.3.1. Poia ei%dy sklyrw%n di%skwn upostyri%zontai apo% to FreeBSD;

   4.3.2. Poioi elegkte%*s SCSI y% SAS upostyri%zontai;

   4.3.3. Ti tu%poi odygw%n taini%a*s upostyri%zontai;

   4.3.4. Upostyri%zei to FreeBSD mona%de*s enallagy%*s tainiw%n (tape
   changers);

   4.3.5. Poioi odygoi% CDROM upostyri%zontai apo% to FreeBSD;

   4.3.6. Poioi odygoi% CD-RW upostyri%zontai apo% to FreeBSD;

   4.3.7. Upostyri%zei to FreeBSD odygou%*s Zip(R);

   4.3.8. Upostyri%zei to FreeBSD Jaz(R), EZ kai a%llou*s afairou%menou*s
   odygou%*s;

   4.3.1. Poia ei%dy sklyrw%n di%skwn upostyri%zontai apo% to FreeBSD;        
          To FreeBSD upostyri%zei mona%de*s di%skou twn tu%pwn EIDE, SATA,    
          SCSI, kai SAS (me ton kata%llylo sumbato% elegkty% - dei%te tyn     
          epo%meny eno%tyta), kathw%*s kai o%lou*s tou*s odygou%*s pou        
          xrysimopoiou%n to arxiko% interface ty*s <<Western Digital>> (dyl.  
          MFM, RLL, ESDI kai fusika% IDE). I%sw*s na my leitourgy%soun        
          ka%poioi elegkte%*s ESDI pou xrysimopoiou%n my-tupopoiyme%no        
          interface. Kalu%tera na paramei%nete se interfaces tu%pou           
          WD1002/3/6/7 kai anti%stoixa tou*s.                                 
   4.3.2. Poioi elegkte%*s SCSI y% SAS upostyri%zontai;                       
          Dei%te tyn ply%ry li%sta sti*s Symeiw%sei*s Ulikou% tou FreeBSD     
          11.1 y% 10.4.                                                       
   4.3.3. Ti tu%poi odygw%n taini%a*s upostyri%zontai;                        
          To FreeBSD upostyri%zei odygou%*s SCSI kai QIC-36 (me interface     
          QIC-02). Perilamba%nontai odygoi% 8-mm (gnwstoi% w*s Exabyte)       
          kathw%*s kai odygoi% DAT.                                           
                                                                              
          Orisme%noi apo% tou*s prw%tou*s odygou%*s 8-mm den ei%nai           
          idiai%tera sumbatoi% me SCSI-2, kai mporei% na myn leitourgou%n     
          ikanopoiytika% me to FreeBSD.                                       
   4.3.4. Upostyri%zei to FreeBSD mona%de*s enallagy%*s tainiw%n (tape        
          changers);                                                          
          To FreeBSD upostyri%zei mona%de*s enallagy%*s tu%pou SCSI me tyn    
          xry%sy ty*s suskeuy%*s ch(4) kai ty*s entoly%*s chio(1). Mporei%te  
          na brei%te ti*s leptome%reie*s sxetika% me ton tro%po ele%gxou ty*s 
          mona%da*s enallagy%*s sty seli%da manual tou chio(1).               
                                                                              
          An den xrysimopoiei%te to AMANDA y% ka%poio a%llo projo%n pou na    
          gnwri%zei pw*s na xeiristei% tyn mona%da enallagy%*s tainiw%n, tha  
          pre%pei na thuma%ste o%ti genika% ta progra%mmata gnwri%zoun mo%no  
          pw*s na kiny%soun mia taini%a apo% e%na symei%o se e%na a%llo, kai  
          tha pre%pei esei%*s na symeiw%sete se poia the%sy (slot) bri%sketai 
          y taini%a, kai se poia the%sy pre%pei na pa%ei y taini%a pou        
          bri%sketai auty% ty stigmy% me%sa ston odygo%.                      
   4.3.5. Poioi odygoi% CDROM upostyri%zontai apo% to FreeBSD;                
          Upostyri%zetai opoiosdy%pote odygo%*s SCSI pou ei%nai sundeme%no*s  
          se anti%stoixa upostyrizo%meno elegkty%.                            
                                                                              
          Upostyri%zontai ako%ma ta ako%loutha my-tupopoiyme%na CDROM         
          interfaces:                                                         
                                                                              
            * Mitsumi LU002 (8bit), LU005 (16bit) and FX001D (16bit           
              taxu%tyta*s 2x ).                                               
                                                                              
            * Sony CDU 31/33A                                                 
                                                                              
            * Sound Blaster my-SCSI CDROM                                     
                                                                              
            * Matsushita/Panasonic CDROM                                      
                                                                              
            * IDE CDROM sumbata% me ATAPI                                     
                                                                              
          O%le*s oi ka%rte*s pou den ei%nai SCSI ei%nai genika% ecairetika%   
          pio arge%*s o%tan sugkri%nontai me anti%stoixou*s SCSI odygou%*s,   
          kai ka%poioi odygoi% tu%pou ATAPI i%sw*s na my leitourgy%soun.      
                                                                              
          Ta epi%syma FreeBSD CDROM ISO, kathw%*s kai ta CDROM apo% to Daemon 
          News kai to FreeBSD Mall, upostyri%zoun ekki%nysy apeuthei%a*s apo% 
          to CD.                                                              
   4.3.6. Poioi odygoi% CD-RW upostyri%zontai apo% to FreeBSD;                
          To FreeBSD upostyri%zei opoiody%pote odygo% IDE CD-R y% CD-RW       
          sumbato% me ATAPI. Dei%te to burncd(8) gia leptome%reie*s.          
                                                                              
          To FreeBSD upostyri%zei epi%sy*s opoiody%pote odygo% SCSI CD-R y%   
          CD-RW. Egkatasty%ste kai xrysimopoiy%ste tyn entoly% cdrecord apo%  
          tyn sullogy% twn ports y% apo% pake%to, kai bebaiwthei%te o%ti      
          e%xete enswmatw%sei ston pury%na sa*s ty suskeuy% pass.             
   4.3.7. Upostyri%zei to FreeBSD odygou%*s Zip(R);                           
          To FreeBSD upostyri%zei eggenw%*s odygou%*s Zip(R) SCSI kai ATAPI.  
          Oi odygoi% SCSI ZIP mporou%n na leitourgy%soun mo%no an e%xoun      
          ruthmistei% se SCSI IDs 5 y% 6, alla% an to upostyri%zei o          
          elegkty%*s SCSI pou xrysimopoiei%te, mporei%te ako%ma kai na        
          ekkiny%sete apo% autou%*s. Den ei%nai ceka%tharo poioi elegkte%*s   
          SCSI upostyri%zoun ekki%nysy apo% suskeue%*s me ID diaforetiko%     
          apo% 0 y% 1, e%tsi tha pre%pei na sumbouleuthei%te tyn tekmyri%wsy  
          tou elegkty% sa*s, an the%lete na xrysimopoiy%sete auty% ty         
          dunato%tyta.                                                        
                                                                              
          To FreeBSD upostyri%zei epi%sy*s odygou%*s Zip para%llyly*s         
          thu%ra*s. Bebaiwthei%te o%ti o pury%na*s sa*s perie%xei ta          
          progra%mmata ody%gysy*s gia ti*s suskeue%*s scbus0, da0, ppbus0,    
          kai vp0 (o pury%na*s GENERIC perie%xei ta pa%nta ekto%*s apo% to    
          vp0). Me xry%sy autw%n twn programma%twn ody%gysy*s, o odygo%*s     
          ty*s para%llyly*s thu%ra*s tha pre%pei na ei%nai diathe%simo*s w*s  
          suskeuy% /dev/da0s4. Mporei%te na prosarty%sete di%skou*s           
          xrysimopoiw%nta*s tyn entoly% mount /dev/da0s4 /mnt y% (gia         
          di%skou*s pou e%xoun diamorfwthei% me%sw dos) tyn mount_msdos       
          /dev/da0s4 /mnt.                                                    
                                                                              
          Diaba%ste epi%sy*s to FAQ sxetika% me afairou%menou*s odygou%*s se  
          epo%meno symei%o autou% tou kefalai%ou, kathw%*s kai ti*s           
          symeiw%sei*s sxetika% me tyn <<diamo%rfwsy>> sto kefa%laio          
          Diaxei%risy*s.                                                      
   4.3.8. Upostyri%zei to FreeBSD Jaz(R), EZ kai a%llou*s afairou%menou*s     
          odygou%*s;                                                          
          Aplw%*s leitourgou%n. Oi perisso%tere*s apo% ti*s suskeue%*s        
          aute%*s ei%nai SCSI, kai e%tsi dei%xnoun san SCSI di%skoi sto       
          FreeBSD. To IDE EZ emfani%zetai san odygo%*s IDE.                   
                                                                              
          Bebaiwthei%te o%ti e%xete energopoiy%sei tuxo%n ecwterike%*s        
          suskeue%*s prin ekkiny%sete to su%styma sa*s.                       
                                                                              
          Gia na alla%cete me%so apothy%keusy*s en w%ra leitourgi%a*s,        
          ele%gcte ti*s mount(8), umount(8), kai tyn camcontrol(8) (gia       
          suskeue%*s SCSI) y% atacontrol(8) (gia suskeue%*s IDE), kai         
          epi%sy*s ti*s suzyty%sei*s sxetika% me ty xry%sy afairou%menwn      
          odygw%n se epo%meno tmy%ma tou FAQ.                                 

4.4. Plyktrolo%gia kai ponti%kia

   4.4.1. Upostyri%zei to FreeBSD to USB plyktrolo%gio mou;

   4.4.2. E%xw e%na my-tupiko% ponti%ki tu%pou bus. Pw*s tha to ruthmi%sw;

   4.4.3. Pw*s mporw% na xrysimopoiy%sw to ponti%ki mou tu%pou PS/2
   (<<po%rta*s pontikiou%>> y% <<plyktrologi%ou>>);

   4.4.4. Ei%nai dunato%n na xrysimopoiythei% to ponti%ki me ka%poio tro%po
   e%cw apo% to periba%llon tou susty%mato*s X Window;

   4.4.5. Pw*s mporw% na ka%nw apokopy% kai epiko%llysy keime%nou me to
   ponti%ki se mia konso%la keime%nou;

   4.4.6. To ponti%ki mou e%xei dia%fora e%cupna ply%ktra kai rode%la
   ku%lisy*s. Mporw% na ta xrysimopoiy%sw sto FreeBSD;

   4.4.7. Pw*s mporw% na xrysimopoiy%sw to ponti%ki / trackball / touchpad
   ston foryto% mou upologisty%;

   4.4.8. Pw*s mporw% na xrysimopoiy%sw to ply%ktro delete sto sh kai csh;

   4.4.1. Upostyri%zei to FreeBSD to USB plyktrolo%gio mou;                   
          To FreeBSD upostyri%zei eggenw%*s USB plyktrolo%gia. Energopoiy%ste 
          tyn uposty%ricy USB sto /etc/rc.conf.                               
                                                                              
          Mo%li*s energopoiythei% y uposty%ricy USB plyktrologi%ou sto        
          su%styma sa*s, to plyktrolo%gio tu%pou AT anagnwri%zetai w*s        
          /dev/kbd0 kai to USB plyktrolo%gio gi%netai /dev/kbd1, an ei%nai    
          kai ta du%o sundeme%na sto su%styma. An upa%rxei mo%no to USB       
          plyktrolo%gio, tha anagnwristei% w*s /dev/ukbd0.                    
                                                                              
          An the%lete na xrysimopoiy%sete to USB plyktrolo%gio styn konso%la, 
          tha pre%pei na dylw%sete sugkekrime%na ston odygo% ty*s konso%la*s  
          na xrysimopoiy%sei to upa%rxon USB plyktrolo%gio. Auto% mporei% na  
          gi%nei ektelw%nta*s tyn ako%louthy entoly% w*s me%ro*s ty*s         
          diadikasi%a*s arxikopoi%ysy*s tou susty%mato*s:                     
                                                                              
          # kbdcontrol -k /dev/kbd1 < /dev/ttyv0 > /dev/null                  
                                                                              
          Paratyry%ste o%ti an to plyktrolo%gio USB ei%nai to monadiko%       
          plyktrolo%gio, tha ei%nai diathe%simo w*s /dev/ukbd0, kai y entoly% 
          tha dei%xnei o%pw*s paraka%tw:                                      
                                                                              
          # kbdcontrol -k /dev/ukbd0 < /dev/ttyv0 > /dev/null                 
                                                                              
          E%na kalo% me%ro*s gia na prosthe%sete tyn parapa%nw entoly%,       
          ei%nai to arxei%o /etc/rc.i386.                                     
                                                                              
          Mo%li*s gi%nei auto%, to USB plyktrolo%gio tha pre%pei na           
          leitourgei% kai sto X periba%llon, xwri%*s ana%gky eidikw%n         
          ruthmi%sewn.                                                        
                                                                              
          Y en thermw% su%ndesy kai aposu%ndesy USB plyktrologi%ou, i%sw*s na 
          my leitourgei% ako%ma swsta%. Sa*s sunistou%me na sunde%sete to     
          plyktrolo%gio prin tyn ekki%nysy tou susty%mato*s, kai na to        
          afy%sete sundeme%no me%xri ton termatismo%, gia na apofu%gete       
          tuxo%n probly%mata.                                                 
                                                                              
          Dei%te ty seli%da manual ukbd(4) gia perisso%tere*s plyrofori%e*s.  
   4.4.2. E%xw e%na my-tupiko% ponti%ki tu%pou bus. Pw*s tha to ruthmi%sw;    
          To FreeBSD upostyri%zei ponti%kia tu%pou bus kai ton tu%po InPort   
          bus apo% kataskeuaste%*s o%pw*s Microsoft, Logitech kai ATI. O      
          pury%na*s GENERIC den perie%xei ton aparai%tyto odygo% suskeuy%*s.  
          Gia na perila%bete to pro%gramma ody%gysy*s sto diko% sa*s          
          prosarmosme%no pury%na, prosthe%ste tyn ako%louthy grammy% sto      
          arxei%o ruthmi%sewn pury%na:                                        
                                                                              
          device mse0 at isa? port 0x23c irq5                                 
                                                                              
          Ta ponti%kia tu%pou bus suny%thw*s e%rxontai me dike%*s tou*s       
          ka%rte*s epe%ktasy*s. Endexome%nw*s na e%xete dunato%tyta na        
          ruthmi%sete tyn ka%rta se diaforetiky% dieu%thunsy thu%ra*s kai IRQ 
          apo% auta% pou fai%nontai parapa%nw. Sumbouleuthei%te to            
          egxeiri%dio tou pontikiou% sa*s kai ty seli%da manual mse(4) gia    
          perisso%tere*s plyrofori%e*s.                                       
   4.4.3. Pw*s mporw% na xrysimopoiy%sw to ponti%ki mou tu%pou PS/2           
          (<<po%rta*s pontikiou%>> y% <<plyktrologi%ou>>);                    
          To ponti%ki tu%pou PS/2 upostyri%zetai eggenw%*s. To aparai%tyto    
          pro%gramma ody%gysy*s, psm, perilamba%netai ston pury%na.           
                                                                              
          An o prosarmosme%no*s pury%na*s sa*s den ton perie%xei, prosthe%ste 
          tyn ako%louthy grammy% sto arxei%o ruthmi%sewn pury%na, kai         
          metaglwtti%ste cana% ton pury%na sa*s.                              
                                                                              
          device psm0 at atkbdc? irq 12                                       
                                                                              
          Mo%li*s o pury%na*s anixneu%sei swsta% ty suskeuy% psm0 kata% tyn   
          ekki%nysy, bebaiwthei%te o%ti upa%rxei y anti%stoixy kataxw%rysy    
          gia to psm0 ston kata%logo /dev. Mporei%te na to dymiourgy%sete     
          gra%fonta*s:                                                        
                                                                              
          # cd /dev; sh MAKEDEV psm0                                          
                                                                              
          o%tan e%xete eise%lthei w*s xry%sty*s root.                         
                                                                              
            Symei%wsy:                                                        
                                                                              
          Mporei%te na paralei%qete auto% to by%ma an xrysimopoiei%te         
          FreeBSD 5.0-RELEASE y% new%tero me energopoiyme%no to devfs(5),     
          kathw%*s ta aparai%tyta arxei%a suskeuw%n tha dymiourgythou%n       
          auto%mata ka%tw apo% ton kata%logo /dev.                            
   4.4.4. Ei%nai dunato%n na xrysimopoiythei% to ponti%ki me ka%poio tro%po   
          e%cw apo% to periba%llon tou susty%mato*s X Window;                 
          An xrysimopoiei%te to proepilegme%no pro%gramma ody%gysy*s          
          konso%la*s, syscons(4), mporei%te na xrysimopoiy%sete to dei%kty    
          tou pontikiou% sa*s se konso%le*s keime%nou gia na ka%nete apokopy% 
          kai epiko%llysy keime%nou. Ektele%ste ton dai%mona tou pontikiou%,  
          moused(8), kai energopoiy%ste to dei%kty tou pontikiou% styn        
          eikoniky% konso%la:                                                 
                                                                              
          # moused -p /dev/xxxx -t yyyy                                       
          # vidcontrol -m on                                                  
                                                                              
          O%pou to xxxx ei%nai to o%noma suskeuy%*s tou pontikiou% kai to     
          yyyy ei%nai o tu%po*s tou prwtoko%llou tou. O dai%mona*s tou        
          pontikiou% mporei% na anagnwri%sei auto%mata to ei%do*s tou         
          prwtoko%llou gia ta perisso%tera ponti%kia, ekto%*s apo% palia%     
          seiriaka% monte%la. Kathori%ste to prwto%kollo auto gia na          
          xrysimopoiy%sete tyn auto%maty ani%xneusy. An auty% den doule%qei,  
          dei%te ty seli%da manual moused(8) gia mia li%sta me                
          upostyrizo%menou*s tu%pou*s prwtoko%llwn.                           
                                                                              
          An e%xete ponti%ki tu%pou PS/2, aplw%*s prosthe%ste                 
          moused_enable="YES" sto arxei%o /etc/rc.conf gia na ekkinei% o      
          dai%mona*s tou pontikiou% kata% tyn ekki%nysy. Epipro%stheta, an    
          epithumei%te na xrysimopoiei%te to dai%mona tou pontikiou% se       
          o%le*s ti*s eikonike%*s konso%le*s, kai o%xi mo%no styn konso%la    
          susty%mato*s, prosthe%ste ty grammy% allscreens_flags="-m on" sto   
          /etc/rc.conf.                                                       
                                                                              
          O%tan ektelei%tai o dai%mona*s tou pontikiou%, y pro%sbasy sto      
          ponti%ki pre%pei na suntoni%zetai metacu% tou dai%mona kai a%llwn   
          programma%twn, o%pw*s ta X Windows. Koita%cte sto FAQ tyn erw%tysy  
          Giati% to ponti%ki mou den douleu%ei sta X; gia perisso%tere*s      
          plyrofori%e*s sxetika% me auto% to pro%blyma.                       
   4.4.5. Pw*s mporw% na ka%nw apokopy% kai epiko%llysy keime%nou me to       
          ponti%ki se mia konso%la keime%nou;                                 
          Mo%li*s energopoiy%sete to dai%mona tou pontikiou% (dei%te tyn      
          proygou%meny eno%tyta), kraty%ste piesme%no to ply%ktro 1 (to       
          aristero% ply%ktro) kai kiny%ste to ponti%ki gia na epile%cete mia  
          perioxy% keime%nou. Kato%pin, pie%ste to ply%ktro 2 (to mesai%o     
          ply%ktro) gia na to epikolly%sete styn perioxy% tou drome%a. Me tyn 
          pi%esy tou ply%ktrou 3 (deciou% ply%ktrou) mporei%te na             
          <<epektei%nete>> tyn epilegme%ny perioxy% keime%nou.                
                                                                              
          An to ponti%ki sa*s den e%xei mesai%o ply%ktro, mporei% na the%lete 
          na to ecomoiw%sete y% na alla%cete ti*s leitourgi%e*s twn ply%ktrwn 
          xrysimopoiw%nta*s ti*s epiloge%*s pou pare%xontai apo% ton dai%mona 
          tou pontikiou% Dei%te ty seli%da manual moused(8) gia ti*s          
          leptome%reie*s.                                                     
   4.4.6. To ponti%ki mou e%xei dia%fora e%cupna ply%ktra kai rode%la         
          ku%lisy*s. Mporw% na ta xrysimopoiy%sw sto FreeBSD;                 
          Y apa%ntysy, dustuxw%*s, ei%nai <<ecarta%tai>>. Ta ponti%kia me     
          e%ctra dunato%tyte*s suny%thw*s apaitou%n eceidikeume%na            
          progra%mmata ody%gysy*s. An to pro%gramma ody%gysy*s tou pontikiou% 
          y% to anti%stoixo pro%gramma tou xry%sty den pare%xoun              
          sugkekrime%ny uposty%ricy gia to ponti%ki, tha leitourgei% w*s e%na 
          aplo% ponti%ki du%o y% triw%n ply%ktrwn.                            
                                                                              
          Gia pithany% xry%sy ty*s rode%la*s se periba%llon X Window, dei%te  
          tyn anti%stoixy eno%tyta.                                           
   4.4.7. Pw*s mporw% na xrysimopoiy%sw to ponti%ki / trackball / touchpad    
          ston foryto% mou upologisty%;                                       
          Dei%te tyn apa%ntysy styn proygou%meny erw%tysy.                    
   4.4.8. Pw*s mporw% na xrysimopoiy%sw to ply%ktro delete sto sh kai csh;    
          Gia to Ke%lufo*s Bourne, prosthe%ste ti*s ako%louthe*s gramme%*s    
          sto arxei%o sa*s .shrc. Dei%te epi%sy*s ti*s seli%de*s manual sh(1) 
          kai editrc(5).                                                      
                                                                              
          bind ^? ed-delete-next-char # for console                           
          bind ^[[3~ ed-delete-next-char # for xterm                          
                                                                              
          Gia to Ke%lufo*s C, prosthe%ste ti*s ako%louthe*s gramme%*s sto     
          arxei%o sa*s .cshrc. Dei%te epi%sy*s ty seli%da manual tou csh(1).  
                                                                              
          bindkey ^? delete-char # for console                                
          bindkey ^[[3~ delete-char # for xterm                               
                                                                              
          Gia perisso%tere*s plyrofori%e*s, dei%te auty% ty seli%da.          

4.5. Suskeue%*s seiriaky%*s epikoinwni%a*s kai Diktu%wsy*s

   4.5.1. Poie*s ka%rte*s diktu%ou upostyri%zei to FreeBSD;

   4.5.2. Upostyri%zei to FreeBSD modems pou leitourgou%n me ty boy%theia
   logismikou% o%pw*s ta Winmodems;

   4.5.3. Upa%rxei eggene%*s pro%gramma ody%gysy*s gia ti*s ka%rte*s Broadcom
   43xx;

   4.5.4. Poie*s ka%rte*s pollaplw%n seiriakw%n thurw%n upostyri%zontai apo%
   to FreeBSD;

   4.5.5. Pw*s mporw% na emfani%sw tyn protropy% boot: se mia seiriaky%
   konso%la;

   4.5.1. Poie*s ka%rte*s diktu%ou upostyri%zei to FreeBSD;                   
          Gia tyn ply%ry li%sta, dei%te ti*s Symeiw%sei*s Ulikou% pou         
          pare%xontai me ka%the e%kdosy tou FreeBSD.                          
   4.5.2. Upostyri%zei to FreeBSD modems pou leitourgou%n me ty boy%theia     
          logismikou% o%pw*s ta Winmodems;                                    
          To FreeBSD upostyri%zei arketa% software modems me tyn boy%theia    
          epipro%sthetou logismikou%. To port comms/ltmdm prosthe%tei         
          uposty%ricy gia modems pou basi%zontai sto dymofile%*s ku%klwma     
          Lucent LT. To port comms/mwavem upostyri%zei to modem pou           
          diathe%toun oi forytoi% upologiste%*s Thinkpad 600 kai 700 ty*s     
          IBM.                                                                
                                                                              
          Den mporei%te na egkatasty%sete to FreeBSD me%sw software modem. To 
          logismiko% auto% pre%pei na egkatastathei% meta% tyn egkata%stasy   
          tou FreeBSD.                                                        
   4.5.3. Upa%rxei eggene%*s pro%gramma ody%gysy*s gia ti*s ka%rte*s Broadcom 
          43xx;                                                               
          O%xi, kai ma%llon den tha upa%rcei.                                 
                                                                              
          Y Broadcom arnei%tai na dw%sei dymo%sia plyrofori%e*s sxetika% me   
          ton programmatismo% twn oloklyrwme%nwn ty*s pou xrysimopoiou%ntai   
          se efarmoge%*s asu%rmatwn diktu%wn, pithano%n epeidy% kai to tmy%ma 
          tou pompode%kty ty*s ka%rta*s ele%gxetai me ty boy%theia            
          logismikou%. Gia na apokty%soun e%gkrisy gia ti*s ka%rte*s tou*s    
          apo% to FCC, pre%pei na ecasfali%soun o%ti oi telikoi% xry%ste*s    
          den tha ei%nai se the%sy na ka%noun ruthmi%sei*s o%pw*s allagy%     
          ty*s suxno%tyta*s leitourgi%a*s, twn parame%trwn diamo%rfwsy*s kai  
          ty*s isxu%o*s ekpompy%*s. Alla% xwri%*s ti*s plyrofori%e*s          
          programmatismou%, ei%nai sxedo%n adu%nato na grafei% pro%gramma     
          ody%gysy*s.                                                         
   4.5.4. Poie*s ka%rte*s pollaplw%n seiriakw%n thurw%n upostyri%zontai apo%  
          to FreeBSD;                                                         
          Upa%rxei mia li%sta gia aute%*s styn eno%tyta dia%forwn suskeuw%n   
          tou Egxeiridi%ou.                                                   
                                                                              
          Ako%ma fai%netai o%ti leitourgou%n kai ka%poie*s ka%rte*s pou       
          ei%nai antigrafe%*s epw%numwn monte%lwn, eidika% o%se*s             
          upostyri%zoun o%ti ei%nai sumbate%*s me ti*s anti%stoixe*s ti*s     
          AST.                                                                
                                                                              
          Dei%te ty seli%da manual sio(4) gia perisso%tere*s plyrofori%e*s    
          sxetika% me ty ru%thmisy te%toiwn kartw%n.                          
   4.5.5. Pw*s mporw% na emfani%sw tyn protropy% boot: se mia seiriaky%       
          konso%la;                                                           
           1. Dymiourgy%ste pury%na pou na perie%xei tyn epilogy% options     
              COMCONSOLE.                                                     
                                                                              
           2. Dymiourgy%ste to /boot.config kai gra%qte me%sa se auto% mo%no  
              tyn epilogy% -P.                                                
                                                                              
           3. Aposunde%ste to plyktrolo%gio apo% to su%styma.                 
                                                                              
          Dei%te to arxei%o /usr/src/sys/i386/boot/biosboot/README.serial gia 
          perisso%tere*s plyrofori%e*s.                                       

4.6. Suskeue%*s y%xou

   4.6.1. Poie*s ka%rte*s y%xou upostyri%zontai apo% to FreeBSD;

   4.6.2. Upa%rxei ka%poia lu%sy gia to pro%blyma tou y%xou styn ka%rta mou
   pou upostyri%zetai apo% to pcm(4);

   4.6.1. Poie*s ka%rte*s y%xou upostyri%zontai apo% to FreeBSD;              
          To FreeBSD upostyri%zei dia%fore*s ka%rte*s y%xou,                  
          sumperilambanome%nwn twn SoundBlaster(R), SoundBlaster(R) Pro,      
          SoundBlaster(R) 16, Pro Audio Spectrum 16, AdLib, kai Gravis        
          UltraSound (gia perisso%tere*s plyrofori%e*s, dei%te ti*s           
          Plyrofori%e*s E%kdosy*s tou FreeBSD kai ty seli%da manual snd(4)).  
          Upa%rxei epi%sy*s periorisme%ny uposty%ricy gia ka%rte*s MIDI pou   
          ei%nai sumbate%*s me to pro%tupo MPU-401. Epi%sy*s upostyri%zontai  
          oi ka%rte*s pou ei%nai sumbate%*s me to pro%tupo Microsoft(R) Sound 
          System.                                                             
                                                                              
            Symei%wsy:                                                        
                                                                              
          To parapa%nw isxu%ei mo%no gia ton y%xo! To pro%gramma ody%gysy*s   
          den upostyri%zei tuxo%n CDROM, SCSI y% joysticks pou sunde%ontai    
          pa%nw se aute%*s ti*s ka%rte*s, ekto%*s apo% tyn SoundBlaster(R).   
          An kai y diepafy% SCSI ty*s SoundBlaster(R) kathw%*s kai ka%poia    
          my-SCSI CDROM upostyri%zontai, den mporou%n wsto%so na              
          xrysimopoiythou%n gia ty diadikasi%a ekki%nysy*s.                   
   4.6.2. Upa%rxei ka%poia lu%sy gia to pro%blyma tou y%xou styn ka%rta mou   
          pou upostyri%zetai apo% to pcm(4);                                  
          Ka%poie*s ka%rte*s y%xou, o%pw*s y es1370, mydeni%zoun tyn e%ntasy  
          tou y%xou se ka%the ekki%nysy. Pre%pei na ektelei%te tyn ako%louthy 
          entoly% ka%the fora% pou cekina% to myxa%nyma:                      
                                                                              
          # mixer pcm 100 vol 100 cd 100                                      

4.7. A%llo uliko%

   4.7.1. Poie*s a%lle*s suskeue%*s upostyri%zontai apo% to FreeBSD;

   4.7.2. Upostyri%zei to FreeBSD diaxei%risy ene%rgeia*s gia to foryto% mou
   upologisty%;

   4.7.3. Pw*s mporw% na apenergopoiy%sw to ACPI;

   4.7.4. Giati% to Micron su%styma mou krema%ei kata% tyn ekki%nysy;

   4.7.5. Y diske%ta ekki%nysy*s krema%ei sty mytriky% ASUS K7V. Pw*s mporw%
   na to diorthw%sw auto%;

   4.7.6. Giati% y PCI ka%rta diktu%ou mou ty*s 3Com(R) den leitourgei% me to
   Micron upologisty% mou;

   4.7.7. Y PCMCIA ka%rta mou den leitourgei%. Ble%pw to ecy%*s my%numa:
   <<cbb0: unsupported card type detected.>> Ti mporw% na ka%nw;

   4.7.1. Poie*s a%lle*s suskeue%*s upostyri%zontai apo% to FreeBSD;          
          Dei%te to Egxeiri%dio gia ty li%sta twn upo%loipwn suskeuw%n pou    
          upostyri%zontai.                                                    
   4.7.2. Upostyri%zei to FreeBSD diaxei%risy ene%rgeia*s gia to foryto% mou  
          upologisty%;                                                        
          Apo% to FreeBSD 4.X kai meta%, upostyri%zetai to APM se             
          sugkekrime%na myxany%mata. Perisso%tere*s plyrofori%e*s mporei%te   
          na brei%te sto apm(4).                                              
                                                                              
          Apo% to FreeBSD 5.X kai meta%, upostyri%zetai y dunato%tyta ACPI y  
          opoi%a upa%rxei se o%lou*s tou*s su%gxronou*s upologiste%*s.        
          Mporei%te na brei%te perisso%tere*s plyrofori%e*s sto acpi(4). An   
          e%na su%styma upostyri%zei to%so APM o%so kai ACPI, mporei%te na    
          xrysimopoiy%sete o%poio the%lete. Sa*s sunistou%me na dokima%sete   
          kai ta du%o kai na epile%cete auto% pou kalu%ptei kalu%tera ti*s    
          ana%gke*s sa*s.                                                     
   4.7.3. Pw*s mporw% na apenergopoiy%sw to ACPI;                             
          Prosthe%ste ty grammy%                                              
                                                                              
          hint.acpi.0.disabled="1"                                            
                                                                              
          sto arxei%o /boot/device.hints.                                     
   4.7.4. Giati% to Micron su%styma mou krema%ei kata% tyn ekki%nysy;         
          Orisme%ne*s mytrike%*s Micron ulopoiou%n to PCI BIOS me my          
          tupopoiyme%no tro%po, prokalw%nta*s probly%mata styn ekki%nysy tou  
          FreeBSD, kathw%*s oi PCI suskeue%*s den ruthmi%zontai sti*s         
          dieuthu%nsei*s pou anafe%rontai.                                    
                                                                              
          Gia na paraka%mqete to pro%blyma, apenergopoiy%ste tyn epilogy%     
          <<Plug and Play Operating System>> apo% to BIOS.                    
   4.7.5. Y diske%ta ekki%nysy*s krema%ei sty mytriky% ASUS K7V. Pw*s mporw%  
          na to diorthw%sw auto%;                                             
          Sti*s ruthmi%sei*s tou BIOS, apenergopoiy%ste tyn epilogy% <<boot   
          virus protection>>.                                                 
   4.7.6. Giati% y PCI ka%rta diktu%ou mou ty*s 3Com(R) den leitourgei% me to 
          Micron upologisty% mou;                                             
          Orisme%ne*s mytrike%*s ty*s Micron e%xoun my-tupopoiyme%no PCI BIOS 
          to opoi%o den ruthmi%zei ti*s suskeue%*s PCI sti*s dieuthu%nsei*s   
          pou anafe%rontai. Auto% dymiourgei% probly%mata kata% tyn ekki%nysy 
          tou FreeBSD.                                                        
                                                                              
          Gia na paraka%mqete to pro%blyma, apenergopoiy%ste tyn epilogy%     
          <<Plug and Play Operating System>> apo% to BIOS.                    
   4.7.7. Y PCMCIA ka%rta mou den leitourgei%. Ble%pw to ecy%*s my%numa:      
          <<cbb0: unsupported card type detected.>> Ti mporw% na ka%nw;       
          Mporei%te na dokima%sete na xrysimopoiy%sete tyn arxiky% ulopoi%ysy 
          OLDCARD. Tropopoiy%ste to arxei%o ru%thmisy*s tou pury%na sa*s, kai 
          afaire%ste ti*s ako%louthe*s gramme%*s:                             
                                                                              
          device cbb                                                          
          device pccard                                                       
          device cardbus                                                      
                                                                              
          Meta% prosthe%ste:                                                  
                                                                              
          device pcic                                                         
          device card 1                                                       
                                                                              
          Metaglwtti%ste cana% kai egkatasty%ste to ne%o pury%na o%pw*s       
          perigra%fetai styn Ru%thmisy Pury%na tou FreeBSD.                   

                    Kefa%laio 5. Antimetw%pisy Problyma%twn

   5.1. Giati% to FreeBSD bri%skei la%tho*s poso%tyta mny%my*s;

   5.2. O sklyro%*s mou di%sko*s e%xei xalasme%nou*s tomei%*s. Ti mporw% na
   ka%nw;

   5.3. Giati to FreeBSD den anixneu%ei ton elegkty% SCSI ston HP Netserver;

   5.4. Ble%pw sune%xeia mynu%mata tou tu%pou ed1: timeout. Ti symai%noun;

   5.5. Giati% stama%tyse na leitourgei% y ka%rta mou 3Com(R) 3C509 xwri%*s
   na upa%rxei emfany%*s lo%go*s;

   5.6. O ektupwty%*s mou styn para%llyly thu%ra ei%nai apelpistika% argo%*s.
   Ti mporw% na ka%nw;

   5.7. Giati% ta progra%mmata mou peristasiaka% termati%zoun me sfa%lma
   Signal 11;

   5.8. To su%styma mou stamata%ei ei%te me Fatal trap 12: page fault in
   kernel mode, y% me panic:, dei%xnonta*s kai mia seira% apo% plyrofori%e*s.
   Ti pre%pei na ka%nw;

   5.9. Giati% y otho%ny mou mauri%zei kai xa%nei to sugxronismo% ty*s kata%
   tyn ekki%nysy;

   5.10. Giati% to FreeBSD su%styma mou xrysimopoiei% mo%no 64MB RAM, enw% o
   upologisty%*s mou e%xei egkatestyme%na 128MB;

   5.11. To su%styma mou e%xei perisso%tero apo% 1 GB RAM, kai pai%rnw panics
   me mynu%mata <<kmem_map too small>>. Pou ei%nai to pro%blyma;

   5.12. To su%styma mou den e%xei 1GB RAM, kai pa%li o%mw*s to FreeBSD
   dymiourgei% panic me to my%numa kmem_map too small!

   5.13. Giati% pai%rnw to my%numa la%thou*s /kernel: proc: table is full;

   5.14. Giati% pai%rnw to my%numa la%thou*s CMAP busy o%tan epanekkinw% me
   ne%o pury%na;

   5.15. Ti symai%nei to my%numa ahc0: brkadrint, Illegal Host Access at
   seqaddr 0x0;

   5.16. O%tan cekinw% to su%styma mou pai%rnw to la%tho*s ahc0: illegal
   cable configuration. Y kalwdi%wsy mou ei%nai swsty%. Ti sumbai%nei;

   5.17. Giati% to Sendmail di%nei to my%numa la%thou*s <<mail loops back to
   myself>>;

   5.18. Giati% den sumperife%rontai swsta% oi efarmoge%*s ply%rou*s
   otho%ny*s se apomakrusme%na myxany%mata;

   5.19. Giati% to myxa%nyma mou dei%xnei to my%numa calcru: negative
   time...;

   5.20. Giati% y PnP ka%rta mou den anixneu%etai ple%on (y% anixneu%etai w*s
   unknown) meta% tyn anaba%thmisy se FreeBSD 4.X;

   5.21. Giati% pai%rnw to la%tho*s nlist failed o%tan ektelw%, gia
   para%deigma, to top y% to systat;

   5.22. Giati% pai%rnei to%so xro%no na sundethw% me ton upologisty% mou
   me%sw ssh y% telnet;

   5.23. Poia ei%nai y e%nnoia tou stray (periplanw%menou) IRQ;

   5.24. Giati% ble%pw sune%xeia to my%numa file: table is full sto dmesg;

   5.25. Giati% to rolo%i sto foryto% mou upologisty% den krata%ei tyn swsty%
   w%ra;

   5.26. Giati% o foryto%*s mou upologisty%*s den anagnwri%zei swsta% ti*s
   ka%rte*s tu%pou PC card;

   5.27. Giati% o fortwty%*s ekki%nysy*s tou FreeBSD dei%xnei to my%numa
   la%thou*s Read error kai stamata%ei meta% tyn otho%ny tou BIOS;

   5.28. E%na a%llo leitourgiko% su%styma kate%streqe ton diaxeiristy%
   ekki%nysy*s mou. Pw*s mporw% na ton apokatasty%sw;

   5.29. Ti symai%nei to my%numa la%thou*s swap_pager: indefinite wait
   buffer:;

   5.30. Ti ei%nai ta sfa%lmata <<UDMA ICRC>>, kai pw*s mporw% na ta
   diorthw%sw;

   5.31. Ti ei%nai to lock order reversal;

   5.32. Ti symai%nei to my%numa Called ... with the following non-sleepable
   locks held;

   5.33. Giati% y diadikasi%a buildworld/installworld stamata%ei me to
   my%numa touch: not found;

5.1.  Giati% to FreeBSD bri%skei la%tho*s poso%tyta mny%my*s;                                  
      Auto% ofei%letai sty diafora% metacu% fusikw%n kai eikonikw%n dieuthu%nsewn mny%my*s.    
                                                                                               
      Y su%mbasy pou kata% ba%sy akolouthei%tai sto uliko% tou PC, ei%nai na xrysimopoiei%tai  
      y mny%my metacu% 3.5G kai 4G gia eidiko% skopo%, suny%thw*s gia tyn pro%sbasy se         
      ka%rte*s PCI. Auto% e%xei w*s apote%lesma na myn mporei% na antistoixythei% fusiky%      
      mny%my se auty% tyn perioxy% dieuthu%nsewn.                                              
                                                                                               
      To uliko% tou upologisty% sa*s tha kathori%sei ti gi%netai me tyn mny%my pou kanonika%   
      emfani%zetai se auty% ty the%sy. Dustuxw%*s, se ka%poie*s periptw%sei*s to uliko% den    
      ka%nei ti%pota, kai xa%netai y dunato%tyta xry%sy*s twn teleutai%wn 500M mny%my*s RAM.   
                                                                                               
      Eutuxw%*s, sti*s perisso%tere*s periptw%sei*s to uliko% anakateuthu%nei ty mny%my se     
      uqylo%tery the%sy, w%ste na ei%nai ako%ma dunaty% y xry%sy ty*s. Auto% mporei% wsto%so   
      na sa*s prokale%sei ka%poia su%gxusy an parakolouthei%te ta mynu%mata ekki%nysy*s.       
                                                                                               
      Styn 32 bit e%kdosy tou FreeBSD, y mny%my fai%netai na e%xei xathei% kathw%*s            
      anakateuthu%netai pa%nw apo% ta 4G, ta opoi%a den ei%nai prosba%sima apo% 32 bit         
      pury%na. Styn peri%ptwsy auty% y lu%sy ei%nai na ftia%cete e%na pury%na tu%pou PAE.      
      Dei%te auty%n tyn kataxw%rysy sto FAQ gia perisso%tere*s plyrofori%e*s.                  
                                                                                               
      Styn 64 bit e%kdosy tou FreeBSD, y% o%tan xrysimopoiei%tai pury%na*s tu%pou PAE, to      
      FreeBSD tha anixneu%sei kai tha anakateuthu%nei swsta% ty mny%my w%ste na ei%nai         
      xrysimopoiy%simy. Kata% tyn ekki%nysy wsto%so, mporei% na fai%netai o%ti to FreeBSD      
      anixneu%ei perisso%tery mny%my apo% auty% pou e%xei styn pragmatiko%tyta to su%styma.    
      Auto% ei%nai fusiologiko% kai y diathe%simy mny%my tha diorthwthei% kathw%*s             
      oloklyrw%netai y diadikasi%a ty*s ekki%nysy*s.                                           
5.2.  O sklyro%*s mou di%sko*s e%xei xalasme%nou*s tomei%*s. Ti mporw% na ka%nw;               
      Stou*s di%skou*s SCSI, o odygo%*s mporei% suny%thw*s na epanatopothety%sei auto%mata ta  
      dedome%na se enallaktikou%*s tomei%*s. Wsto%so oi perisso%teroi di%skoi e%rxontai me tyn 
      dunato%tyta auty% apenergopoiyme%ny.                                                     
                                                                                               
      Gia na energopoiy%sete tyn epanatopothe%tysy xalasme%nwn tome%wn, epecergastei%te tyn    
      prw%ty seli%da kata%stasy*s ty*s suskeuy%*s (modepage), di%nonta*s tyn paraka%tw entoly% 
      (w*s root):                                                                              
                                                                                               
      # camcontrol modepage sd0 -m 1 -e -P 3                                                   
                                                                                               
      kai alla%cte ti*s time%*s twn AWRE kai ARRE apo% 0 se 1:                                 
                                                                                               
      AWRE (Auto Write Reallocation Enbld):  1                                                 
      ARRE (Auto Read Reallocation Enbld):  1                                                  
                                                                                               
      Oi su%gxronoi odygoi% tu%pou IDE e%xoun epi%sy*s energopoiyme%ny apo% to ergosta%sio ty  
      dunato%tyta epanatopothe%tysy*s xalasme%nwn tome%wn.                                     
                                                                                               
      An dei%te proeidopoiy%sei*s sxetika% me xalasme%nou*s tomei%*s (se opoiody%pote ei%do*s  
      di%skou), ei%nai w%ra na skeftei%te na alla%cete ton odygo%. I%sw*s mpore%sete na        
      xrysimopoiy%sete to diagnwstiko% pro%gramma pou di%nei o kataskeuasty%*s tou di%skou gia 
      na apomonw%sete tou*s xalasme%nou*s tomei%*s, alla% styn kalu%tery peri%ptwsy aplw%*s    
      tha kerdi%sete li%go perisso%tero xro%no.                                                
5.3.  Giati to FreeBSD den anixneu%ei ton elegkty% SCSI ston HP Netserver;                     
      To pro%blyma auto% ei%nai gnwsto%. O enswmatwme%no*s sty mytriky% elegkty%*s SCSI tou HP 
      Netserver, xrysimopoiei% su%ndesy tu%pou EISA kai katalamba%nei ty the%sy EISA me        
      arithmo% 11. Me ton tro%po auto%, o%le*s oi <<pragmatike%*s>> upodoxe%*s tu%pou EISA     
      bri%skontai prin apo% auty%. Wsto%so, y perioxy% dieuthu%nsewn twn upodoxw%n EISA me     
      arithmo% >= 10, sugkrou%etai me tyn perioxy% dieuthu%nsewn tou PCI, kai to FreeBSD sty   
      symeriny% tou morfy%, den mporei% na xeiristei% swsta% auty% tyn kata%stasy.             
                                                                                               
      E%tsi, gia tyn w%ra, to kalu%tero pou mporei%te na ka%nete ei%nai na parista%nete o%ti   
      den upa%rxei su%gkrousy dieuthu%nsewn :) kai na aneba%sete tyn epilogy% EISA_SLOTS tou   
      pury%na styn timy% 12. Metaglwtti%ste e%peita cana% ton pury%na, o%pw*s perigra%fetai    
      styn sxetiky% kataxw%rysy tou Egxeiridi%ou.                                              
                                                                                               
      Fusika% auto% ei%nai e%na pro%blyma anti%stoixo me to augo% kai tyn ko%ta, o%so afora%   
      tyn egkata%stasy eno%*s te%toiou myxany%mato*s. Gia na prospera%sete to pro%blyma,       
      upa%rxei eidiky% pro%bleqy sto UserConfig. My xrysimopoiy%sete to <<visual>> interface,  
      alla% tyn grammy% entolw%n. Aplw%*s gra%qte:                                             
                                                                                               
      eisa 12                                                                                  
      quit                                                                                     
                                                                                               
      styn protropy%, kai egkatasty%ste to su%styma sa*s o%pw*s suny%thw*s. Sa*s sunistou%me   
      wsto%so na metaglwtti%sete kai na egkatasty%sete to diko% sa*s prosarmosme%no pury%na.   
                                                                                               
      Euelpistou%me o%ti se mellontike%*s ekdo%sei*s, tha upa%rxei kalu%tery dio%rthwsy gia to 
      pro%blyma auto%.                                                                         
                                                                                               
        Symei%wsy:                                                                             
                                                                                               
      Den mporei%te na xrysimopoiy%sete di%sko se kata%stasy dangerously dedicated             
      (epiki%nduna afosiwme%ny) me ton HP Netserver. Dei%te auty% ty symei%wsy gia             
      perisso%tere*s plyrofori%e*s.                                                            
5.4.  Ble%pw sune%xeia mynu%mata tou tu%pou ed1: timeout. Ti symai%noun;                       
      Ta mynu%mata auta% prokalou%ntai suny%thw*s apo% diene%cei*s sta interrupts (p.x. du%o   
      ka%rte*s pou xrysimopoiou%n to i%dio IRQ). Ekkiny%ste me tyn epilogy% -c kai alla%cte    
      tyn kataxw%rysy ed0/de0/... w%ste na sumbadi%zei me to uliko% sa*s.                      
                                                                                               
      An xrysimopoiei%te tyn su%ndesy BNC ty*s ka%rta*s diktu%ou sa*s, i%sw*s na dei%te        
      epi%sy*s anti%stoixa mynu%mata se peri%ptwsy problymatikou% termatismou%. Gia na         
      ele%gcete tyn peri%ptwsy auty%, sunde%ste e%na termatisty% apeuthei%a*s styn ka%rta      
      (xwri%*s kalw%dio) kai dei%te an stamaty%soun ta mynu%mata.                              
                                                                                               
      Ka%poie*s ka%rte*s sumbate%*s me NE2000, di%noun auto% to my%numa an den upa%rxei        
      su%ndesy sty thu%ra UTP y% an to kalw%dio ei%nai aposundeme%no.                          
5.5.  Giati% stama%tyse na leitourgei% y ka%rta mou 3Com(R) 3C509 xwri%*s na upa%rxei          
      emfany%*s lo%go*s;                                                                       
      Y ka%rta auty% e%xei tyn kaky% suny%theia na xa%nei ti*s ruthmi%sei*s ty*s. Ananew%ste   
      ti*s, xrysimopoiw%nta*s to boythytiko% pro%gramma DOS 3c5x9.exe.                         
5.6.  O ektupwty%*s mou styn para%llyly thu%ra ei%nai apelpistika% argo%*s. Ti mporw% na       
      ka%nw;                                                                                   
      An to mo%no pro%blyma ei%nai o uperbolika% argo%*s ektupwty%*s, mporei%te na dokima%sete 
      na alla%cete tyn kata%stasy leitourgi%a*s ty*s para%llyly*s thu%ra*s o%pw*s              
      perigra%fetai sto kefa%laio tou Egxeiridi%ou sxetika% me tyn Egkata%stasy Ektupwty%.     
5.7.  Giati% ta progra%mmata mou peristasiaka% termati%zoun me sfa%lma Signal 11;              
      Ta sfa%lmata tu%pou Signal 11 dymiourgou%ntai o%tan mia diergasi%a prospathei% na        
      prospela%sei perioxy% mny%my*s gia tyn opoi%a den e%xei pa%rei a%deia apo% to            
      leitourgiko% su%styma. An sumbai%nei ka%ti te%toio se fainomenika% tuxai%a xronika%      
      diasty%mata, tha pre%pei na arxi%sete na to ereuna%te polu% prosektika%.                 
                                                                                               
      Ta probly%mata auta% suny%thw*s ofei%lontai se ka%poion apo% tou*s paraka%tw lo%gou*s:   
                                                                                               
       1. An to pro%blyma emfani%zetai mo%no se mia sugkekrime%ny efarmogy% tyn opoi%a         
          anaptu%ssete esei%*s, ei%nai pithanw%*s la%tho*s ston diko% sa*s kw%dika.            
                                                                                               
       2. An to pro%blyma bri%sketai se tmy%ma tou basikou% susty%mato*s tou FreeBSD, mporei%  
          epi%sy*s na ei%nai problymatiko%*s kw%dika*s, alla% ti*s perisso%tere*s fore%*s, ta  
          probly%mata auta% bri%skontai kai diorthw%nontai prin dianemythou%n stou*s           
          perisso%terou*s apo% esa%*s pou diaba%zete to FAQ (gia to lo%go auto% a%llwste       
          upa%rxei kai y grammy% ana%ptucy*s -current).                                        
                                                                                               
      Gia para%deigma, e%na*s gry%goro*s tro%po*s na diapistw%sete o%ti den pro%keitai gia     
      pro%blyma tou FreeBSD, ei%nai an to pro%blyma emfani%zetai kata% ty metaglw%ttisy        
      ka%poiou progra%mmato*s, alla% ka%the fora% kai se diaforetiko% symei%o.                 
                                                                                               
      Gia para%deigma, upothe%ste o%ti ektelei%te e%na <<make buildworld>>, kai y              
      metaglw%ttisy apotugxa%nei kata% tyn epecergasi%a tou arxei%ou ls.c se ls.o. An          
      ektele%sete cana% <<make buildworld>>, kai y metaglw%ttisy stamaty%sei sto i%dio         
      symei%o, pro%keitai pra%gmati gia pro%blyma sta arxei%a tou build -- dokima%ste na       
      ananew%sete ton pygai%o kw%dika kai na canaprospathy%sete. An y metaglw%ttisy            
      apotugxa%nei allou%, auto% sxedo%n si%goura ofei%letai se problymatiko% uliko%.          
                                                                                               
      Ti pre%pei na ka%nete:                                                                   
                                                                                               
      Styn prw%ty peri%ptwsy mporei%te na xrysimopoiy%sete ka%poio debugger o%pw*s to gdb gia  
      na brei%te to symei%o sto pro%gramma me tyn problymatiky% dieu%thunsy kai na to          
      diorthw%sete.                                                                            
                                                                                               
      Sty deu%tery peri%ptwsy, tha pre%pei na epalytheu%sete o%ti den ftai%ei to uliko% sa*s.  
                                                                                               
      Sti*s sunythisme%ne*s aiti%e*s autou% tou probly%mato*s, perilamba%nontai:               
                                                                                               
       1. Oi sklyroi% sa*s di%skoi mporei% na uperthermai%nontai. Ele%gcte o%ti leitourgou%n   
          oi anemisty%re*s sto kouti% sa*s. An den leitourgou%n, ei%nai pithano% oi di%skoi    
          sa*s (kai i%sw*s kai a%lla ecarty%mata) na uperthermai%nontai.                       
                                                                                               
       2. O epecergasty%*s sa*s e%xei uperthermanthei%: Auto% mporei% na sumbei% se peri%ptwsy 
          pou ton leitourgei%te se megalu%tery suxno%tyta apo% tyn kanoniky% (overclocking) y% 
          an to anemistyra%ki tou epecergasty% e%xei stamaty%sei na leitourgei%. Se ka%the     
          peri%ptwsy, tha pre%pei na ecasfali%sete o%ti xrysimopoiei%te to uliko% sa*s         
          su%mfwna me ti*s prodiagrafe%*s tou, toula%xiston gia o%so dia%styma xreia%zetai gia 
          na epilu%sete to pro%blyma. Gia para%deigma, an e%xete ka%nei overclocking,          
          epistre%qte ton epecergasty% styn kanoniky% tou suxno%tyta.                          
                                                                                               
          Sxetika% me to overclocking, symeiw%ste epi%sy*s o%ti ei%nai ftyno%tero na e%xete    
          e%na pio argo% su%styma apo% e%na katestramme%no pou xreia%zetai antikata%stasy!     
          Epi%sy*s y koino%tyta genika% den tha sa*s antimetwpi%sei me katano%ysy an           
          anafe%rete probly%mata pou parousia%zontai se susty%mata pou leitourgou%n ekto%*s    
          prodiagrafw%n, ei%te esei%*s pisteu%ete o%ti y leitourgi%a tou*s ei%nai asfaly%*s,   
          ei%te o%xi.                                                                          
                                                                                               
       3. Problymatiky% mny%my: An e%xete egkatestyme%na perisso%tera apo% e%na SIMMS / DIMMS, 
          afaire%ste ta kai prospathy%ste na leitourgy%sete to myxa%nyma me e%na-e%na xwrista% 
          w%ste na entopi%sete to pro%blyma se epi%pedo eno%*s SIMM / DIMM, y% i%sw*s se e%na  
          sunduasmo% tou*s.                                                                    
                                                                                               
       4. Uper-aisio%doce*s ruthmi%sei*s mytriky%*s: Sti*s ruthmi%sei*s tou BIOS, kai se       
          ka%poie*s periptw%sei*s se ruthmi%sei*s sty mytriky% me%sw braxukuklwty%rwn          
          (jumpers), upa%rxei y dunato%tyta metaboly%*s dia%forwn xronismw%n. Sti*s            
          perisso%tere*s periptw%sei*s oi proepilegme%ne*s ruthmi%sei*s ei%nai eparkei%*s, kai 
          i%sw*s dymiourgy%sete probly%mata an ruthmi%sete polu% xamyla% ti*s katasta%sei*s    
          anamony%*s (wait states) ty*s RAM y% the%sete sto BIOS tyn epilogy% <<RAM Speed:     
          Turbo>>. Mia kaly% ide%a ei%nai na epistre%qete ti*s ruthmi%sei*s tou BIOS sti*s     
          proepilegme%ne*s, alla% prin to ka%nete, symeiw%ste ka%pou ti*s dike%*s sa*s.        
                                                                                               
       5. Aneparky%*s y% kaky%*s poio%tyta*s trofodosi%a sty mytriky%. An e%xete ka%rte*s I/O, 
          sklyrou%*s di%skou*s y% CDROM sto su%styma sa*s pou den xrysimopoiei%te, dokima%ste  
          na ta afaire%sete y% na aposunde%sete proswrina% tyn paroxy% trofodosi%a*s tou*s,    
          gia na diapistw%sete an to trofodotiko% sa*s mporei% na diaxeiristei% mikro%tero     
          forti%o. Y% aplw%*s dokima%ste e%na a%llo trofodotiko%, kata% proti%mysy e%na me     
          li%go megalu%tery isxu% (gia para%deigma an to tre%xon sa*s trofodotiko% ei%nai      
          onomastiky%*s isxu%o*s 250W, dokima%ste e%na isxu%o*s 300W).                         
                                                                                               
      THa pre%pei epi%sy*s na diaba%sete to SIG11 FAQ (to opoi%o fai%netai paraka%tw) to       
      opoi%o perilamba%nei ecairetike%*s epecygy%sei*s gia o%la auta% ta probly%mata, an kai   
      polle%*s apo% aute%*s ei%nai gramme%ne*s apo% tyn skopia% tou Linux(R). E%na endiafe%ron 
      tmy%ma tou SIG11 FAQ ei%nai kai auto% pou anafe%retai styn pithano%tyta na myn           
      anixneu%etai problymatiky% mny%my apo% diagnwstika% progra%mmata y% suskeue%*s ele%gxou. 
                                                                                               
      Te%lo*s, an ti%pota apo% ta parapa%nw den boythy%sei, ei%nai pithano%n na e%xete         
      entopi%sei e%na pro%blyma (bug) sto FreeBSD kai tha pre%pei na akolouthy%sete ti*s       
      odygi%e*s gia na stei%lete anafora% probly%mato*s.                                       
                                                                                               
      Mporei%te na brei%te ektetame%ny ana%lusy sto FAQ sxetika% me to pro%blyma SIG11.        
5.8.  To su%styma mou stamata%ei ei%te me Fatal trap 12: page fault in kernel mode, y% me      
      panic:, dei%xnonta*s kai mia seira% apo% plyrofori%e*s. Ti pre%pei na ka%nw;             
      Y oma%da ana%ptucy*s tou FreeBSD endiafe%retai idiai%tera gia auta% ta la%thy, alla%     
      xreia%zetai perisso%tere*s plyrofori%e*s ekto%*s apo% to my%numa la%thou*s pou ble%pete. 
      Antigra%qte to ply%re*s my%numa kai e%peita sumbouleuthei%te tyn eno%tyta tou FAQ        
      sxetika% me ta kernel panics, dymiourgy%ste e%na pury%na me dunato%tyta eksfalma%twsy*s  
      (debugging kernel) kai ektele%ste e%na backtrace. Auto% mporei% na akou%getai du%skolo,  
      alla% den xreia%zeste styn pragmatiko%tyta gnw%sei*s programmatismou%. Arkei% na         
      akolouthy%sete ti*s odygi%e*s.                                                           
5.9.  Giati% y otho%ny mou mauri%zei kai xa%nei to sugxronismo% ty*s kata% tyn ekki%nysy;      
      Pro%keitai gia gnwsto% pro%blyma me tyn ka%rta grafikw%n ATI Mach64. To pro%blyma ei%nai 
      o%ti y ka%rta auty% xrysimopoiei% tyn dieu%thunsy 2e8, y opoi%a xrysimopoiei%tai         
      epi%sy*s kai apo% tyn te%tarty seiriaky% thu%ra. Lo%gw ka%poiou probly%mato*s (y% ty*s   
      sxedi%asy*s) tou progra%mmato*s ody%gysy*s sio(4), to pro%gramma o%xi mo%no tha          
      prospathy%sei na anixneu%sei auty% ty dieu%thunsy ako%ma kai an den e%xete te%tarty      
      seiriaky% thu%ra, alla% ako%ma kai styn peri%ptwsy pou e%xete apenergopoiy%sei ty        
      seiriaky% thu%ra sio3 (dyl. tyn te%tarty) y opoi%a fusiologika% xrysimopoiei% auty% ty   
      dieu%thunsy.                                                                             
                                                                                               
      Me%xri na diorthwthei% to pro%blyma auto%, mporei%te na xrysimopoiy%sete to paraka%tw    
      te%xnasma gia na to paraka%mqete:                                                        
                                                                                               
       1. Gra%qte -c styn protropy% ekki%nysy*s. (Me ton tro%po auto% tha ba%lete ton pury%na  
          se kata%stasy ru%thmisy*s).                                                          
                                                                                               
       2. Apenergopoiy%ste ti*s sio0, sio1, sio2 kai sio3 (o%le*s). Me ton tro%po auto% to     
          pro%gramma ody%gysy*s den energopoiei%tai kan, a%ra den dymiourgei%tai pro%blyma.    
                                                                                               
       3. Gra%qte exit gia na sunexi%sete tyn ekki%nysy.                                       
                                                                                               
      An the%lete na xrysimopoiy%sete ti*s seiriake%*s thu%re*s, tha pre%pei na dymiourgy%sete 
      ne%o pury%na, me tyn ako%louthy metatropy%: Sto arxei%o /usr/src/sys/i386/isa/sio.c      
      brei%te to prw%to symei%o pou emfani%zetai to alfarithmytiko% 0x2e8 kai afaire%ste auto% 
      to alfarithmytiko% kai to ko%mma pou bri%sketai prin apo% auto% (kraty%ste to ko%mma pou 
      bri%sketai meta%). Akolouthy%ste tw%ra ty sunythisme%ny diadikasi%a dymiourgi%a*s ne%ou  
      pury%na.                                                                                 
                                                                                               
      Ako%ma kai meta% tyn efarmogy% autw%n twn diorthw%sewn, i%sw*s anakalu%qete o%ti to      
      su%styma X Window den leitourgei% swsta%. An sumbai%nei auto%, bebaiwthei%te o%ti        
      xrysimopoiei%te e%kdosy 3.3.3 y% megalu%tery tou XFree86TM. Apo% tyn e%kdosy auty% kai   
      meta%, upa%rxei enswmatwme%ny uposty%ricy gia ka%rte*s Mach64 kai epi%sy*s diati%thetai  
      eceidikeume%no*s ecupyretyty%*s X gia tyn ka%rta auty%.                                  
5.10. Giati% to FreeBSD su%styma mou xrysimopoiei% mo%no 64MB RAM, enw% o upologisty%*s mou    
      e%xei egkatestyme%na 128MB;                                                              
      Ecaiti%a*s tou tro%pou me ton opoi%o to FreeBSD diaba%zei to me%getho*s ty*s mny%my*s    
      apo% to BIOS, mporei% na anixneu%sei mo%no 16 bits me%getho*s se Kbytes (65536 Kbytes =  
      64MB) (y% kai ligo%tero... orisme%na BIOS di%noun prokathorisme%no me%getho*s mny%my*s   
      16M). An e%xete perisso%tera apo% 64MB, to FreeBSD tha prospathy%sei na ta anixneu%sei.  
      Y ani%xneusy wsto%so mporei% na apotu%xei.                                               
                                                                                               
      Gia na paraka%mqete to pro%blyma, tha pre%pei na xrysimopoiy%sete tyn epilogy% tou       
      pury%na pou fai%netai paraka%tw. Upa%rxei tro%po*s na lyfthou%n ply%rei*s plyrofori%e*s  
      sxetika% me ty mny%my apo% to BIOS, alla% sto bootblock den upa%rxei arketo%*s xw%ro*s   
      gia na gi%nei auto%. Ka%poia me%ra, o%tan diorthwthei% to pro%blyma ty*s e%lleiqy*s      
      xw%rou sta bootblocks, tha xrysimopoiy%soume ti*s ektetame%ne*s leitourgi%e*s tou BIOS   
      gia na anakty%soume ply%rei*s plyrofori%e*s sxetika% me ty mny%my. Gia tyn w%ra, pre%pei 
      na perioristou%me styn ru%thmisy ty*s anti%stoixy*s epilogy%*s tou pury%na.              
                                                                                               
      options "MAXMEM=n"                                                                       
                                                                                               
      O%pou to n ei%nai to me%getho*s ty*s mny%my*s se kilobytes. Gia myxa%nyma me 128 MB, tha 
      pre%pei na xrysimopoiy%sete to 131072.                                                   
5.11. To su%styma mou e%xei perisso%tero apo% 1 GB RAM, kai pai%rnw panics me mynu%mata        
      <<kmem_map too small>>. Pou ei%nai to pro%blyma;                                         
      Fusiologika%, to FreeBSD xrysimopoiei% to me%getho*s ty*s egkatestyme%ny*s mny%my*s gia  
      na kathori%sei mia seira% apo% parame%trou*s tou pury%na, o%pw*s to me%gisto arithmo%    
      arxei%wn pou mporei% na ei%nai tauto%xrona anoixta%. Se susty%mata me perisso%tery apo%  
      1GB mny%my, auto%*s o myxanismo%*s <<auto%maty*s ru%thmisy*s megethw%n>> i%sw*s          
      epile%cei time%*s oi opoi%e*s na ei%nai polu% uqyle%*s. Kata% tyn ekki%nysy, o pury%na*s 
      ekxwrei% dia%forou*s pi%nake*s kai a%lle*s dome%*s, oi opoi%e*s katalamba%noun ton       
      perisso%tero diathe%simo xw%ro tou. Argo%tera, kathw%*s to su%styma leitourgei%, o       
      pury%na*s den e%xei a%llo xw%ro gia dunamike%*s ekxwry%sei*s mny%my*s, kai               
      dymiourgei%tai panic.                                                                    
                                                                                               
      Dymiourgy%ste to diko% sa*s pury%na, kai prosthe%ste tyn epilogy% VM_KMEM_SIZE_MAX sto   
      arxei%o ruthmi%sewn tou, w%ste na aucy%sete to me%gisto me%getho*s se 400 MB (options    
      VM_KMEM_SIZE_MAX=419430400). Ta 400 MB fai%netai na eparkou%n gia myxany%mata me         
      me%getho*s mny%my*s w*s 6 GB.                                                            
5.12. To su%styma mou den e%xei 1GB RAM, kai pa%li o%mw*s to FreeBSD dymiourgei% panic me to   
      my%numa kmem_map too small!                                                              
      To panic dei%xnei o%ti to su%styma e%xei mei%nei apo% eikoniky% mny%my gia proswriny%    
      apothy%keusy dedome%nwn diktu%ou (network buffers, kai eidiko%tera mbuf clusters).       
      Mporei%te na aucy%sete to me%getho*s ty*s eikoniky%*s mny%my*s pou diati%thetai gia mbuf 
      clusters, akolouthw%nta*s ti*s odygi%e*s styn eno%tyta O%ria Diktu%ou tou Egxeiridi%ou.  
5.13. Giati% pai%rnw to my%numa la%thou*s /kernel: proc: table is full;                        
      O pury%na*s tou FreeBSD epitre%pei ka%the xroniky% stigmy% tyn u%parcy eno%*s            
      sugkekrime%nou arithmou% diergasiw%n. O arithmo%*s auto%*s basi%zetai styn epilogy%      
      MAXUSERS tou pury%na. To MAXUSERS epyrea%zei epi%sy*s kai a%lla o%ria me%sa ston         
      pury%na, o%pw*s y proswriny% mny%my tou diktu%ou (network buffers) (dei%te tyn           
      proygou%meny erw%tysy). An to myxa%nyma sa*s leitourgei% se uqylo% forti%o, i%sw*s e%xei 
      no%yma na aucy%sete tyn epilogy% MAXUSERS. Me ton tro%po auto%, mazi% me to me%gisto     
      arithmo% diergasiw%n, tha aucythou%n kai a%lla o%ria tou susty%mato*s.                   
                                                                                               
      Gia na ruthmi%sete tyn timy% tou MAXUSERS, dei%te tyn eno%tyta O%ria                     
      Arxei%wn/Diergasiw%n tou Egxeiridi%ou. (An kai y eno%tyta auty% anafe%retai se anoixta%  
      arxei%a, ta i%dia o%ria isxu%oun kai gia ti*s diergasi%e*s.)                             
                                                                                               
      An to myxa%nyma sa*s leitourgei% se xamylo% forti%o, alla% ektelei% mega%lo arithmo%     
      diergasiw%n, mporei%te aplw%*s na ruthmi%sete ton arithmo% tou*s alla%zonta*s tyn timy%  
      ty*s metablyty%*s kern.maxproc. An pre%pei na ruthmi%sete auty% ty metablyty%, tha       
      pre%pei na tyn ori%sete sto arxei%o /boot/loader.conf. Y ru%thmisy den tha isxu%sei      
      me%xri na epanekkiny%sete to su%styma. Gia perisso%tere*s plyrofori%e*s sxetika% me ti*s 
      metablyte%*s tou pury%na, dei%te ti*s seli%de*s manual loader.conf(5) kai                
      sysctl.conf(5). An o%le*s aute%*s oi diergasi%e*s ektelou%ntai apo% e%na mo%no xry%sty,  
      tha pre%pei epi%sy*s na ruthmi%sete tyn timy% ty*s metablyty%*s kern.maxprocperuid w%ste 
      na ei%nai kata% e%na mikro%tery apo% tyn ne%a timy% ty*s kern.maxproc. (Pre%pei na       
      ei%nai kata% e%na mikro%tery, giati% upa%rxei pa%nta e%na pro%gramma susty%mato*s, to    
      init(8), pou pre%pei na ektelei%tai sune%xeia.).                                         
                                                                                               
      Gia na gi%nei mo%nimy mia allagy% eno%*s sysctl, topothety%ste tyn kata%llyly timy% sto  
      arxei%o /etc/sysctl.conf. Perisso%tere*s plyrofori%e*s gia ty ru%thmisy tou susty%mato*s 
      me tyn xry%sy tou sysctl(8), mporei%te na brei%te styn eno%tyta Ruthmi%sei*s me%sw       
      sysctl tou Egxeiridi%ou.                                                                 
5.14. Giati% pai%rnw to my%numa la%thou*s CMAP busy o%tan epanekkinw% me ne%o pury%na;         
      Y logiky% tou susty%mato*s pou prospathei% na anixneu%sei tuxo%n palie%*s ekdo%sei*s twn 
      arxei%wn /var/db/kvm_*.db ka%poie*s fore%*s apotugxa%nei, kai y xry%sy ano%moiwn         
      ekdo%sewn mporei% se orisme%ne*s periptw%sei*s na odygy%sei se panic.                    
                                                                                               
      An sa*s sumbei% auto%, epanekkiny%ste se kata%stasy eno%*s xry%sty (single user) kai     
      gra%qte:                                                                                 
                                                                                               
      # rm /var/db/kvm_*.db                                                                    
5.15. Ti symai%nei to my%numa ahc0: brkadrint, Illegal Host Access at seqaddr 0x0;             
      Upa%rxei mia die%necy me tyn ka%rta Ultrastor SCSI Host Adapter.                         
                                                                                               
      Kata% ty dia%rkeia ty*s diadikasi%a*s ekki%nysy*s, eise%lthete sto menou% ruthmi%sewn    
      tou pury%na kai apenergopoiy%ste ty suskeuy% uha0, y opoi%a ei%nai auty% pou prokalei%   
      to pro%blyma.                                                                            
5.16. O%tan cekinw% to su%styma mou pai%rnw to la%tho*s ahc0: illegal cable configuration. Y   
      kalwdi%wsy mou ei%nai swsty%. Ti sumbai%nei;                                             
      Y mytriky% plake%ta sa*s den e%xei ta apaitou%mena ecwterika% kuklw%mata w%ste na        
      upostyri%zei auto%mato termatismo% tou diau%lou SCSI. Anti% na basi%zeste ston auto%mato 
      termatismo%, dylw%ste sto SCSI BIOS ton swsto% termatismo% gia ty dia%tacy suskeuw%n pou 
      e%xete. To pro%gramma ody%gysy*s tou AIC7XXX den mporei% na kathori%sei an ei%nai        
      diathe%simo to ku%klwma pou xrysimopoiei%tai gia tyn ani%xneusy tou kalwdi%ou (a%ra kai  
      tou auto%matou termatismou%). To pro%gramma ody%gysy*s upothe%tei o%ti upa%rxei          
      uposty%ricy, efo%son oi ruthmi%sei*s pou perie%xontai sty seiriaky% EEPROM anafe%roun    
      "auto%mato termatismo%". Suxna%, xwri%*s to ecwteriko% ku%klwma ani%xneusy*s tou         
      kalwdi%ou, to pro%gramma ody%gysy*s tha ruthmi%zei lanthasme%na ton termatismo%, ka%ti   
      pou mporei% na dymiourgy%sei pro%blyma styn aciopisti%a tou diau%lou SCSI.               
5.17. Giati% to Sendmail di%nei to my%numa la%thou*s <<mail loops back to myself>>;            
      Auto% perigra%fetai sto sendmail FAQ o%pw*s fai%netai paraka%tw:                         
                                                                                               
              * Pai%rnw mynu%mata la%thou*s "Local configuration error" o%pw*s to:             
                                                                                               
              553 relay.domain.net config error: mail loops back to myself                     
              554 <user@domain.net>... Local configuration error                               
                                                                                               
              Pw*s mporw% na epilu%sw to pro%blyma;                                            
                                                                                               
              E%xete zyty%sei na kateuthu%nete to mail pro*s to domain (p.x. domain.net)       
              pro*s ka%poio sugkekrime%no myxa%nyma (styn peri%ptwsy auty%, to                 
              relay.domain.net) xrysimopoiw%nta*s mia eggrafy% MX, alla% to myxa%nyma          
              pou ka%nei tyn anakateu%thunsy den anagnwri%zei ton eauto% tou w*s               
              domain.net.  Prosthe%ste to domain.net sto /etc/mail/local-host-names            
              (an xrysimopoiei%te to FEATURE(use_cw_file)) y% prosthe%ste                      
              "Cw domain.net" sto /etc/mail/sendmail.cf.                                       
                                                                                               
      Y tre%xousa e%kdosy tou sendmail FAQ den suntyrei%tai ple%on me ka%the e%kdosy tou       
      sendmail. Wsto%so, dymosieu%etai ana% takta% diasty%mata sti*s li%ste*s                  
      comp.mail.sendmail, comp.mail.misc, comp.mail.smail, comp.answers, kai news.answers.     
      Mporei%te epi%sy*s na la%bete anti%grafo me%sw email, ste%lnonta*s e%na my%numa sto      
      <mail-server@rtfm.mit.edu> me tyn entoly% send usenet/news.answers/mail/sendmail-faq sto 
      ku%rio me%ro*s tou mynu%mato*s.                                                          
5.18. Giati% den sumperife%rontai swsta% oi efarmoge%*s ply%rou*s otho%ny*s se apomakrusme%na  
      myxany%mata;                                                                             
      Ei%nai pithano%n to apomakrusme%no myxa%nyma na ruthmi%zei ton tu%po tou termatikou%     
      sa*s se ka%ti diaforetiko% apo% ton tu%po cons25 pou apaitei%tai apo% tyn konso%la tou   
      FreeBSD.                                                                                 
                                                                                               
      Upa%rxoun dia%foroi tro%poi gia na paraka%mqete auto% to pro%blyma:                      
                                                                                               
        * Meta% tyn ei%sodo sa*s sto apomakrusme%no myxa%nyma, ori%ste tyn metablyty% TERM tou 
          kelu%fou*s se ansi y% sco, efo%son to apomakrusme%no myxa%nyma mporei% na            
          leitourgy%sei me auta% ta ei%dy termatikw%n.                                         
                                                                                               
        * Styn konso%la tou FreeBSD, xrysimopoiy%ste ka%poio ecomoiwty% termatikou% VT100,     
          o%pw*s to screen. To screen sa*s di%nei ty dunato%tyta na e%xete pollaple%*s         
          sunedri%e*s apo% e%na mo%no termatiko%, kai ei%nai e%tsi kai alliw%*s xry%simo       
          pro%gramma. Ka%the para%thuro tou screen sumperife%retai w*s termatiko% tou VT100,   
          e%tsi y metablyty% TERM ston apomakrusme%no upologisty% tha pre%pei na ruthmistei%   
          se vt100.                                                                            
                                                                                               
        * Egkatasty%ste tyn kataxw%rysy cons25 sty ba%sy dedome%nwn termatikw%n tou            
          apomakrusme%nou upologisty%. O tro%po*s gia na gi%nei auto%, ecarta%tai apo% to      
          leitourgiko% su%styma tou apomakrusme%nou upologisty%. Fusiologika%, tha brei%te     
          aute%*s ti*s plyrofori%e*s sta egxeiri%dia diaxei%risy*s susty%mato*s tou            
          apomakrusme%nou myxany%mato*s.                                                       
                                                                                               
        * Sto topiko% sa*s FreeBSD myxa%nyma, xrysimopoiy%ste ton X server kai ka%nte login    
          sto apomakrusme%no myxa%nyma xrysimopoiw%nta*s ka%poio ecomoiwty% termatikou% o%pw*s 
          to xterm y% to rxvt. Styn peri%ptwsy auty%, tha pre%pei sto apomakrusme%no myxa%nyma 
          na ruthmi%sete tyn metablyty% TERM se xterm y% vt100.                                
5.19. Giati% to myxa%nyma mou dei%xnei to my%numa calcru: negative time...;                    
      Auto% mporei% na sumbei% apo% dia%fore*s aiti%e*s pou sxeti%zontai me interrupts, to%so  
      sto uliko% o%so kai sto logismiko%. Mporei% na ofei%letai se probly%mata (bugs) alla%    
      mporei% epi%sy*s na proklythei% ecaiti%a*s ty*s fu%sy*s ka%poiwn suskeuw%n. E%na*s       
      sunythisme%no*s tro%po*s pro%klysy*s tou probly%mato*s, ei%nai y ekte%lesy efarmogw%n    
      TCP/IP me mega%lo MTU me%sw ty*s para%llyly*s thu%ra*s. Mporei% epi%sy*s na proklythei%  
      apo% ka%poiou*s epitaxunte%*s grafikw%n, kai styn peri%ptwsy auty% to prw%to pra%gma pou 
      tha pre%pei na ele%gcete ei%nai y ru%thmisy interrupt ty*s anti%stoixy*s ka%rta*s.       
                                                                                               
      Parene%rgeia autou% tou probly%mato*s ei%nai o apo%tomo*s termatismo%*s diergasiw%n me   
      to my%numa <<SIGXCPU exceeded cpu time limit>>.                                          
                                                                                               
      An to pro%blyma den mporei% na luthei% me diaforetiko% tro%po, y lu%sy ei%nai na         
      ori%sete tyn paraka%tw metablyty% tou sysctl:                                            
                                                                                               
      # sysctl -w kern.timecounter.method=1                                                    
                                                                                               
        Symei%wsy:                                                                             
                                                                                               
      Y epilogy% -w tou sysctl(8) thewrei%tai parwxyme%ny kai agnoei%tai siwpyla% apo% to      
      FreeBSD 4.4-RELEASE kai meta%. Mporei%te me asfa%leia na to paralei%qete kata% ty        
      ru%thmisy twn epilogw%n me tyn sysctl o%pw*s fai%netai parapa%nw.                        
                                                                                               
      To parapa%nw tha e%xei epi%drasy styn apo%dosy, alla% se sxe%sy me tyn aiti%a tou        
      probly%mato*s, ma%llon den tha to paratyry%sete. An to pro%blyma epime%nei, diatyry%ste  
      tyn timy% tou sysctl sto e%na, kai ruthmi%ste tyn epilogy% NTIMECOUNTER ston pury%na     
      sa*s, se oloe%na aucano%mene*s time%*s. An fta%sete tyn timy% NTIMECOUNTER=20 kai to     
      pro%blyma den e%xei luthei%, ta interrupts sto myxa%nyma sa*s ei%nai polu% problymatika% 
      kai akata%llyla gia akriby% ru%thmisy ty*s w%ra*s.                                       
5.20. Giati% y PnP ka%rta mou den anixneu%etai ple%on (y% anixneu%etai w*s unknown) meta% tyn  
      anaba%thmisy se FreeBSD 4.X;                                                             
      To FreeBSD 4.X akolouthei% ple%on arketa% pio pista% to pro%tupo PnP kai auto%           
      dymiourgei% orisme%ne*s fore%*s tyn parene%rgeia na my leitourgou%n ka%poie*s suskeue%*s 
      PnP (p.x. ka%rte*s y%xou kai eswterika% modems) oi opoi%e*s wsto%so leitourgou%san sto   
      FreeBSD 3.X.                                                                             
                                                                                               
      Oi lo%goi gia tyn sumperifora% auty%, ecygou%ntai sto ako%loutho e-mail, to opoi%o       
      sta%lthyke sty li%sta freebsd-questions apo% ton Peter Wemm, w*s apa%ntysy se erw%tysy   
      sxetika% me e%na eswteriko% modem to opoi%o den y%tan anixneu%simo apo% to su%styma      
      meta% apo% anaba%thmisy se FreeBSD 4.X (ta sxo%lia me%sa se [] e%xoun prostethei% gia na 
      gi%nei pio katanoyto% to antikei%meno ty*s suzy%tysy*s).                                 
                                                                                               
        Symei%wsy:                                                                             
                                                                                               
      To periexo%meno auty%*s ty*s para%thesy*s e%xei ananewthei% se sxe%sy me to arxiko%      
      kei%meno.                                                                                
                                                                                               
        To PNP bios to pro-ru%thmise [to modem] kai to a%fyse styn perioxy% dieuthu%nsewn twn  
        thurw%n, kai e%tsi [styn e%kdosy 3.X] y palaiou% tu%pou ani%xneusy ISA to <<bry%ke>>   
        ekei%.                                                                                 
                                                                                               
        Styn e%kdosy 4.0, o kw%dika*s diaxei%risy*s tou ISA, ei%nai polu% perisso%tero         
        prosanatolisme%no*s sto PnP monte%lo. Sto 3.X y%tan dunato%n y ani%xneusy ISA na       
        entopi%sei mia <<xame%ny>> suskeuy% kai e%peita y PNP suskeuy% na tairia%cei kai na    
        apotu%xei y ru%thmisy ty*s lo%gw die%necy*s po%rwn. E%tsi, apenergopoiou%ntai arxika%  
        oi programmatizo%mene*s ka%rte*s, w%ste na my sumbei% auty% y diply% ani%xneusy. Auto% 
        epi%sy*s symai%nei o%ti y ani%xneusy pre%pei na gnwri%zei ta PnP ids twn               
        upostyrizo%menwn suskeuw%n. Ei%nai sti*s prothe%sei*s ma*s na ka%noume ty diadikasi%a  
        auty% perisso%tery prosba%simy stou*s xry%ste*s.                                       
                                                                                               
      Gia na leitourgy%sei cana% y suskeuy%, pre%pei na brethei% to PNP id ty*s kai na         
      prostethei% sty li%sta twn anixneu%sewn ISA pou xrysimopoiou%ntai gia tyn anagnw%risy    
      PnP suskeuw%n. Auto% mporei% na gi%nei me ty xry%sy ty*s pnpinfo(8) gia tyn ani%xneusy   
      ty*s suskeuy%*s, gia para%deigma auty% ei%nai y e%codo*s ty*s pnpinfo(8) gia e%na        
      eswteriko% modem:                                                                        
                                                                                               
      # pnpinfo                                                                                
      Checking for Plug-n-Play devices...                                                      
                                                                                               
      Card assigned CSN #1                                                                     
      Vendor ID PMC2430 (0x3024a341), Serial Number 0xffffffff                                 
      PnP Version 1.0, Vendor Version 0                                                        
      Device Description: Pace 56 Voice Internal Plug & Play Modem                             
                                                                                               
      Logical Device ID: PMC2430 0x3024a341 #0                                                 
              Device supports I/O Range Check                                                  
      TAG Start DF                                                                             
          I/O Range 0x3f8 .. 0x3f8, alignment 0x8, len 0x8                                     
              [16-bit addr]                                                                    
          IRQ: 4  - only one type (true/edge)                                                  
                                                                                               
      [paralei%pontai oi upo%loipe*s gramme%*s TAG]                                            
                                                                                               
      TAG End DF                                                                               
      End Tag                                                                                  
                                                                                               
      Successfully got 31 resources, 1 logical fdevs                                           
      -- card select # 0x0001                                                                  
                                                                                               
      CSN PMC2430 (0x3024a341), Serial Number 0xffffffff                                       
                                                                                               
      Logical device #0                                                                        
      IO:  0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8                             
      IRQ 5 0                                                                                  
      DMA 4 0                                                                                  
      IO range check 0x00 activate 0x01                                                        
                                                                                               
      Oi plyrofori%e*s pou apaitou%ntai, bri%skontai sty grammy% <<Vendor ID>>, styn arxy%     
      ty*s eco%dou. O dekaecadiko%*s arithmo%*s sti*s parenthe%sei*s (sto para%deigma ma*s     
      0x3024a341) ei%nai to PnP id enw% to alfarithmytiko% pou bri%sketai akribw%*s prin apo%  
      auto%n ei%nai e%na monadiko% ASCII anagnwristiko%.                                       
                                                                                               
      Enallaktika%, an to pnpinfo(8) den dei%xnei tyn zytou%meny ka%rta, mporei%te na          
      xrysimopoiy%sete to pciconf(8). Paraka%tw fai%netai e%na me%ro*s ty*s eco%dou ty*s       
      pciconf -vl gia e%na ku%klwma y%xou enswmatwme%nou sty mytriky%:                         
                                                                                               
      # pciconf -vl                                                                            
      chip1@pci0:31:5:        class=0x040100 card=0x00931028 chip=0x24158086 rev=0x02 hdr=0x00 
          vendor   = 'Intel Corporation'                                                       
          device   = '82801AA 8xx Chipset AC'97 Audio Controller'                              
          class    = multimedia                                                                
          subclass = audio                                                                     
                                                                                               
      Edw%, tha xrysimopoiou%same tyn timy% tou chip, <<0x24158086>>.                          
                                                                                               
      Y plyrofori%a auty% (Vendor ID y% timy% chip) tha pre%pei na prostethei% sto arxei%o     
      /usr/src/sys/isa/sio.c.                                                                  
                                                                                               
      THa pre%pei prw%ta na kraty%sete e%na anti%grafo asfalei%a*s tou sio.c, gia tyn          
      peri%ptwsy pou ka%ti pa%ei straba%. Epi%sy*s, tha xreiastei%te to anti%grafo gia na      
      dymiourgy%sete e%na patch to opoi%o tha katathe%sete me tyn anafora% probly%mato*s (PR)  
      pou tha ma*s stei%lete (kai tha ma*s stei%lete PR, e%tsi;). Kato%pin epecergastei%te to  
      sio.c kai qa%cte gia ty grammy%                                                          
                                                                                               
      static struct isa_pnp_id sio_ids[] = {                                                   
                                                                                               
      e%peita metakinythei%te pro*s ta ka%tw gia na brei%te to swsto% me%ro*s na prosthe%sete  
      tyn kataxw%rysy ty*s suskeuy%*s sa*s. Oi kataxwry%sei*s fai%nontai o%pw*s paraka%tw kai  
      ei%nai tacinomyme%ne*s kata% to alfarithmytiko% ASCII Vendor ID to opoi%o tha pre%pei na 
      perilyfthei% sto sxo%lio sto decio% me%ro*s ty*s grammy%*s mazi% me o%ly tyn perigrafy%  
      Device Description (an xwra%ei, alliw%*s me%ro*s ty*s) apo% tyn e%codo ty*s pnpinfo(8):  
                                                                                               
      {0x0f804f3f, NULL},     /* OZO800f - Zoom 2812 (56k Modem) */                            
      {0x39804f3f, NULL},     /* OZO8039 - Zoom 56k flex */                                    
      {0x3024a341, NULL},     /* PMC2430 - Pace 56 Voice Internal Modem */                     
      {0x1000eb49, NULL},     /* ROK0010 - Rockwell ? */                                       
      {0x5002734a, NULL},     /* RSS0250 - 5614Jx3(G) Internal Modem */                        
                                                                                               
      Prosthe%ste to dekaecadiko% Vendor ID gia ty suskeuy% sa*s sto swsto% me%ro*s,           
      apothykeu%ste to arxei%o, anadymiourgy%ste ton pury%na sa*s, kai epanekkiny%ste. THa     
      pre%pei tw%ra y suskeuy% sa*s na brethei% w*s suskeuy% sio o%pw*s sune%baine kai me to   
      FreeBSD 3.X                                                                              
5.21. Giati% pai%rnw to la%tho*s nlist failed o%tan ektelw%, gia para%deigma, to top y% to     
      systat;                                                                                  
      To pro%blyma ei%nai o%ti y efarmogy% pou prospathei%te na ektele%sete qa%xnei gia e%na   
      sugkekrime%no su%mbolo ston pury%na, alla% gia ka%poio lo%go den mporei% na to           
      entopi%sei. To sfa%lma auto% mporei% na ofei%letai se du%o probly%mata:                  
                                                                                               
        * O pury%na*s sa*s kai ta upo%loipa basika% progra%mmata (userland) den ei%nai se      
          sugxronismo% (p.x. e%xete dymiourgy%sei ne%o pury%na, alla% den ektele%sate          
          installworld, y% anti%strofa), me apote%lesma o pi%naka*s sumbo%lwn na ei%nai        
          diaforetiko%*s apo% auto%n pou pisteu%ei y efarmogy%. An pro%keitai gia auty% tyn    
          peri%ptwsy, aplw%*s oloklyrw%ste ty diadikasi%a anaba%thmisy*s (dei%te to            
          /usr/src/UPDATING gia ty swsty% akolouthi%a entolw%n).                               
                                                                                               
        * Den xrysimopoiei%te to /boot/loader gia na fortw%sete ton pury%na sa*s, alla% ton    
          fortw%nete apeuthei%a*s apo% to boot2 (dei%te to boot(8)). An kai den ei%nai         
          la%tho*s na paraka%mqete ton /boot/loader, se genike%*s gramme%*s to pro%gramma      
          auto% ta katafe%rnei kalu%tera sto na diathe%tei ta su%mbola tou pury%na sti*s       
          efarmoge%*s xry%sty.                                                                 
5.22. Giati% pai%rnei to%so xro%no na sundethw% me ton upologisty% mou me%sw ssh y% telnet;    
      To su%mptwma: Upa%rxei mega%ly kathuste%rysy metacu% ty*s stigmy%*s pou apokathi%statai  
      y TCP su%ndesy kai ty*s stigmy%*s pou to pro%gramma sty meria% tou pela%ty zyta%ei ton   
      kwdiko% pro%sbasy*s (y% styn peri%ptwsy tou telnet(1), ty*s stigmy%*s pou emfani%zetai y 
      protropy% login).                                                                        
                                                                                               
      To pro%blyma: To pio pithano% ei%nai o%ti y kathuste%rysy ofei%letai styn prospa%theia   
      pou kataba%llei to logismiko% sty meria% tou ecupyretyty% na brei to o%noma tou          
      myxany%mato*s - pela%ty apo% tyn IP dieu%thunsy tou. Oi perisso%teroi ecupyretyte%*s,    
      sumperilambanome%nwn tou Telnet kai SSH pou e%rxontai me to FreeBSD, leitourgou%n me     
      auto% ton tro%po, w%ste metacu% a%llwn, na apothykeu%soun to o%noma tou myxany%mato*s se 
      e%na arxei%o katagrafy%*s gia mellontiky% anafora% apo% ton diaxeiristy%.                
                                                                                               
      Y therapei%a: An to pro%blyma proku%ptei ka%the fora% pou sunde%este apo% ton            
      upologisty% sa*s (ton pela%ty) se opoiody%pote ecupyretyty%, to pro%blyma bri%sketai     
      ston pela%ty. Me ton i%dio tro%po, an to pro%blyma sumbai%nei mo%no o%tan ka%poio*s      
      sunde%etai ston upologisty% sa*s (ton ecupyretyty%), to pro%blyma bri%sketai ston        
      ecupyretyty%.                                                                            
                                                                                               
      An to pro%blyma ei%nai ston pela%ty, y mo%ny therapei%a ei%nai na diorthw%sete to DNS,   
      w%ste o ecupyretyty%*s na mporei% na to brei. An to pro%blyma emfani%zetai sto topiko%   
      sa*s di%ktuo, thewrei%ste to pro%blyma ston ecupyretyty% kai sunexi%ste tyn ana%gnwsy.   
      Anti%theta, an to pro%blyma emfani%zetai se sunde%sei*s me%sw Internet, kata% pa%sa      
      pithano%tyta tha xreiastei% na epikoinwny%sete me ton ISP sa*s kai na zyty%sete na sa*s  
      to diorthw%sei.                                                                          
                                                                                               
      An to pro%blyma ei%nai me ton ecupyretyty%, kai emfani%zetai sto topiko% sa*s di%ktuo,   
      tha pre%pei na ton ruthmi%sete w%ste na mporei% na ektelei% anazyty%sei*s tu%pou         
      dieu%thunsy se o%noma, gia tyn topiky% perioxy% dieuthu%nsewn sa*s. Dei%te ti*s          
      seli%de*s manual twn hosts(5) kai named(8) gia perisso%tere*s plyrofori%e*s. An to       
      pro%blyma emfani%zetai sti*s sunde%sei*s me%sw Internet, mporei% na ofei%letai se kaky%  
      leitourgi%a tou resolver ston ecupyretyty% sa*s. Gia na to ele%gcete, dokima%ste na      
      brei%te ka%poio a%llo myxa%nyma, gia para%deigma to www.yahoo.com. An ou%te auto%        
      douleu%ei, ekei% bri%sketai to pro%blyma sa*s.                                           
                                                                                               
      Meta% apo% mia ne%a egkata%stasy tou FreeBSD ei%nai epi%sy*s pithano% na lei%poun oi     
      plyrofori%e*s gia ton tome%a (domain) kai ton ecupyretyty% onoma%twn (nameserver) apo%   
      to arxei%o /etc/resolv.conf. Auto% epi%sy*s tha prokale%sei kathuste%rysy sto SSH,       
      kathw%*s y epilogy% <<UseDNS>> e%xei w*s proepilegme%ny tyn timy% <<yes>> sto arxei%o    
      ruthmi%sewn sshd_config ston kata%logo /etc/ssh. An ei%nai auty% y aiti%a tou            
      probly%mato*s, tha pre%pei ei%te na sumplyrw%sete ti*s apaitou%mene*s plyrofori%e*s sto  
      /etc/resolv.conf y% na the%sete to <<UseDNS>> sto <<no>> sto arxei%o sshd_config w*s     
      proswriny% lu%sy.                                                                        
5.23. Poia ei%nai y e%nnoia tou stray (periplanw%menou) IRQ;                                   
      Ta stray IRQs ei%nai syma%dia problyma%twn ulikou% pou xrysimopoiei% IRQs, eidiko%tera   
      sxeti%zetai me uliko% pou kata% ty me%sy tou ku%klou anagnw%risy*s (acknowledge cycle)   
      tou interrupt, stamata%ei na metadi%dei tyn anti%stoixy ai%tysy diakopy%*s.              
                                                                                               
      E%xete trei*s epiloge%*s gia na antimetwpi%sete auto% to pro%blyma:                      
                                                                                               
        * Anexthei%te ti*s proeidopoiy%sei*s. E%tsi kai alliw%*s, meta% ti*s 5 prw%te*s, den   
          tha dei%te a%lle*s.                                                                  
                                                                                               
        * Stamaty%ste entelw%*s ti*s proeidopoiy%sei*s, alla%zonta*s to 5 se 0 styn            
          isa_strayintr().                                                                     
                                                                                               
        * Stamaty%ste ti*s proeidopoiy%sei*s egkathistw%nta*s uliko% gia tyn para%llyly po%rta 
          pou na xrysimopoiei% to IRQ 7 kai to anti%stoixo gia auto% pro%gramma ody%gysy*s PPP 
          (auto% sumbai%nei sta perisso%tera susty%mata) kai egkatasty%ste e%na odygo% IDE y%  
          a%llo uliko% pou na xrysimopoiei% to irq 15 mazi% me to kata%llylo pro%gramma        
          ody%gysy*s tou.                                                                      
5.24. Giati% ble%pw sune%xeia to my%numa file: table is full sto dmesg;                        
      To my%numa auto% symai%nei o%ti e%xete ecantly%sei ton arithmo% twn diathe%simwn         
      perigrafe%wn arxei%wn (file descriptors) sto su%styma sa*s. Parakalou%me dei%te to       
      kern.maxfiles tmy%ma sto kefa%laio Ru%thmisy Ori%wn Pury%na tou Egxeiridi%ou, gia        
      ermynei%a kai epi%lusy tou probly%mato*s.                                                
5.25. Giati% to rolo%i sto foryto% mou upologisty% den krata%ei tyn swsty% w%ra;               
      O foryto%*s upologisty%*s sa*s e%xei du%o y% perisso%tera rolo%gia, kai to FreeBSD e%xei 
      epile%cei na xrysimopoiy%sei to la%tho*s.                                                
                                                                                               
      Ektele%ste tyn dmesg(8), kai ele%gcte gia gramme%*s pou perie%xoun tyn le%cy             
      Timecounter. Y teleutai%a apo% ti*s gramme%*s pou tha ektupwthei% dei%xnei to rolo%i pou 
      epile%xthyke apo% to FreeBSD kai sxedo%n si%goura tha ei%nai to TSC.                     
                                                                                               
      # dmesg | grep Timecounter                                                               
      Timecounter "i8254"  frequency 1193182 Hz                                                
      Timecounter "TSC"  frequency 595573479 Hz                                                
                                                                                               
      Mporei%te na to epibebaiw%sete auto%, ele%gxonta*s tyn timy% tou                         
      kern.timecounter.hardware sysctl(3).                                                     
                                                                                               
      # sysctl kern.timecounter.hardware                                                       
      kern.timecounter.hardware: TSC                                                           
                                                                                               
      To BIOS i%sw*s na tropopoiei% tyn timy% tou rologiou% TSC- endexome%nw*s gia na alla%cei 
      tyn taxu%tyta tou epecergasty% o%tan leitourgei% me mpatari%e*s, y% o%tan eise%rxetai se 
      kata%stasy xamyly%*s katana%lwsy*s, alla% to FreeBSD den gnwri%zei gia aute%*s ti*s      
      allage%*s kai fai%netai na kerdi%zei y% na xa%nei xro%no.                                
                                                                                               
      Sto para%deigma ma*s, ei%nai epi%sy*s diathe%simo to rolo%i i8254 kai mporei%te na to    
      epile%cete gra%fonta*s to o%noma tou sto sysctl(3) kern.timecounter.hardware.            
                                                                                               
      # sysctl -w kern.timecounter.hardware=i8254                                              
      kern.timecounter.hardware: TSC -> i8254                                                  
                                                                                               
      O foryto%*s upologisty%*s sa*s tha pre%pei tw%ra na ei%nai pio akriby%*s styn ty%rysy    
      tou xro%nou.                                                                             
                                                                                               
      Gia na paramei%nei y allagy% auty% se ka%the ekki%nysy, prosthe%ste tyn paraka%tw        
      grammy% sto /etc/sysctl.conf.                                                            
                                                                                               
      kern.timecounter.hardware=i8254                                                          
5.26. Giati% o foryto%*s mou upologisty%*s den anagnwri%zei swsta% ti*s ka%rte*s tu%pou PC     
      card;                                                                                    
      To pro%blyma ei%nai koino% se foryta% pou ekkinou%n perisso%tera apo% e%na leitourgika%  
      susty%mata. Orisme%na my-BSD leitourgika% susty%mata afy%noun ti*s PC cards se           
      my-proble%qimy kata%stasy. Y entoly% pccardd se auty% tyn peri%ptwsy, anixneu%ei tyn     
      ka%rta w*s "(null)""(null)" anti% gia to pragmatiko% ty*s monte%lo.                      
                                                                                               
      Pre%pei na aposunde%sete entelw%*s tyn trofodosi%a apo% tyn thu%ra PC card w%ste to      
      uliko% na epane%lthei styn arxiky% tou kata%stasy. Apenergopoiy%ste ply%rw*s ton foryto% 
      upologisty% sa*s. (Myn ton ba%lete se kata%stasy anamony%*s y% u%pnou, tha pre%pei na    
      apenergopoiythei% entelw%*s.) Perime%nete gia li%ga lepta% kai epanekkiny%ste. THa       
      pre%pei tw%ra y PC card na leitourgei% kanonika%.                                        
                                                                                               
      To uliko% ka%poiwn forytw%n upologistw%n styn pragmatiko%tyta parame%nei energo%, ako%ma 
      kai o%tan upoti%thetai o%ti o upologisty%*s ei%nai anenergo%*s. An to parapa%nw den      
      e%xei to epithumyto% apote%lesma, termati%ste ty leitourgi%a tou upologisty% sa*s,       
      afaire%ste tyn mpatari%a, perime%nete li%go, topothety%ste cana% tyn mpatari%a kai       
      epanekkiny%ste.                                                                          
5.27. Giati% o fortwty%*s ekki%nysy*s tou FreeBSD dei%xnei to my%numa la%thou*s Read error kai 
      stamata%ei meta% tyn otho%ny tou BIOS;                                                   
      O fortwty%*s ekki%nysy*s tou FreeBSD den anagnwri%zei swsta% tyn gewmetri%a tou sklyrou% 
      di%skou. Mporei%te na tyn ruthmi%sete xeiroki%nyta me%sa apo% tyn fdisk kata% tyn        
      dymiourgi%a y% tropopoi%ysy tou slice tou FreeBSD.                                       
                                                                                               
      Mporei%te na brei%te ti*s swste%*s time%*s gia tyn gewmetri%a tou odygou% sto BIOS tou   
      myxany%mato*s. Qa%cte gia ton arithmo% twn kuli%ndrwn, kefalw%n kai tome%wn gia ton      
      odygo% pou the%lete.                                                                     
                                                                                               
      Me%sa apo% tyn fdisk tou sysinstall(8), pie%ste to G gia na ori%sete tyn gewmetri%a tou  
      odygou%.                                                                                 
                                                                                               
      THa emfanistei% e%na*s dia%logo*s pou tha zyta%ei ton arithmo% twn kuli%ndrwn, kefalw%n  
      kai tome%wn. Plyktrology%ste tou*s arithmou%*s pou bry%kate apo% to BIOS, xwri%zonta*s   
      tou*s me kanonike%*s kathe%tou*s. Gia para%deigma, gia 5000 kuli%ndrou*s, 250 kefale%*s  
      kai 60 tomei%*s, tha gra%fame 5000/250/60.                                               
                                                                                               
      Pie%ste enter gia na ori%sete ti*s time%*s, kai e%peita to W gia na gra%qete to ne%o     
      pi%naka katatmy%sewn ston odygo%.                                                        
5.28. E%na a%llo leitourgiko% su%styma kate%streqe ton diaxeiristy% ekki%nysy*s mou. Pw*s      
      mporw% na ton apokatasty%sw;                                                             
      THa pre%pei na eise%lthete sto sysinstall(8) kai na epile%cete Configure kai kato%pin    
      Fdisk. Epile%cte to di%sko ston opoi%o bri%sketai kanonika% o Fortwty%*s Ekki%nysy*s     
      xrysimopoiw%nta*s to ply%ktro space. Pie%ste to W gia na gra%qete ti*s allage%*s ston    
      odygo%. THa emfanistei% mia protropy% pou tha sa*s rwta%ei poio fortwty% ekki%nysy*s na  
      egkatasty%sei. Ka%nte tyn anti%stoixy epilogy% kai o fortwty%*s ekki%nysy*s tha          
      apokatastathei%.                                                                         
5.29. Ti symai%nei to my%numa la%thou*s swap_pager: indefinite wait buffer:;                   
      Symai%nei o%ti mia diadikasi%a prospathei% na gra%qei mia seli%da mny%my*s sto di%sko,   
      kai y apo%peira auty% e%xei kolly%sei prospathw%nta*s na apokty%sei pro%sbasy sto di%sko 
      gia perisso%tero apo% 20 deutero%lepta. Auto% mporei% na sumbei% apo% xalasme%nou*s      
      tomei%*s sto sklyro% di%sko, problymatika% kalw%dia, y% a%llo uliko% to opoi%o na        
      sxeti%zetai me I/O. An pro%keitai gia problymatiko% di%sko, tha dei%te epi%sy*s kai      
      anti%stoixa mynu%mata sto /var/log/messages kai styn e%codo ty*s entoly%*s dmesg.        
      Diaforetika%, ele%gcte ti*s sunde%sei*s kai ta kalw%dia sa*s.                            
5.30. Ti ei%nai ta sfa%lmata <<UDMA ICRC>>, kai pw*s mporw% na ta diorthw%sw;                  
      To pro%gramma ody%gysy*s ata(4) anafe%rei sfa%lmata tu%pou <<UDMA ICRC>> o%tan           
      entopi%sei pro%blyma styn ortho%tyta twn dedome%nwn se mia metafora% DMA apo% y% pro*s   
      ton odygo%. To pro%gramma ody%gysy*s tha prospathy%sei na epanala%bei ty metafora%       
      merike%*s fore%*s. An o%le*s oi apo%peire*s apotu%xoun, tha alla%cei tyn kata%stasy      
      epikoinwni%a*s ty*s suskeuy%*s apo% DMA se PIO, y opoi%a ei%nai pio argy%.               
                                                                                               
      To pro%blyma mporei% na proklythei% apo% pollou%*s para%gonte*s, an kai o pio            
      sunythisme%no*s ei%nai y problymatiky% y% lanthasme%ny kalwdi%wsy. Ele%gcte o%ti ta      
      kalw%dia ATA den e%xoun upostei% zymia%, kai o%ti ei%nai kata%llylwn prodiagrafw%n gia   
      tyn kata%stasy leitourgi%a*s Ultra DMA pou xrysimopoiei%te. An xrysimopoiei%te           
      afairou%mena surta%ria di%skwn, tha pre%pei epi%sy*s na ei%nai sumbata%. Bebaiwthei%te   
      o%ti upa%rxei kaly% epafy% se o%le*s ti*s sunde%sei*s. E%xoun epi%sy*s anaferthei%       
      probly%mata o%tan gi%netai egkata%stasy eno%*s paliou% odygou% sto i%dio kana%li DMA me  
      e%na di%sko Ultra DMA 66 (y% pio gry%goro). Te%lo*s, ta la%thy auta% mporei% na          
      symai%noun o%ti o di%sko*s pro%keitai su%ntoma na xala%sei. Oi perisso%teroi             
      kataskeuaste%*s di%skwn pare%xoun logismiko% ele%gxou gia tou*s odygou%*s tou*s,         
      ele%gcte loipo%n to di%sko sa*s, kai an xreia%zetai, pa%rte anti%grafo twn dedome%nwn    
      sa*s kai antikatasty%ste ton.                                                            
                                                                                               
      Mporei%te na xrysimopoiy%sete to boythytiko% pro%gramma atacontrol(8) gia na dei%te kai  
      na epile%cete tyn kata%stasy leitourgi%a*s DMA y% PIO pou xrysimopoiei%tai apo% ka%the   
      suskeuy% ATA. Pio sugkekrime%na, y entoly% atacontrol mode channel tha sa*s dei%cei tyn  
      kata%stasy leitourgi%a*s twn suskeuw%n eno%*s sugkekrime%nou kanaliou% ATA, o%pou to     
      prwteu%on kana%li e%xei tyn ari%thmysy 0 k.o.k.                                          
5.31. Ti ei%nai to lock order reversal;                                                        
      O Robert Watson apa%ntyse me safy%neia auty% tyn erw%tysy styn li%sta freebsd-current,   
      se mia suzy%tysy me ti%tlo <<lock order reversals - ti symai%noun;>>                     
                                                                                               
        Oi proeidopoiy%sei*s aute%*s proe%rxontai apo% to Witness, e%na diagnwstiko%           
        su%styma gia kleidw%mata kata% ty leitourgi%a (run-time lock) to opoi%o bri%sketai     
        stou*s pury%ne*s -CURRENT tou FreeBSD (alla% afairei%tai sti*s epi%syme*s              
        ekdo%sei*s). Mporei%te na diaba%sete perisso%tera gia to Witness kai ti*s              
        dunato%tyte*s tou, sty seli%da manual witness(4). Metacu% a%llwn to Witness            
        epalytheu%ei ty seira% twn run-time locks xrysimopoiw%nta*s e%na sunduasmo% apo%       
        enswmatwme%ne*s seire%*s kleidwma%twn kathw%*s kai apo% ty seira% pou anixneu%etai     
        kata% tyn ekte%lesy, kai para%gei proeidopoiy%sei*s styn konso%la o%tan                
        parabia%zontai. Skopo%*s auty%*s ty*s leitourgi%a*s ei%nai na anixneu%ontai pithana%   
        deadlocks ta opoi%a mporei% na ofei%lontai se parabia%sei*s ty*s seira%*s twn          
        kleidwma%twn. Ei%nai aciosymei%wto o%ti to Witness ei%nai ka%pw*s suntyrytiko%, kai    
        ei%nai pithano%n na dw%sei la%tho*s proeidopoiy%sei*s. Styn peri%ptwsy pou to          
        Witness anafe%rei e%na pragmatiko% pro%blyma me tyn seira% twn kleidwma%twn, ei%nai    
        san na le%ei "an y%sastan a%tuxo*s, tha sa*s ei%xe sumbei% deadlock se auto% to        
        symei%o". Upa%rxoun ka%poie*s gnwste%*s periptw%sei*s "lanthasme%ny*s dia%gnwsy*s"     
        gia ti*s opoi%e*s xreia%zetai na dymiourgy%soume kalu%tery tekmyri%wsy w%ste na        
        apofu%goume kai ti*s peritte%*s anafore%*s sfalma%twn. Oi ligo%tero gnwste%*s          
        periptw%sei*s ofei%lontai perisso%tero se ne%a kleidw%mata, kathw%*s oi                
        antistrofe%*s sty seira% twn kleidwma%twn diorthw%nontai gry%gora epeidy% to Witness   
        ei%nai pa%nta apasxolyme%no kai dymiourgei% sune%xeia ne%e*s proeidopoiy%sei*s :-).    
                --Apo% ton Robert Watson sty li%sta freebsd-current, sti*s 14 Dekembri%ou 2003 
                                                                                               
        Symei%wsy:                                                                             
                                                                                               
      Auto% pou apokalou%me "lanthasme%ny dia%gnwsy" dymiourgei%tai styn pragmatiko%tyta o%tan 
      to Witness bri%skei ka%poio polu% pio sobaro% la%tho*s. Te%toia la%thy ei%nai tupika% to 
      sfa%lma seli%da*s (page fault) y% lanthasme%na dedome%na sty mny%my me%sa ston pury%na,  
      y% te%lo*s su%gkrousy onomasi%a*s me ka%poia mutexes.                                    
                                                                                               
        Symei%wsy:                                                                             
                                                                                               
      Dei%te tyn seli%da tou Bjoern Zeeb sxetika% me ti*s antistrofe%*s kleidwma%twn gia tyn   
      kata%stasy twn gnwstw%n antistrofw%n.                                                    
5.32. Ti symai%nei to my%numa Called ... with the following non-sleepable locks held;          
      Symai%nei o%ti kly%thyke mia suna%rtysy me dunato%tyta sleep enw% tyn i%dia stigmy%      
      y%tan energo% ka%poio klei%dwma mutex (y% anti%stoixo xwri%*s dunato%tyta sleep).        
                                                                                               
      O lo%go*s gia ton opoi%o auto% ei%nai la%tho*s ei%nai epeidy% ta mutexes den             
      proori%zontai na kratou%ntai gia mega%la xronika% diasty%mata. Ei%nai mo%no gia ty       
      sunty%rysy mikrw%n perio%dwn sugxronismou%. Auty% y programmatistiky% sumfwni%a          
      epitre%pei stou*s odygou%*s suskeuw%n na xrysimopoiou%n mutexes gia na sugxroni%zontai   
      me ta upo%loipa progra%mmata tou pury%na kata% tyn dia%rkeia twn interrupts. Ta          
      interrupts (sto FreeBSD) den mporou%n na perie%lthoun se kata%stasy sleep. Gia to lo%go  
      auto% ei%nai aparai%tyto na myn mploka%retai o pury%na*s gia mega%lo dia%styma apo%      
      ka%poio uposu%styma pou krata%ei e%na mutex.                                             
                                                                                               
      Gia na entopistou%n auta% ta la%thy, mporou%n na prostethou%n upothe%sei*s (assertions)  
      ston pury%na oi opoi%e*s allylepidrou%n me to uposu%styma witness gia na dw%soun e%na    
      proeidopoiytiko% my%numa (y% my%numa la%thou*s, ana%loga me ti*s ruthmi%sei*s tou        
      susty%mato*s) o%tan gi%netai mia kly%sy y opoi%a pithanw%*s na dymiourgei% mploka%risma  
      tyn stigmy% pou kratie%tai e%na mutex.                                                   
                                                                                               
      En suntomi%a, autou% tou ei%dou*s oi proeidopoiy%sei*s den ei%nai suny%thw*s moirai%e*s, 
      alla% upo% orisme%ne*s atuxei%*s prov*pothe%sei*s, mporei% na prokale%soun anepithu%myta 
      faino%mena ta opoi%a kumai%nontai apo% mia stigmiai%a ptw%sy styn apo%krisy tou          
      susty%mato*s, me%xri ply%ry*s kata%rreusy.                                               
5.33. Giati% y diadikasi%a buildworld/installworld stamata%ei me to my%numa touch: not found;  
      To my%numa auto% den symai%nei o%ti sa*s lei%pei to boythytiko% pro%gramma touch(1). To  
      la%tho*s auto% prokalei%tai suny%thw*s apo% lanthasme%ny, mellontiky%, sy%mansy          
      ymeromyni%a*s twn arxei%wn. An to rolo%i CMOS tou upologisty% sa*s ei%nai ruthmisme%no   
      gia topiky% w%ra, pre%pei na ektele%sete tyn entoly% adjkerntz -i gia na ruthmi%sete to  
      rolo%i tou pury%na o%tan ekkinei%te se kata%stasy leitourgi%a*s eno%*s xry%sty.          

                      Kefa%laio 6. Emporike%*s Efarmoge%*s

  Symei%wsy:

   This section is still very sparse, though we are hoping, of course, that
   companies will add to it! :) The FreeBSD group has no financial interest
   in any of the companies listed here but simply lists them as a public
   service (and feels that commercial interest in FreeBSD can have very
   positive effects on FreeBSD's long-term viability). We encourage
   commercial software vendors to send their entries here for inclusion. See
   the Vendors page for a longer list.

   6.1. Where can I get an Office Suite for FreeBSD?

   6.2. Where can I get Motif(R) for FreeBSD?

   6.3. Where can I get CDE for FreeBSD?

   6.4. Are there any commercial high-performance X servers?

   6.5. Are there any Database systems for FreeBSD?

   6.6. Can I run Oracle(R) on FreeBSD?

   6.1. Where can I get an Office Suite for FreeBSD?                          
        The open-source OpenOffice.org office suite works natively on         
        FreeBSD. The Linux(R) version of StarOffice, the value-added          
        closed-source version of OpenOffice.org, also works on FreeBSD.       
                                                                              
        FreeBSD also includes a variety of text editors, spreadsheets, and    
        drawing programs in the Ports Collection.                             
   6.2. Where can I get Motif(R) for FreeBSD?                                 
        The Open Group has released the source code to Motif(R) 2.2.2. You    
        can install the open-motif package, or compile it from ports. Refer   
        to the ports section of the Handbook for more information on how to   
        do this.                                                              
                                                                              
          Symei%wsy:                                                          
                                                                              
        The Open Motif(R) distribution only allows redistribution if it is    
        running on an open source operating system.                           
                                                                              
        In addition, there are commercial distributions of the Motif(R)       
        software available. These, however, are not for free, but their       
        license allows them to be used in closed-source software. Contact     
        Apps2go for the least expensive ELF Motif(R) 2.1.20 distribution for  
        FreeBSD (either i386TM or Alpha).                                     
                                                                              
        There are two distributions, the <<development edition>> and the      
        <<runtime edition>> (for much less). These distributions includes:    
                                                                              
          * OSF/Motif(R) manager, xmbind, panner, wsm.                        
                                                                              
          * Development kit with uil, mrm, xm, xmcxx, include and Imake       
            files.                                                            
                                                                              
          * Static and dynamic ELF libraries.                                 
                                                                              
          * Demonstration applets.                                            
                                                                              
        Be sure to specify that you want the FreeBSD version of Motif(R) when 
        ordering (do not forget to mention the architecture you want too)!    
        Versions for NetBSD and OpenBSD are also sold by Apps2go. This is     
        currently a FTP only download.                                        
                                                                              
        More info                                                             
                                                                              
           Apps2go WWW page                                                   
                                                                              
        or                                                                    
                                                                              
           <sales@apps2go.com> or <support@apps2go.com>                       
                                                                              
        or                                                                    
                                                                              
           phone (817) 431 8775 or +1 817 431-8775                            
                                                                              
        Contact Xi Graphics for an a.out Motif(R) 2.0 distribution for        
        FreeBSD.                                                              
                                                                              
        This distribution includes:                                           
                                                                              
          * OSF/Motif(R) manager, xmbind, panner, wsm.                        
                                                                              
          * Development kit with uil, mrm, xm, xmcxx, include and Imake       
            files.                                                            
                                                                              
          * Static and dynamic libraries (for use with FreeBSD 2.2.8 and      
            earlier).                                                         
                                                                              
          * Demonstration applets.                                            
                                                                              
          * Preformatted manual pages.                                        
                                                                              
        Be sure to specify that you want the FreeBSD version of Motif(R) when 
        ordering! Versions for BSDI and Linux(R) are also sold by Xi          
        Graphics. This is currently a 4 diskette set... in the future this    
        will change to a unified CD distribution like their CDE.              
   6.3. Where can I get CDE for FreeBSD?                                      
        Xi Graphics used to sell CDE for FreeBSD, but no longer do.           
                                                                              
        KDE is an open source X11 desktop which is similar to CDE in many     
        respects. You might also like the look and feel of xfce. KDE and xfce 
        are both in the ports system.                                         
   6.4. Are there any commercial high-performance X servers?                  
        Yes, Xi Graphics sells Accelerated-X products for FreeBSD and other   
        Intel based systems.                                                  
                                                                              
        The Xi Graphics offering is a high performance X Server that offers   
        easy configuration, support for multiple concurrent video boards and  
        is distributed in binary form only, in a unified diskette             
        distribution for FreeBSD and Linux(R). Xi Graphics also offers a high 
        performance X Server tailored for laptop support.                     
                                                                              
        There is a free <<compatibility demo>> of version 5.0 available.      
                                                                              
        Xi Graphics also sells Motif(R) and CDE for FreeBSD (see above).      
                                                                              
        More info                                                             
                                                                              
           Xi Graphics WWW page                                               
                                                                              
        or                                                                    
                                                                              
           <sales@xig.com> or <support@xig.com>                               
                                                                              
        or                                                                    
                                                                              
           phone (800) 946 7433 or +1 303 298-7478.                           
   6.5. Are there any Database systems for FreeBSD?                           
        Yes! See the Commercial Vendors section of FreeBSD's Web site.        
                                                                              
        Also see the Databases section of the Ports collection.               
   6.6. Can I run Oracle(R) on FreeBSD?                                       
        Yes. The following pages tell you exactly how to set up               
        Linux(R)-Oracle(R) on FreeBSD:                                        
                                                                              
          * http://www.unixcities.com/oracle/index.html                       
                                                                              
          * http://www.shadowcom.net/freebsd-oracle9i/                        

                   Kefa%laio 7. Efarmoge%*s Telikou% Xry%sty

   7.1. So, where are all the user applications?

   7.2. How do I configure INN (Internet News) for my machine?

   7.3. Does FreeBSD support JavaTM?

   7.4. Why can I not build this port on my 4.X-STABLE machine?

   7.5. I just tried to build INDEX using make index, and it failed. Why?

   7.6. Why is CVSup not integrated in the main FreeBSD tree?

   7.7. I updated the sources, now how do I update my installed ports?

   7.8. Why is /bin/sh so minimal? Why does FreeBSD not use bash or another
   shell?

   7.9. Why do Netscape(R) and Opera take so long to start?

   7.10. I updated parts of the Ports Collection using CVSup, and now many
   ports fail to build with mysterious error messages! What happened? Is the
   Ports Collection broken in some major way?

   7.11. How do I create audio CDs from my MIDI files?

   7.1.  So, where are all the user applications?                             
         Please take a look at the ports page for info on software packages   
         ported to FreeBSD. The list currently tops 24,000 and is growing     
         daily, so come back to check often or subscribe to the               
         freebsd-announce mailing list for periodic updates on new entries.   
                                                                              
         Most ports should work on the 4.X, 5.X, and 6.X branches. Each time  
         a FreeBSD release is made, a snapshot of the ports tree at the time  
         of release in also included in the ports/ directory.                 
                                                                              
         We also support the concept of a <<package>>, essentially no more    
         than a compressed binary distribution with a little extra            
         intelligence embedded in it for doing whatever custom installation   
         work is required. A package can be installed and uninstalled again   
         easily without having to know the gory details of which files it     
         includes.                                                            
                                                                              
         Use the package installation menu in /stand/sysinstall (under the    
         post-configuration menu item) or invoke the pkg_add(1) command on    
         the specific package files you are interested in installing. Package 
         files can usually be identified by their .tgz or .tbz suffix and     
         CDROM distribution people will have a packages/All directory on      
         their CD which contains such files. They can also be downloaded over 
         the net for various versions of FreeBSD at the following locations:  
                                                                              
         for 4.X-RELEASE/4-STABLE                                             
                                                                              
            ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-4-stable/   
                                                                              
         for 5.X-RELEASE/5-STABLE                                             
                                                                              
            ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-5-stable    
                                                                              
         for 6.X-RELEASE/6-STABLE                                             
                                                                              
            ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-6-stable    
                                                                              
         for 7-CURRENT                                                        
                                                                              
            ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-7-current   
                                                                              
         or your nearest local mirror site.                                   
                                                                              
         Note that all ports may not be available as packages since new ones  
         are constantly being added. It is always a good idea to check back   
         periodically to see which packages are available at the              
         ftp.FreeBSD.org master site.                                         
   7.2.  How do I configure INN (Internet News) for my machine?               
         After installing the news/inn package or port, an excellent place to 
         start is Dave Barr's INN Page where you will find the INN FAQ.       
   7.3.  Does FreeBSD support JavaTM?                                         
         Yes. Please see http://www.FreeBSD.org/java/.                        
   7.4.  Why can I not build this port on my 4.X-STABLE machine?              
         If you are running a FreeBSD version that lags significantly behind  
         -CURRENT or -STABLE, you may need to update your ports collection;   
         see the Keeping Up section of the Porter's Handbook for further      
         information on how to do this. If you are up to date, then someone   
         might have committed a change to the port which works for -CURRENT   
         but which broke the port for -STABLE. Please submit a bug report on  
         this with the send-pr(1) command, since the ports collection is      
         supposed to work for both the -CURRENT and -STABLE branches.         
   7.5.  I just tried to build INDEX using make index, and it failed. Why?    
         First, always make sure that you have a completely up-to-date Ports  
         Collection. Errors that affect building INDEX from an up-to-date     
         copy of the Ports Collection are high-visibility and are thus almost 
         always fixed immediately.                                            
                                                                              
         However, if you are up-to-date, perhaps you are seeing another       
         problem. make index has a known bug in dealing with incomplete       
         copies of the Ports Collection. It assumes that you have a local     
         copy of every single port that every other port that you have a      
         local copy of depends on. To explain, if you have a copy of foo/bar  
         on your disk, and foo/bar depends on baz/quux, then you must also    
         have a copy of baz/quux on your disk, and the ports baz/quux depends 
         on, and so on. Otherwise, make index has insufficient information to 
         create its dependency tree.                                          
                                                                              
         This is particularly a problem for FreeBSD users who utilize         
         cvsup(1) to track the Ports Collection but choose not to install     
         certain categories by specifying them in refuse. In theory, one      
         should be able to refuse categories, but in practice there are too   
         many ports that depend on ports in other categories. Until someone   
         comes up with a solution for this problem, the general rule is is    
         that if you want to build INDEX, you must have a complete copy of    
         the Ports Collection.                                                
                                                                              
         There are rare cases where INDEX will not build due to odd cases     
         involving WITH_* or WITHOUT_* variables being set in make.conf. If   
         you suspect that this is the case, please try to make INDEX with     
         those Makevars turned off before reporting it to ylektroniky% li%sta 
         twn FreeBSD ports.                                                   
   7.6.  Why is CVSup not integrated in the main FreeBSD tree?                
         The FreeBSD base system is designed as self-hosting - it should be   
         possible to build the whole operating system starting with a very    
         limited set of tools. Thus, the actual build tools needed to compile 
         the FreeBSD sources are bundled with the sources themselves. This    
         includes a C compiler (gcc(1)), make(1), awk(1), and similar tools.  
                                                                              
         Since CVSup is written in Modula-3, adding it to the FreeBSD base    
         system would also require adding and maintaining a Modula-3          
         compiler. This would lead to both an increase in the disk space      
         consumed by the FreeBSD sources and additional maintenance work.     
         Thus, it is much easier for both the developers and users to keep    
         CVSup as a separate port, which can be easily installed as a package 
         bundled on the FreeBSD installation CDs.                             
   7.7.  I updated the sources, now how do I update my installed ports?       
         FreeBSD does not include a port upgrading tool, but it does have     
         some tools to make the upgrade process somewhat easier. You can also 
         install additional tools to simplify port handling.                  
                                                                              
         The pkg_version(1) command can generate a script that will update    
         installed ports to the latest version in the ports tree.             
                                                                              
         # pkg_version -c > /tmp/myscript                                     
                                                                              
         The output script must be edited by hand before you use it. Recent   
         versions of pkg_version(1) force this by inserting an exit(1) at the 
         beginning of the script.                                             
                                                                              
         You should save the output of the script, as it will note packages   
         that depend on the one that has been updated. These may or may not   
         need to be updated as well. The usual case where they need to be     
         updated is that a shared library has changed version numbers, so the 
         ports that used that library need to be rebuilt to use the new       
         version.                                                             
                                                                              
           Symei%wsy:                                                         
                                                                              
         Beginning with FreeBSD 5.0 (and higher revisions), pkg_version(1) no 
         longer supports the -c option.                                       
                                                                              
         If you have the disk space, you can use the portupgrade tool to      
         automate all of this. portupgrade includes various tools to simplify 
         package handling. It is available under ports-mgmt/portupgrade.      
         Since it is written in Ruby, portupgrade is an unlikely candidate    
         for integration with the main FreeBSD tree. That should not stop     
         anyone from using it, however.                                       
                                                                              
         If your system is up full time, the periodic(8) system can be used   
         to generate a weekly list of ports that might need updating by       
         setting weekly_status_pkg_enable="YES" in /etc/periodic.conf.        
   7.8.  Why is /bin/sh so minimal? Why does FreeBSD not use bash or another  
         shell?                                                               
         Because POSIX(R) says that there shall be such a shell.              
                                                                              
         The more complicated answer: many people need to write shell scripts 
         which will be portable across many systems. That is why POSIX(R)     
         specifies the shell and utility commands in great detail. Most       
         scripts are written in Bourne shell, and because several important   
         programming interfaces (make(1), system(3), popen(3), and analogues  
         in higher-level scripting languages like Perl and Tcl) are specified 
         to use the Bourne shell to interpret commands. Because the Bourne    
         shell is so often and widely used, it is important for it to be      
         quick to start, be deterministic in its behavior, and have a small   
         memory footprint.                                                    
                                                                              
         The existing implementation is our best effort at meeting as many of 
         these requirements simultaneously as we can. In order to keep        
         /bin/sh small, we have not provided many of the convenience features 
         that other shells have. That is why the Ports Collection includes    
         more featureful shells like bash, scsh, tcsh, and zsh. (You can      
         compare for yourself the memory utilization of all these shells by   
         looking at the <<VSZ>> and <<RSS>> columns in a ps -u listing.)      
   7.9.  Why do Netscape(R) and Opera take so long to start?                  
         The usual answer is that DNS on your system is misconfigured. Both   
         Netscape(R) and Opera perform DNS checks when starting up. The       
         browser will not appear on your desktop until the program either     
         gets a response or determines that the system has no network         
         connection.                                                          
   7.10. I updated parts of the Ports Collection using CVSup, and now many    
         ports fail to build with mysterious error messages! What happened?   
         Is the Ports Collection broken in some major way?                    
         If you only update parts of the Ports Collection, using one of its   
         CVSup subcollections and not the ports-all CVSup collection, you     
         should always update the ports-base subcollection too! The reasons   
         are described in the Handbook.                                       
   7.11. How do I create audio CDs from my MIDI files?                        
         To create audio CDs from MIDI files, first install audio/timidity++  
         from ports then install manually the GUS patches set by Eric A.      
         Welsh, available at                                                  
         http://www.stardate.bc.ca/eawpatches/html/default.htm. After         
         timidity++ has been installed properly, midi files may be converted  
         to wav files with the following command line:                        
                                                                              
         % timidity -Ow -s 44100 -o /tmp/juke/01.wav 01.mid                   
                                                                              
         The wav files can then be converted to other formats or burned onto  
         audio CDs, as described in the FreeBSD Handbook.                     

                         Kefa%laio 8. Ru%thmisy Pury%na

   8.1. I would like to customize my kernel. Is it difficult?

   8.2. My kernel compiles fail because _hw_float is missing. How do I solve
   this problem?

   8.3. Why is my kernel so big (over 10MB)?

   8.4. Why do I get interrupt conflicts with multi-port serial code?

   8.5. Why does every kernel I try to build fail to compile, even GENERIC?

   8.6. How can I verify which scheduler is in use on a running system?

   8.7. What is kern.quantum?

   8.8. What is kern.sched.quantum?

   8.1. I would like to customize my kernel. Is it difficult?                 
        Not at all! Check out the kernel config section of the Handbook.      
                                                                              
          Symei%wsy:                                                          
                                                                              
        We recommend that you make a dated snapshot of your new /kernel       
        called /kernel.YYMMDD after you get it working properly. Also back up 
        your new /modules directory to /modules.YYMMDD. That way, if you make 
        a mistake the next time you play with your configuration you can boot 
        the backup kernel instead of having to fall back to kernel.GENERIC.   
        This is particularly important if you are now booting from a          
        controller that GENERIC does not support.                             
   8.2. My kernel compiles fail because _hw_float is missing. How do I solve  
        this problem?                                                         
        You probably removed npx0 (see npx(4)) from your kernel configuration 
        file because you do not have a math co-processor. The npx0 device is  
        MANDATORY. Somewhere inside your hardware lies a device that provides 
        hardware floating-point support, even if it is no longer a separate   
        device as used in the good old 386 days. You must include the npx0    
        device. Even if you manage to build a kernel without npx0 support, it 
        will not boot anyway.                                                 
   8.3. Why is my kernel so big (over 10MB)?                                  
        Chances are, you compiled your kernel in debug mode. Kernels built in 
        debug mode contain many symbols that are used for debugging, thus     
        greatly increasing the size of the kernel. Note that there will be    
        little or no performance decrease from running a debug kernel, and it 
        is useful to keep one around in case of a system panic.               
                                                                              
        However, if you are running low on disk space, or you simply do not   
        want to run a debug kernel, make sure that both of the following are  
        true:                                                                 
                                                                              
          * You do not have a line in your kernel configuration file that     
            reads:                                                            
                                                                              
         makeoptions DEBUG=-g                                                 
                                                                              
          * You are not running config(8) with the -g option.                 
                                                                              
        Either of the above settings will cause your kernel to be built in    
        debug mode. As long as you make sure you follow the steps above, you  
        can build your kernel normally, and you should notice a fairly large  
        size decrease; most kernels tend to be around 1.5MB to 2MB.           
   8.4. Why do I get interrupt conflicts with multi-port serial code?         
        When I compile a kernel with multi-port serial code, it tells me that 
        only the first port is probed and the rest skipped due to interrupt   
        conflicts. How do I fix this?                                         
                                                                              
        The problem here is that FreeBSD has code built-in to keep the kernel 
        from getting trashed due to hardware or software conflicts. The way   
        to fix this is to leave out the IRQ settings on all but one port.     
        Here is an example:                                                   
                                                                              
        #                                                                     
        # 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         
   8.5. Why does every kernel I try to build fail to compile, even GENERIC?   
        There are a number of possible causes for this problem. They are, in  
        no particular order:                                                  
                                                                              
          * You are not using the new make buildkernel and make installkernel 
            targets, and your source tree is different from the one used to   
            build the currently running system (e.g., you are compiling       
            4.3-RELEASE on a 4.0-RELEASE system). If you are attempting an    
            upgrade, please read the /usr/src/UPDATING file, paying           
            particular attention to the <<COMMON ITEMS>> section at the end.  
                                                                              
          * You are using the new make buildkernel and make installkernel     
            targets, but you failed to assert the completion of the make      
            buildworld target. The make buildkernel target relies on files    
            generated by the make buildworld target to complete its job       
            correctly.                                                        
                                                                              
          * Even if you are trying to build FreeBSD-STABLE, it is possible    
            that you fetched the source tree at a time when it was either     
            being modified, or broken for other reasons; only releases are    
            absolutely guaranteed to be buildable, although FreeBSD-STABLE    
            builds fine the majority of the time. If you have not already     
            done so, try re-fetching the source tree and see if the problem   
            goes away. Try using a different server in case the one you are   
            using is having problems.                                         
   8.6. How can I verify which scheduler is in use on a running system?       
        If you are running FreeBSD version 5.2.1 or earlier, check for the    
        existence of the kern.quantum sysctl. If you have it, you should see  
        something like this:                                                  
                                                                              
        % sysctl kern.quantum                                                 
        kern.sched.quantum: 99960                                             
                                                                              
        If the kern.quantum sysctl exists, you are using the 4BSD scheduler.  
        If not, you will get an error printed by sysctl(8) (which you can     
        safely ignore):                                                       
                                                                              
        % sysctl kern.sched.quantum                                           
        sysctl: unknown oid 'kern.sched.quantum'                              
                                                                              
        In FreeBSD version 5.3-RELEASE and later, the name of the scheduler   
        currently being used is directly available as the value of the        
        kern.sched.name sysctl:                                               
                                                                              
        % sysctl kern.sched.name                                              
        kern.sched.name: 4BSD                                                 
   8.7. What is kern.quantum?                                                 
        kern.quantum is the maximum number of ticks a process can run without 
        being preempted. It is specific to the 4BSD scheduler, so you can use 
        its presence or absence to determine which scheduler is in use. In    
        FreeBSD 5.X or later kern.quantum has been renamed to                 
        kern.sched.quantum.                                                   
   8.8. What is kern.sched.quantum?                                           
        See E: 8.7                                                            

      Kefa%laio 9. Di%skoi, Susty%mata Arxei%wn kai Fortwte%*s Ekki%nysy*s

   9.1. How do I move my system over to my huge new disk?

   9.2. Will a <<dangerously dedicated>> disk endanger my health?

   9.3. Which partitions can safely use Soft Updates? I have heard that Soft
   Updates on / can cause problems.

   9.4. What is inappropriate about my ccd?

   9.5. Why can I not edit the disklabel on my ccd?

   9.6. Can I mount other foreign filesystems under FreeBSD?

   9.7. How do I mount a secondary DOS partition?

   9.8. Is there a cryptographic filesystem for FreeBSD?

   9.9. How can I use the Windows NT(R) loader to boot FreeBSD?

   9.10. How do I boot FreeBSD and Linux(R) from LILO?

   9.11. How do I boot FreeBSD and Linux(R) using GRUB

   9.12. How do I boot FreeBSD and Linux(R) using BootEasy?

   9.13. How do I change the boot prompt from ??? to something more
   meaningful?

   9.14. I have a new removable drive, how do I use it?

   9.15. Why do I get Incorrect super block when mounting a CDROM?

   9.16. Why do I get Device not configured when mounting a CDROM?

   9.17. Why do all non-English characters in filenames show up as <<?>> on
   my CDs when mounted in FreeBSD?

   9.18. I burned a CD under FreeBSD and now I can not read it under any
   other operating system. Why?

   9.19. How can I create an image of a data CD?

   9.20. Why can I not mount an audio CD?

   9.21. How do I mount a multi-session CD?

   9.22. How do I let ordinary users mount floppies, CDROMs and other
   removable media?

   9.23. The du and df commands show different amounts of disk space
   available. What is going on?

   9.24. How can I add more swap space?

   9.25. Why does FreeBSD see my disk as smaller than the manufacturer says
   it is?

   9.26. How is it possible for a partition to be more than 100% full?

9.1.  How do I move my system over to my huge new disk?                           
      The best way is to reinstall the OS on the new disk, then move the user     
      data over. This is highly recommended if you have been tracking -STABLE for 
      more than one release, or have updated a release instead of installing a    
      new one. You can install booteasy on both disks with boot0cfg(8), and dual  
      boot them until you are happy with the new configuration. Skip the next     
      paragraph to find out how to move the data after doing this.                
                                                                                  
      Should you decide not to do a fresh install, you need to partition and      
      label the new disk with either /stand/sysinstall, or fdisk(8) and           
      disklabel(8). You should also install booteasy on both disks with           
      boot0cfg(8), so that you can dual boot to the old or new system after the   
      copying is done.                                                            
                                                                                  
      Now you have the new disk set up, and are ready to move the data.           
      Unfortunately, you cannot just blindly copy the data. Things like device    
      files (in /dev), flags, and links tend to screw that up. You need to use    
      tools that understand these things, which means dump(8). Although it is     
      suggested that you move the data in single user mode, it is not required.   
                                                                                  
      You should never use anything but dump(8) and restore(8) to move the root   
      filesystem. The tar(1) command may work - then again, it may not. You       
      should also use dump(8) and restore(8) if you are moving a single partition 
      to another empty partition. The sequence of steps to use dump to move a     
      partitions data to a new partition is:                                      
                                                                                  
       1. newfs the new partition.                                                
                                                                                  
       2. mount it on a temporary mount point.                                    
                                                                                  
       3. cd to that directory.                                                   
                                                                                  
       4. dump the old partition, piping output to the new one.                   
                                                                                  
      For example, if you are going to move root to /dev/ad1s1a, with /mnt as the 
      temporary mount point, it is:                                               
                                                                                  
      # newfs /dev/ad1s1a                                                         
      # mount /dev/ad1s1a /mnt                                                    
      # cd /mnt                                                                   
      # dump 0af - / | restore xf -                                               
                                                                                  
      Rearranging your partitions with dump takes a bit more work. To merge a     
      partition like /var into its parent, create the new partition large enough  
      for both, move the parent partition as described above, then move the child 
      partition into the empty directory that the first move created:             
                                                                                  
      # newfs /dev/ad1s1a                                                         
      # mount /dev/ad1s1a /mnt                                                    
      # cd /mnt                                                                   
      # dump 0af - / | restore xf -                                               
      # cd var                                                                    
      # dump 0af - /var | restore xf -                                            
                                                                                  
      To split a directory from its parent, say putting /var on its own partition 
      when it was not before, create both partitions, then mount the child        
      partition on the appropriate directory in the temporary mount point, then   
      move the old single partition:                                              
                                                                                  
      # newfs /dev/ad1s1a                                                         
      # newfs /dev/ad1s1d                                                         
      # mount /dev/ad1s1a /mnt                                                    
      # mkdir /mnt/var                                                            
      # mount /dev/ad1s1d /mnt/var                                                
      # cd /mnt                                                                   
      # dump 0af - / | restore xf -                                               
                                                                                  
      You might prefer cpio(1), pax(1), tar(1) to dump(8) for user data. At the   
      time of this writing, these are known to lose file flag information, so use 
      them with caution.                                                          
9.2.  Will a <<dangerously dedicated>> disk endanger my health?                   
      The installation procedure allows you to chose two different methods in     
      partitioning your hard disk(s). The default way makes it compatible with    
      other operating systems on the same machine, by using fdisk table entries   
      (called <<slices>> in FreeBSD), with a FreeBSD slice that employs           
      partitions of its own. Optionally, one can chose to install a boot-selector 
      to switch between the possible operating systems on the disk(s). The        
      alternative uses the entire disk for FreeBSD, and makes no attempt to be    
      compatible with other operating systems.                                    
                                                                                  
      So why it is called <<dangerous>>? A disk in this mode does not contain     
      what normal PC utilities would consider a valid fdisk table. Depending on   
      how well they have been designed, they might complain at you once they are  
      getting in contact with such a disk, or even worse, they might damage the   
      BSD bootstrap without even asking or notifying you. In addition, the        
      <<dangerously dedicated>> disk's layout is known to confuse many BIOSes,    
      including those from AWARD (e.g. as found in HP Netserver and Micronics     
      systems as well as many others) and Symbios/NCR (for the popular 53C8xx     
      range of SCSI controllers). This is not a complete list, there are more.    
      Symptoms of this confusion include the read error message printed by the    
      FreeBSD bootstrap when it cannot find itself, as well as system lockups     
      when booting.                                                               
                                                                                  
      Why have this mode at all then? It only saves a few kbytes of disk space,   
      and it can cause real problems for a new installation. <<Dangerously        
      dedicated>> mode's origins lie in a desire to avoid one of the most common  
      problems plaguing new FreeBSD installers - matching the BIOS <<geometry>>   
      numbers for a disk to the disk itself.                                      
                                                                                  
      <<Geometry>> is an outdated concept, but one still at the heart of the PC's 
      BIOS and its interaction with disks. When the FreeBSD installer creates     
      slices, it has to record the location of these slices on the disk in a      
      fashion that corresponds with the way the BIOS expects to find them. If it  
      gets it wrong, you will not be able to boot.                                
                                                                                  
      <<Dangerously dedicated>> mode tries to work around this by making the      
      problem simpler. In some cases, it gets it right. But it is meant to be     
      used as a last-ditch alternative - there are better ways to solve the       
      problem 99 times out of 100.                                                
                                                                                  
      So, how do you avoid the need for <<DD>> mode when you are installing?      
      Start by making a note of the geometry that your BIOS claims to be using    
      for your disks. You can arrange to have the kernel print this as it boots   
      by specifying -v at the boot: prompt, or using boot -v in the loader. Just  
      before the installer starts, the kernel will print a list of BIOS           
      geometries. Do not panic - wait for the installer to start and then use     
      scrollback to read the numbers. Typically the BIOS disk units will be in    
      the same order that FreeBSD lists your disks, first IDE, then SCSI.         
                                                                                  
      When you are slicing up your disk, check that the disk geometry displayed   
      in the FDISK screen is correct (ie. it matches the BIOS numbers); if it is  
      wrong, use the g key to fix it. You may have to do this if there is         
      absolutely nothing on the disk, or if the disk has been moved from another  
      system. Note that this is only an issue with the disk that you are going to 
      boot from; FreeBSD will sort itself out just fine with any other disks you  
      may have.                                                                   
                                                                                  
      Once you have got the BIOS and FreeBSD agreeing about the geometry of the   
      disk, your problems are almost guaranteed to be over, and with no need for  
      <<DD>> mode at all. If, however, you are still greeted with the dreaded     
      read error message when you try to boot, it is time to cross your fingers   
      and go for it - there is nothing left to lose.                              
                                                                                  
      To return a <<dangerously dedicated>> disk for normal PC use, there are     
      basically two options. The first is, you write enough NULL bytes over the   
      MBR to make any subsequent installation believe this to be a blank disk.    
      You can do this for example with                                            
                                                                                  
      # dd if=/dev/zero of=/dev/rda0 count=15                                     
                                                                                  
      Alternatively, the undocumented DOS <<feature>>                             
                                                                                  
      C:\> fdisk /mbr                                                             
                                                                                  
      will to install a new master boot record as well, thus clobbering the BSD   
      bootstrap.                                                                  
9.3.  Which partitions can safely use Soft Updates? I have heard that Soft        
      Updates on / can cause problems.                                            
      Short answer: you can usually use Soft Updates safely on all partitions.    
                                                                                  
      Long answer: There used to be some concern over using Soft Updates on the   
      root partition. Soft Updates has two characteristics that caused this.      
      First, a Soft Updates partition has a small chance of losing data during a  
      system crash. (The partition will not be corrupted; the data will simply be 
      lost.) Also, Soft Updates can cause temporary space shortages.              
                                                                                  
      When using Soft Updates, the kernel can take up to thirty seconds to        
      actually write changes to the physical disk. If you delete a large file,    
      the file still resides on disk until the kernel actually performs the       
      deletion. This can cause a very simple race condition. Suppose you delete   
      one large file and immediately create another large file. The first large   
      file is not yet actually removed from the physical disk, so the disk might  
      not have enough room for the second large file. You get an error that the   
      partition does not have enough space, although you know perfectly well that 
      you just released a large chunk of space! When you try again mere seconds   
      later, the file creation works as you expect. This has left more than one   
      user scratching his head and doubting his sanity, the FreeBSD filesystem,   
      or both.                                                                    
                                                                                  
      If a system should crash after the kernel accepts a chunk of data for       
      writing to disk, but before that data is actually written out, data could   
      be lost or corrupted. This risk is extremely small, but generally           
      manageable. Use of IDE write caching greatly increases this risk; it is     
      strongly recommended that you disable IDE write caching when using Soft     
      Updates.                                                                    
                                                                                  
      These issues affect all partitions using Soft Updates. So, what does this   
      mean for the root partition?                                                
                                                                                  
      Vital information on the root partition changes very rarely. Files such as  
      /kernel and the contents of /etc only change during system maintenance, or  
      when users change their passwords. If the system crashed during the         
      thirty-second window after such a change is made, it is possible that data  
      could be lost. This risk is negligible for most applications, but you       
      should be aware that it exists. If your system cannot tolerate this much    
      risk, do not use Soft Updates on the root filesystem!                       
                                                                                  
      / is traditionally one of the smallest partitions. By default, FreeBSD puts 
      the /tmp directory on /. If you have a busy /tmp, you might see             
      intermittent space problems. Symlinking /tmp to /var/tmp will solve this    
      problem.                                                                    
9.4.  What is inappropriate about my ccd?                                         
      The symptom of this is:                                                     
                                                                                  
      # ccdconfig -C                                                              
      ccdconfig: ioctl (CCDIOCSET): /dev/ccd0c: Inappropriate file type or format 
                                                                                  
      This usually happens when you are trying to concatenate the c partitions,   
      which default to type unused. The ccd driver requires the underlying        
      partition type to be FS_BSDFFS. Edit the disklabel of the disks you are     
      trying to concatenate and change the types of partitions to 4.2BSD.         
9.5.  Why can I not edit the disklabel on my ccd?                                 
      The symptom of this is:                                                     
                                                                                  
      # disklabel ccd0                                                            
      (it prints something sensible here, so let us try to edit it)               
      # disklabel -e ccd0                                                         
      (edit, save, quit)                                                          
      disklabel: ioctl DIOCWDINFO: No disk label on disk;                         
      use "disklabel -r" to install initial label                                 
                                                                                  
      This is because the disklabel returned by ccd is actually a <<fake>> one    
      that is not really on the disk. You can solve this problem by writing it    
      back explicitly, as in:                                                     
                                                                                  
      # disklabel ccd0 > /tmp/disklabel.tmp                                       
      # disklabel -Rr ccd0 /tmp/disklabel.tmp                                     
      # disklabel -e ccd0                                                         
      (this will work now)                                                        
9.6.  Can I mount other foreign filesystems under FreeBSD?                        
      FreeBSD supports a variety of other filesystems.                            
                                                                                  
      Digital UNIX                                                                
                                                                                  
         UFS CDROMs can be mounted directly on FreeBSD. Mounting disk partitions  
         from Digital UNIX and other systems that support UFS may be more         
         complex, depending on the details of the disk partitioning for the       
         operating system in question.                                            
                                                                                  
      Linux(R)                                                                    
                                                                                  
         FreeBSD supports ext2fs partitions. See mount_ext2fs(8) for more         
         information.                                                             
                                                                                  
      Windows NT(R)                                                               
                                                                                  
         FreeBSD includes a read-only NTFS driver. For more information, see      
         mount_ntfs(8).                                                           
                                                                                  
      FAT                                                                         
                                                                                  
         FreeBSD includes a read-write FAT driver. For more information, see      
         mount_msdosfs(8).                                                        
                                                                                  
      ReiserFS                                                                    
                                                                                  
         FreeBSD includes a read-only ReiserFS driver. For more information, see  
         mount_reiserfs(8).                                                       
                                                                                  
      FreeBSD also supports network filesystems such as NFS (see mount_nfs(8)),   
      NetWare (see mount_nwfs(8)), and Microsoft-style SMB filesystems (see       
      mount_smbfs(8)).                                                            
9.7.  How do I mount a secondary DOS partition?                                   
      The secondary DOS partitions are found after ALL the primary partitions.    
      For example, if you have an <<E>> partition as the second DOS partition on  
      the second SCSI drive, you need to create the special files for <<slice 5>> 
      in /dev, then mount /dev/da1s5:                                             
                                                                                  
      # cd /dev                                                                   
      # sh MAKEDEV da1s5                                                          
      # mount -t msdosfs /dev/da1s5 /dos/e                                        
                                                                                  
        Symei%wsy:                                                                
                                                                                  
      You can omit this step if you are running FreeBSD 5.0-RELEASE or newer with 
      devfs(5) enabled.                                                           
9.8.  Is there a cryptographic filesystem for FreeBSD?                            
      Yes. FreeBSD 5.0 includes gbde(8), and FreeBSD 6.0 added geli(8). For       
      earlier releases, see the security/cfs port.                                
9.9.  How can I use the Windows NT(R) loader to boot FreeBSD?                     
      The general idea is that you copy the first sector of your native root      
      FreeBSD partition into a file in the DOS/Windows NT(R) partition. Assuming  
      you name that file something like c:\bootsect.bsd (inspired by              
      c:\bootsect.dos), you can then edit the c:\boot.ini file to come up with    
      something like this:                                                        
                                                                                  
      [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"                                                                   
                                                                                  
      If FreeBSD is installed on the same disk as the Windows NT(R) boot          
      partition simply copy /boot/boot1 to C:\BOOTSECT.BSD. However, if FreeBSD   
      is installed on a different disk /boot/boot1 will not work, /boot/boot0 is  
      needed.                                                                     
                                                                                  
      /boot/boot0 needs to be installed using sysinstall by selecting the FreeBSD 
      boot manager on the screen which asks if you wish to use a boot manager.    
      This is because /boot/boot0 has the partition table area filled with NULL   
      characters but sysinstall copies the partition table before copying         
      /boot/boot0 to the MBR.                                                     
                                                                                  
        Proeidopoi%ysy:                                                           
                                                                                  
      Do not simply copy /boot/boot0 instead of /boot/boot1; you will overwrite   
      your partition table and render your computer un-bootable!                  
                                                                                  
      When the FreeBSD boot manager runs it records the last OS booted by setting 
      the active flag on the partition table entry for that OS and then writes    
      the whole 512-bytes of itself back to the MBR so if you just copy           
      /boot/boot0 to C:\BOOTSECT.BSD then it writes an empty partition table,     
      with the active flag set on one entry, to the MBR.                          
9.10. How do I boot FreeBSD and Linux(R) from LILO?                               
      If you have FreeBSD and Linux(R) on the same disk, just follow LILO's       
      installation instructions for booting a non-Linux(R) operating system. Very 
      briefly, these are:                                                         
                                                                                  
      Boot Linux(R), and add the following lines to /etc/lilo.conf:               
                                                                                  
      other=/dev/hda2                                                             
              table=/dev/hda                                                      
              label=FreeBSD                                                       
                                                                                  
      (the above assumes that your FreeBSD slice is known to Linux(R) as          
      /dev/hda2; tailor to suit your setup). Then, run lilo as root and you       
      should be done.                                                             
                                                                                  
      If FreeBSD resides on another disk, you need to add loader=/boot/chain.b to 
      the LILO entry. For example:                                                
                                                                                  
      other=/dev/dab4                                                             
              table=/dev/dab                                                      
              loader=/boot/chain.b                                                
              label=FreeBSD                                                       
                                                                                  
      In some cases you may need to specify the BIOS drive number to the FreeBSD  
      boot loader to successfully boot off the second disk. For example, if your  
      FreeBSD SCSI disk is probed by BIOS as BIOS disk 1, at the FreeBSD boot     
      loader prompt you need to specify:                                          
                                                                                  
      Boot: 1:da(0,a)/kernel                                                      
                                                                                  
      You can configure boot(8) to automatically do this for you at boot time.    
                                                                                  
      The Linux(R)+FreeBSD mini-HOWTO is a good reference for FreeBSD and         
      Linux(R) interoperability issues.                                           
9.11. How do I boot FreeBSD and Linux(R) using GRUB                               
      Booting FreeBSD using GRUB is very simple. Just add the following to your   
      configuration file /boot/grub/grub.conf.                                    
                                                                                  
      title FreeBSD 6.1                                                           
              root (hd0,a)                                                        
              kernel /boot/loader                                                 
                                                                                  
                                                                                  
      Where hd0,a points to your root partition on the first disk. If you need to 
      specify which slice number should be used, use something like this          
      (hd0,2,a). By default, if the slice number is omitted, GRUB searches the    
      first slice which has 'a' partition.                                        
9.12. How do I boot FreeBSD and Linux(R) using BootEasy?                          
      Install LILO at the start of your Linux(R) boot partition instead of in the 
      Master Boot Record. You can then boot LILO from BootEasy.                   
                                                                                  
      If you are running Windows(R) 95 and Linux(R) this is recommended anyway,   
      to make it simpler to get Linux(R) booting again if you should need to      
      reinstall Windows(R) 95 (which is a Jealous Operating System, and will bear 
      no other Operating Systems in the Master Boot Record).                      
9.13. How do I change the boot prompt from ??? to something more meaningful?      
      You can not do that with the standard boot manager without rewriting it.    
      There are a number of other boot managers in the sysutils ports category    
      that provide this functionality.                                            
9.14. I have a new removable drive, how do I use it?                              
      Whether it is a removable drive like a Zip(R) or an EZ drive (or even a     
      floppy, if you want to use it that way), or a new hard disk, once it is     
      installed and recognized by the system, and you have your                   
      cartridge/floppy/whatever slotted in, things are pretty much the same for   
      all devices.                                                                
                                                                                  
      (this section is based on Mark Mayo's ZIP FAQ)                              
                                                                                  
      If it is a ZIP drive or a floppy, you have already got a DOS filesystem on  
      it, you can use a command like this:                                        
                                                                                  
      # mount -t msdosfs /dev/fd0c /floppy                                        
                                                                                  
      if it is a floppy, or this:                                                 
                                                                                  
      # mount -t msdosfs /dev/da2s4 /zip                                          
                                                                                  
      for a ZIP disk with the factory configuration.                              
                                                                                  
      For other disks, see how they are laid out using fdisk(8) or sysinstall(8). 
                                                                                  
      The rest of the examples will be for a ZIP drive on da2, the third SCSI     
      disk.                                                                       
                                                                                  
      Unless it is a floppy, or a removable you plan on sharing with other        
      people, it is probably a better idea to stick a BSD filesystem on it. You   
      will get long filename support, at least a 2X improvement in performance,   
      and a lot more stability. First, you need to redo the DOS-level             
      partitions/filesystems. You can either use fdisk(8) or /stand/sysinstall,   
      or for a small drive that you do not want to bother with multiple operating 
      system support on, just blow away the whole FAT partition table (slices)    
      and just use the BSD partitioning:                                          
                                                                                  
      # dd if=/dev/zero of=/dev/rda2 count=2                                      
      # disklabel -Brw da2 auto                                                   
                                                                                  
      You can use disklabel or /stand/sysinstall to create multiple BSD           
      partitions. You will certainly want to do this if you are adding swap space 
      on a fixed disk, but it is probably irrelevant on a removable drive like a  
      ZIP.                                                                        
                                                                                  
      Finally, create a new filesystem, this one is on our ZIP drive using the    
      whole disk:                                                                 
                                                                                  
      # newfs /dev/rda2c                                                          
                                                                                  
      and mount it:                                                               
                                                                                  
      # mount /dev/da2c /zip                                                      
                                                                                  
      and it is probably a good idea to add a line like this to /etc/fstab (see   
      fstab(5)) so you can just type mount /zip in the future:                    
                                                                                  
      /dev/da2c /zip ffs rw,noauto 0 0                                            
9.15. Why do I get Incorrect super block when mounting a CDROM?                   
      You have to tell mount(8) the type of the device that you want to mount.    
      This is described in the Handbook section on optical media, specifically    
      the section Using Data CDs.                                                 
9.16. Why do I get Device not configured when mounting a CDROM?                   
      This generally means that there is no CDROM in the CDROM drive, or the      
      drive is not visible on the bus. Please see the Using Data CDs section of   
      the Handbook for a detailed discussion of this issue.                       
9.17. Why do all non-English characters in filenames show up as <<?>> on my CDs   
      when mounted in FreeBSD?                                                    
      Your CDROM probably uses the <<Joliet>> extension for storing information   
      about files and directories. This is discussed in the Handbook chapter on   
      creating and using CDROMs, specifically the section on Using Data CDROMs.   
9.18. I burned a CD under FreeBSD and now I can not read it under any other       
      operating system. Why?                                                      
      You most likely burned a raw file to your CD, rather than creating an ISO   
      9660 filesystem. Take a look at the Handbook chapter on creating CDROMs,    
      particularly the section on burning raw data CDs.                           
9.19. How can I create an image of a data CD?                                     
      This is discussed in the Handbook section on duplicating data CDs. For more 
      on working with CDROMs, see the Creating CDs Section in the Storage chapter 
      in the Handbook.                                                            
9.20. Why can I not mount an audio CD?                                            
      If you try to mount an audio CD, you will get an error like cd9660:         
      /dev/acd0c: Invalid argument. This is because mount only works on           
      filesystems. Audio CDs do not have filesystems; they just have data. You    
      need a program that reads audio CDs, such as the audio/xmcd port.           
9.21. How do I mount a multi-session CD?                                          
      By default, mount(8) will attempt to mount the last data track (session) of 
      a CD. If you would like to load an earlier session, you must use the -s     
      command line argument. Please see mount_cd9660(8) for specific examples.    
9.22. How do I let ordinary users mount floppies, CDROMs and other removable      
      media?                                                                      
      Ordinary users can be permitted to mount devices. Here is how:              
                                                                                  
       1. As root set the sysctl variable vfs.usermount to 1.                     
                                                                                  
       # sysctl -w vfs.usermount=1                                                
                                                                                  
       2. As root assign the appropriate permissions to the block device          
          associated with the removable media.                                    
                                                                                  
          For example, to allow users to mount the first floppy drive, use:       
                                                                                  
       # chmod 666 /dev/fd0                                                       
                                                                                  
          To allow users in the group operator to mount the CDROM drive, use:     
                                                                                  
       # chgrp operator /dev/acd0c                                                
       # chmod 640 /dev/acd0c                                                     
                                                                                  
       3. If you are running FreeBSD 5.X or later, you will need to alter         
          /etc/devfs.conf to make these changes permanent across reboots.         
                                                                                  
          As root, add the necessary lines to /etc/devfs.conf. For example, to    
          allow users to mount the first floppy drive add:                        
                                                                                  
       # Allow all users to mount the floppy disk.                                
       own       /dev/fd0        root:operator                                    
       perm      /dev/fd0        0666                                             
                                                                                  
          To allow users in the group operator to mount the CD-ROM drive add:     
                                                                                  
       # Allow members of the group operator to mount CD-ROMs.                    
       own       /dev/acd0       root:operator                                    
       perm      /dev/acd0       0660                                             
                                                                                  
       4. Finally, add the line vfs.usermount=1 to the file /etc/sysctl.conf so   
          that it is reset at system boot time.                                   
                                                                                  
      All users can now mount the floppy /dev/fd0 onto a directory that they own: 
                                                                                  
      % mkdir ~/my-mount-point                                                    
      % mount -t msdosfs /dev/fd0 ~/my-mount-point                                
                                                                                  
      Users in group operator can now mount the CDROM /dev/acd0c onto a directory 
      that they own:                                                              
                                                                                  
      % mkdir ~/my-mount-point                                                    
      % mount -t cd9660 /dev/acd0c ~/my-mount-point                               
                                                                                  
      Unmounting the device is simple:                                            
                                                                                  
      % umount ~/my-mount-point                                                   
                                                                                  
      Enabling vfs.usermount, however, has negative security implications. A      
      better way to access MS-DOS(R) formatted media is to use the                
      emulators/mtools package in the ports collection.                           
                                                                                  
        Symei%wsy:                                                                
                                                                                  
      The device name used in the previous examples must be changed according to  
      your configuration.                                                         
9.23. The du and df commands show different amounts of disk space available. What 
      is going on?                                                                
      You need to understand what du and df really do. du goes through the        
      directory tree, measures how large each file is, and presents the totals.   
      df just asks the filesystem how much space it has left. They seem to be the 
      same thing, but a file without a directory entry will affect df but not du. 
                                                                                  
      When a program is using a file, and you delete the file, the file is not    
      really removed from the filesystem until the program stops using it. The    
      file is immediately deleted from the directory listing, however. You can    
      see this easily enough with a program such as more. Assume you have a file  
      large enough that its presence affects the output of du and df. (Since      
      disks can be so large today, this might be a very large file!) If you       
      delete this file while using more on it, more does not immediately choke    
      and complain that it cannot view the file. The entry is simply removed from 
      the directory so no other program or user can access it. du shows that it   
      is gone - it has walked the directory tree and the file is not listed. df   
      shows that it is still there, as the filesystem knows that more is still    
      using that space. Once you end the more session, du and df will agree.      
                                                                                  
      Note that Soft Updates can delay the freeing of disk space; you might need  
      to wait up to 30 seconds for the change to be visible!                      
                                                                                  
      This situation is common on web servers. Many people set up a FreeBSD web   
      server and forget to rotate the log files. The access log fills up /var.    
      The new administrator deletes the file, but the system still complains that 
      the partition is full. Stopping and restarting the web server program would 
      free the file, allowing the system to release the disk space. To prevent    
      this from happening, set up newsyslog(8).                                   
9.24. How can I add more swap space?                                              
      In the Configuration and Tuning section of the Handbook, you will find a    
      section describing how to do this.                                          
9.25. Why does FreeBSD see my disk as smaller than the manufacturer says it is?   
      Disk manufacturers calculate gigabytes as a billion bytes each, whereas     
      FreeBSD calculates them as 1,073,741,824 bytes each. This explains why, for 
      example, FreeBSD's boot messages will report a disk that supposedly has     
      80GB as holding 76319MB.                                                    
                                                                                  
      Also note that FreeBSD will (by default) reserve 8% of the disk space.      
9.26. How is it possible for a partition to be more than 100% full?               
      A portion of each UFS partition (8%, by default) is reserved for use by the 
      operating system and the root user. df(1) does not count that space when    
      calculating the Capacity column, so it can exceed 100%. Also, you will      
      notice that the Blocks column is always greater than the sum of the Used    
      and Avail columns, usually by a factor of 8%.                               
                                                                                  
      For more details, look up the -m option in tunefs(8).                       

                     Kefa%laio 10. Diaxei%risy Susty%mato*s

   10.1. Where are the system start-up configuration files?

   10.2. How do I add a user easily?

   10.3. Why do I keep getting messages like root: not found after editing my
   crontab file?

   10.4. Why do I get the error, you are not in the correct group to su root
   when I try to su to root?

   10.5. I made a mistake in rc.conf, or another startup file, and now I
   cannot edit it because the filesystem is read-only. What should I do?

   10.6. Why am I having trouble setting up my printer?

   10.7. How can I correct the keyboard mappings for my system?

   10.8. Why do I get messages like: unknown: <PNP0303> can't assign
   resources on boot?

   10.9. Why can I not get user quotas to work properly?

   10.10. Does FreeBSD support System V IPC primitives?

   10.11. What other mail-server software can I use instead of Sendmail?

   10.12. I have forgotten the root password! What do I do?

   10.13. How do I keep Control+Alt+Delete from rebooting the system?

   10.14. How do I reformat DOS text files to UNIX(R) ones?

   10.15. How do I kill processes by name?

   10.16. Why is su bugging me about not being in root's ACL?

   10.17. How do I uninstall Kerberos?

   10.18. What happened to /dev/MAKEDEV?

   10.19. How do I add pseudoterminals to the system?

   10.20. Why can I not create the snd0 device?

   10.21. How do I re-read /etc/rc.conf and re-start /etc/rc without a
   reboot?

   10.22. I tried to update my system to the latest -STABLE, but got -BETAx,
   -RC or -PRERELEASE! What is going on?

   10.23. I tried to install a new kernel, and the chflags failed. How do I
   get around this?

   10.24. I cannot change the time on my system by more than one second! How
   do I get around this?

   10.25. Why is rpc.statd using 256 megabytes of memory?

   10.26. Why can I not unset the schg file flag?

   10.27. Why does SSH authentication through .shosts not work by default in
   recent versions of FreeBSD?

   10.28. What is vnlru?

   10.29. What do the various memory states displayed by top mean?

   10.30. How much free memory is available?

   10.31. What is /var/empty? I can not delete it!

   10.1.  Where are the system start-up configuration files?                  
          The primary configuration file is /etc/defaults/rc.conf (see        
          rc.conf(5)) System startup scripts such as /etc/rc and /etc/rc.d    
          (see rc(8)) just include this file. Do not edit this file! Instead, 
          if there is any entry in /etc/defaults/rc.conf that you want to     
          change, you should copy the line into /etc/rc.conf and change it    
          there.                                                              
                                                                              
          For example, if you wish to start named, the included DNS server,   
          all you need to do is:                                              
                                                                              
          # echo named_enable="YES" >> /etc/rc.conf                           
                                                                              
          To start up local services, place shell scripts in the              
          /usr/local/etc/rc.d directory. These shell scripts should be set    
          executable, and end with a .sh.                                     
   10.2.  How do I add a user easily?                                         
          Use the adduser(8) command, or the pw(8) command for more           
          complicated situations.                                             
                                                                              
          To remove the user, use the rmuser(8) command or, if necessary,     
          pw(8).                                                              
   10.3.  Why do I keep getting messages like root: not found after editing   
          my crontab file?                                                    
          This is normally caused by editing the system crontab               
          (/etc/crontab) and then using crontab(1) to install it:             
                                                                              
          # crontab /etc/crontab                                              
                                                                              
          This is not the correct way to do things. The system crontab has a  
          different format to the per-user crontabs which crontab(1) updates  
          (the crontab(5) manual page explains the differences in more        
          detail).                                                            
                                                                              
          If this is what you did, the extra crontab is simply a copy of      
          /etc/crontab in the wrong format it. Delete it with the command:    
                                                                              
          # crontab -r                                                        
                                                                              
          Next time, when you edit /etc/crontab, you should not do anything   
          to inform cron(8) of the changes, since it will notice them         
          automatically.                                                      
                                                                              
          If you want something to be run once per day, week, or month, it is 
          probably better to add shell scripts /usr/local/etc/periodic, and   
          let the periodic(8) command run from the system cron schedule it    
          with the other periodic system tasks.                               
                                                                              
          The actual reason for the error is that the system crontab has an   
          extra field, specifying which user to run the command as. In the    
          default system crontab provided with FreeBSD, this is root for all  
          entries. When this crontab is used as the root user's crontab       
          (which is not the same as the system crontab), cron(8) assumes the  
          string root is the first word of the command to execute, but no     
          such command exists.                                                
   10.4.  Why do I get the error, you are not in the correct group to su root 
          when I try to su to root?                                           
          This is a security feature. In order to su to root (or any other    
          account with superuser privileges), you must be in the wheel group. 
          If this feature were not there, anybody with an account on a system 
          who also found out root's password would be able to gain superuser  
          level access to the system. With this feature, this is not strictly 
          true; su(1) will prevent them from even trying to enter the         
          password if they are not in wheel.                                  
                                                                              
          To allow someone to su to root, simply put them in the wheel group. 
   10.5.  I made a mistake in rc.conf, or another startup file, and now I     
          cannot edit it because the filesystem is read-only. What should I   
          do?                                                                 
          When you get the prompt to enter the shell pathname, simply press   
          ENTER, and run mount / to re-mount the root filesystem in           
          read/write mode. You may also need to run mount -a -t ufs to mount  
          the filesystem where your favorite editor is defined. If your       
          favorite editor is on a network filesystem, you will need to either 
          configure the network manually before you can mount network         
          filesystems, or use an editor which resides on a local filesystem,  
          such as ed(1).                                                      
                                                                              
          If you intend to use a full screen editor such as vi(1) or          
          emacs(1), you may also need to run export TERM=cons25 so that these 
          editors can load the correct data from the termcap(5) database.     
                                                                              
          Once you have performed these steps, you can edit /etc/rc.conf as   
          you usually would to fix the syntax error. The error message        
          displayed immediately after the kernel boot messages should tell    
          you the number of the line in the file which is at fault.           
   10.6.  Why am I having trouble setting up my printer?                      
          Please have a look at the Handbook entry on printing. It should     
          cover most of your problem. See the Handbook entry on printing.     
                                                                              
          Some printers require a host-based driver to do any kind of         
          printing. These so-called <<WinPrinters>> are not natively          
          supported by FreeBSD. If your printer does not work in DOS or       
          Windows NT(R) 4.0, it is probably a WinPrinter. Your only hope of   
          getting one of these to work is to check if the print/pnm2ppa port  
          supports it.                                                        
   10.7.  How can I correct the keyboard mappings for my system?              
          Please see the Handbook section on using localization, specifically 
          the section on console setup.                                       
   10.8.  Why do I get messages like: unknown: <PNP0303> can't assign         
          resources on boot?                                                  
          The following is an excerpt from a post to the freebsd-current      
          mailing list.                                                       
                                                                              
            The <<can't assign resources>> messages indicate that the         
            devices are legacy ISA devices for which a non-PnP-aware driver   
            is compiled into the kernel. These include devices such as        
            keyboard controllers, the programmable interrupt controller       
            chip, and several other bits of standard infrastructure. The      
            resources cannot be assigned because there is already a driver    
            using those addresses.                                            
                                             --Garrett Wollman, 24 April 2001 
   10.9.  Why can I not get user quotas to work properly?                     
           1. It is possible that your kernel is not configured to use        
              quotas. If this is the case, you will need to add the following 
              line to your kernel configuration file and recompile:           
                                                                              
           options QUOTA                                                      
                                                                              
              Please read the Handbook entry on quotas for full details.      
                                                                              
           2. Do not turn on quotas on /.                                     
                                                                              
           3. Put the quota file on the filesystem that the quotas are to be  
              enforced on, i.e.:                                              
                                                                              
                      Filesystem                      Quota file              
              /usr                        /usr/admin/quotas                   
              /home                       /home/admin/quotas                  
              ...                         ...                                 
   10.10. Does FreeBSD support System V IPC primitives?                       
          Yes, FreeBSD supports System V-style IPC, including shared memory,  
          messages and semaphores, in the GENERIC kernel. In a custom kernel, 
          enable this support by adding the following lines to your kernel    
          config.                                                             
                                                                              
          options    SYSVSHM          # enable shared memory                  
          options    SYSVSEM          # enable for semaphores                 
          options    SYSVMSG          # enable for messaging                  
                                                                              
          Recompile and install your kernel.                                  
   10.11. What other mail-server software can I use instead of Sendmail?      
          Sendmail is the default mail-server software for FreeBSD, but you   
          can easily replace it with one of the other MTA (for instance, an   
          MTA installed from the ports).                                      
                                                                              
          There are various alternative MTAs in the ports tree already, with  
          mail/exim, mail/postfix, mail/qmail, and mail/zmailer being some of 
          the most popular choices.                                           
                                                                              
          Diversity is nice, and the fact that you have many different        
          mail-servers to chose from is considered a good thing; therefore    
          try to avoid asking questions like <<Is Sendmail better than        
          Qmail?>> in the mailing lists. If you do feel like asking, first    
          check the mailing list archives. The advantages and disadvantages   
          of each and every one of the available MTAs have already been       
          discussed a few times.                                              
   10.12. I have forgotten the root password! What do I do?                   
          Do not panic! Restart the system, type boot -s at the Boot: prompt  
          to enter Single User mode. At the question about the shell to use,  
          hit ENTER. You will be dropped to a # prompt. Enter mount -u / to   
          remount your root filesystem read/write, then run mount -a to       
          remount all the filesystems. Run passwd root to change the root     
          password then run exit(1) to continue booting.                      
   10.13. How do I keep Control+Alt+Delete from rebooting the system?         
          If you are using syscons (the default console driver) build and     
          install a new kernel with the line:                                 
                                                                              
          options SC_DISABLE_REBOOT                                           
                                                                              
          in the configuration file. If you use the PCVT console driver, use  
          the following kernel configuration line instead.                    
                                                                              
          This can also be done by setting the following sysctl which does    
          not require a reboot or kernel recompile:                           
                                                                              
          # sysctl hw.syscons.kbd_reboot=0                                    
                                                                              
          options PCVT_CTRL_ALT_DEL                                           
   10.14. How do I reformat DOS text files to UNIX(R) ones?                   
          Use this perl command:                                              
                                                                              
          % perl -i.bak -npe 's/\r\n/\n/g' file ...                           
                                                                              
          file is the file(s) to process. The modification is done in-place,  
          with the original file stored with a .bak extension.                
                                                                              
          Alternatively you can use the tr(1) command:                        
                                                                              
          % tr -d '\r' < dos-text-file > unix-file                            
                                                                              
          dos-text-file is the file containing DOS text while unix-file will  
          contain the converted output. This can be quite a bit faster than   
          using perl.                                                         
   10.15. How do I kill processes by name?                                    
          Use killall(1).                                                     
   10.16. Why is su bugging me about not being in root's ACL?                 
          The error comes from the Kerberos distributed authentication        
          system. The problem is not fatal but annoying. You can either run   
          su with the -K option, or uninstall Kerberos as described in the    
          next question.                                                      
   10.17. How do I uninstall Kerberos?                                        
          To remove Kerberos from the system, reinstall the bin distribution  
          for the release you are running. If you have the CDROM, you can     
          mount the cd (we will assume on /cdrom) and run                     
                                                                              
          # cd /cdrom/bin                                                     
          # ./install.sh                                                      
                                                                              
          Alternately, you can remove all MAKE_KERBEROS options from          
          /etc/make.conf and rebuild world.                                   
   10.18. What happened to /dev/MAKEDEV?                                      
          FreeBSD 5.X and beyond use the devfs(8) device-on-demand system.    
          Device drivers automatically create new device nodes as they are    
          needed, obsoleting /dev/MAKEDEV.                                    
                                                                              
          If you are running FreeBSD 4.X or earlier and /dev/MAKEDEV is       
          missing, then you really do have a problem. Grab a copy from the    
          system source code, probably in /usr/src/etc/MAKEDEV.               
   10.19. How do I add pseudoterminals to the system?                         
          If you have lots of telnet, ssh, X, or screen users, you will       
          probably run out of pseudoterminals. Here is how to add more:       
                                                                              
           1. Build and install a new kernel with the line                    
                                                                              
           pseudo-device pty 256                                              
                                                                              
              in the configuration file.                                      
                                                                              
           2. Run the commands                                                
                                                                              
           # cd /dev                                                          
           # sh MAKEDEV pty{1,2,3,4,5,6,7}                                    
                                                                              
              to make 256 device nodes for the new terminals.                 
                                                                              
           3. Edit /etc/ttys and add lines for each of the 256 terminals.     
              They should match the form of the existing entries, i.e. they   
              look like                                                       
                                                                              
           ttyqc none network                                                 
                                                                              
              The order of the letter designations is tty[pqrsPQRS][0-9a-v],  
              using a regular expression.                                     
                                                                              
           4. Reboot the system with the new kernel and you are ready to go.  
   10.20. Why can I not create the snd0 device?                               
          There is no snd device. The name is used as a shorthand for the     
          various devices that make up the FreeBSD sound driver, such as      
          mixer, sequencer, and dsp.                                          
                                                                              
          To create these devices you should                                  
                                                                              
          # cd /dev                                                           
          # sh MAKEDEV snd0                                                   
                                                                              
            Symei%wsy:                                                        
                                                                              
          You can omit this step if you are running FreeBSD 5.0-RELEASE or    
          newer with devfs(5) enabled.                                        
   10.21. How do I re-read /etc/rc.conf and re-start /etc/rc without a        
          reboot?                                                             
          Go into single user mode and then back to multi user mode.          
                                                                              
          On the console do:                                                  
                                                                              
          # shutdown now                                                      
          (Note: without -r or -h)                                            
                                                                              
          # return                                                            
          # exit                                                              
   10.22. I tried to update my system to the latest -STABLE, but got -BETAx,  
          -RC or -PRERELEASE! What is going on?                               
          Short answer: it is just a name. RC stands for <<Release            
          Candidate>>. It signifies that a release is imminent. In FreeBSD,   
          -PRERELEASE is typically synonymous with the code freeze before a   
          release. (For some releases, the -BETA label was used in the same   
          way as -PRERELEASE.)                                                
                                                                              
          Long answer: FreeBSD derives its releases from one of two places.   
          Major, dot-zero, releases, such as 4.0-RELEASE and 5.0-RELEASE, are 
          branched from the head of the development stream, commonly referred 
          to as -CURRENT. Minor releases, such as 4.1-RELEASE or 5.2-RELEASE, 
          have been snapshots of the active -STABLE branch. Starting with     
          4.3-RELEASE, each release also now has its own branch which can be  
          tracked by people requiring an extremely conservative rate of       
          development (typically only security advisories).                   
                                                                              
          When a release is about to be made, the branch from which it will   
          be derived from has to undergo a certain process. Part of this      
          process is a code freeze. When a code freeze is initiated, the name 
          of the branch is changed to reflect that it is about to become a    
          release. For example, if the branch used to be called 4.5-STABLE,   
          its name will be changed to 4.6-PRERELEASE to signify the code      
          freeze and signify that extra pre-release testing should be         
          happening. Bug fixes can still be committed to be part of the       
          release. When the source code is in shape for the release the name  
          will be changed to 4.6-RC to signify that a release is about to be  
          made from it. Once in the RC stage, only the most critical bugs     
          found can be fixed. Once the release (4.6-RELEASE in this example)  
          and release branch have been made, the branch will be renamed to    
          4.6-STABLE.                                                         
                                                                              
          For more information on version numbers and the various CVS         
          branches, refer to the Release Engineering article.                 
   10.23. I tried to install a new kernel, and the chflags failed. How do I   
          get around this?                                                    
          Short answer: You are probably at security level greater than 0.    
          Reboot directly to single user mode to install the kernel.          
                                                                              
          Long answer: FreeBSD disallows changing system flags at security    
          levels greater than 0. You can check your security level with the   
          command:                                                            
                                                                              
          # sysctl kern.securelevel                                           
                                                                              
          You cannot lower the security level; you have to boot to single     
          mode to install the kernel, or change the security level in         
          /etc/rc.conf then reboot. See the init(8) manual page for details   
          on securelevel, and see /etc/defaults/rc.conf and the rc.conf(5)    
          manual page for more information on rc.conf.                        
   10.24. I cannot change the time on my system by more than one second! How  
          do I get around this?                                               
          Short answer: You are probably at security level greater than 1.    
          Reboot directly to single user mode to change the date.             
                                                                              
          Long answer: FreeBSD disallows changing the time by more that one   
          second at security levels greater than 1. You can check your        
          security level with the command:                                    
                                                                              
          # sysctl kern.securelevel                                           
                                                                              
          You cannot lower the security level; you have to boot to single     
          mode to change the date, or change the security level in            
          /etc/rc.conf then reboot. See the init(8) manual page for details   
          on securelevel, and see /etc/defaults/rc.conf and the rc.conf(5)    
          manual page for more information on rc.conf.                        
   10.25. Why is rpc.statd using 256 megabytes of memory?                     
          No, there is no memory leak, and it is not using 256 Mbytes of      
          memory. For convenience, rpc.statd maps an obscene amount of memory 
          into its address space. There is nothing terribly wrong with this   
          from a technical standpoint; it just throws off things like top(1)  
          and ps(1).                                                          
                                                                              
          rpc.statd(8) maps its status file (resident on /var) into its       
          address space; to save worrying about remapping it later when it    
          needs to grow, it maps it with a generous size. This is very        
          evident from the source code, where one can see that the length     
          argument to mmap(2) is 0x10000000, or one sixteenth of the address  
          space on an IA32, or exactly 256MB.                                 
   10.26. Why can I not unset the schg file flag?                             
          You are running at an elevated (i.e., greater than 0) securelevel.  
          Lower the securelevel and try again. For more information, see the  
          FAQ entry on securelevel and the init(8) manual page.               
   10.27. Why does SSH authentication through .shosts not work by default in  
          recent versions of FreeBSD?                                         
          The reason why .shosts authentication does not work by default in   
          more recent versions of FreeBSD is because ssh(1) is not installed  
          suid root by default. To <<fix>> this, you can do one of the        
          following:                                                          
                                                                              
            * As a permanent fix, set ENABLE_SUID_SSH to true in              
              /etc/make.conf and rebuild ssh (or run make world).             
                                                                              
            * As a temporary fix, change the mode on /usr/bin/ssh to 4555 by  
              running chmod 4555 /usr/bin/ssh as root. Then add               
              ENABLE_SUID_SSH= true to /etc/make.conf so the change takes     
              effect the next time make world is run.                         
   10.28. What is vnlru?                                                      
          vnlru flushes and frees vnodes when the system hits the             
          kern.maxvnodes limit. This kernel thread sits mostly idle, and only 
          activates if you have a huge amount of RAM and are accessing tens   
          of thousands of tiny files.                                         
   10.29. What do the various memory states displayed by top mean?            
            * Active: pages recently statistically used.                      
                                                                              
            * Inactive: pages recently statistically unused.                  
                                                                              
            * Cache: (most often) pages that have percolated from inactive to 
              a status where they maintain their data, but can often be       
              immediately reused (either with their old association, or       
              reused with a new association.) There can be certain immediate  
              transitions from active to cache state if the page is known to  
              be clean (unmodified), but that transition is a matter of       
              policy, depending upon the algorithm choice of the VM system    
              maintainer.                                                     
                                                                              
            * Free: pages without data content, and can be immediately used   
              in certain circumstances where cache pages might be ineligible. 
              Free pages can be reused at interrupt or process state.         
                                                                              
            * Wired: pages that are fixed into memory, usually for kernel     
              purposes, but also sometimes for special use in processes.      
                                                                              
          Pages are most often written to disk (sort of a VM sync) when they  
          are in the inactive state, but active pages can also be synced (but 
          requires the availability of certain CPU features.) This depends    
          upon the CPU tracking of the modified bit being available, and in   
          certain situations there can be an advantage for a block of VM      
          pages to be synced, whether they are active or inactive. In most    
          common cases, it is best to think of the inactive queue to be a     
          queue of relatively unused pages that might or might not be in the  
          process of being written to disk. Cached pages are already synced,  
          not mapped, but available for immediate process use with their old  
          association or with a new association. Free pages are available at  
          interrupt level, but cached or free pages can be used at process    
          state for reuse. Cache pages are not adequately locked to be        
          available at interrupt level.                                       
                                                                              
          There are some other flags (e.g., busy flag or busy count) that     
          might modify some of the rules that I described.                    
   10.30. How much free memory is available?                                  
          There are a couple of kinds of <<free memory>>. One kind is the     
          amount of memory immediately available without paging anything else 
          out. That is approximately the size of cache queue + size of free   
          queue (with a derating factor, depending upon system tuning.)       
          Another kind of <<free memory>> is the total amount of VM space.    
          That can be complex, but is dependent upon the amount of swap space 
          and memory. Other kinds of <<free memory>> descriptions are also    
          possible, but it is relatively useless to define these, but rather  
          it is important to make sure that the paging rate is kept low, and  
          to avoid running out of swap space.                                 
   10.31. What is /var/empty? I can not delete it!                            
          /var/empty is a directory that the sshd(8) program uses when        
          performing privilege separation. The /var/empty directory is empty, 
          owned by root and has the schg flag set.                            
                                                                              
          Although it is not recommended to delete this directory, to do so   
          you will need to unset the schg flag first. See the chflags(1)      
          manual page for more information (and bear in mind the answer to    
          the question on unsetting the schg flag).                           

       Kefa%laio 11. To Su%styma X Windows kai oi Eikonike%*s Konso%le*s

   11.1. What is the X Window System?

   11.2. Which X implementations are available for FreeBSD?

   11.3. Will my existing applications run with the Xorg suite?

   11.4. Why did the X projects split, anyway?

   11.5. Why did FreeBSD choose to go with the Xorg ports by default?

   11.6. I want to run X, how do I go about it?

   11.7. I tried to run X, but I get an KDENABIO failed (Operation not
   permitted) error when I type startx. What do I do now?

   11.8. Why does my mouse not work with X?

   11.9. My mouse has a fancy wheel. Can I use it in X?

   11.10. How do I use remote X displays?

   11.11. Why do X Window menus and dialog boxes not work right?

   11.12. What is a virtual console and how do I make more?

   11.13. How do I access the virtual consoles from X?

   11.14. How do I start XDM on boot?

   11.15. Why do I get Couldn't open console when I run xconsole?

   11.16. Before, I was able to run XFree86TM as a regular user. Why does it
   now say that I must be root?

   11.17. Why does my PS/2 mouse misbehave under X?

   11.18. Why does my PS/2 mouse from MouseSystems not work?

   11.19. I want to install different X server.

   11.20. How do I reverse the mouse buttons?

   11.21. How do I install a splash screen and where do I find them?

   11.22. Can I use the Windows(R) keys on my keyboard in X?

   11.23. How can I get 3D hardware acceleration for OpenGL(R)?

   11.1.  What is the X Window System?                                        
          The X Window System (commonly X11) is the most widely available     
          windowing system capable of running on UNIX(R) or UNIX(R) like      
          systems, including FreeBSD. The X.Org Foundation administers the X  
          protocol standards, with the current reference implementation,      
          version 11 release 7.7, so you will often see references shortened  
          to X11.                                                             
                                                                              
          Many implementations are available for different architectures and  
          operating systems. An implementation of the server-side code is     
          properly known as an X server.                                      
   11.2.  Which X implementations are available for FreeBSD?                  
          Historically, the default implementation of X on FreeBSD has been   
          XFree86TM which is maintained by The XFree86 Project, Inc. This     
          software was installed by default on FreeBSD versions up until 4.10 
          and 5.2. Although Xorg itself maintained an implementation during   
          that time period, it was basically only provided as a reference     
          platform, as it had suffered greatly from bitrot over the years.    
                                                                              
          However, early in 2004, some XFree86 developers left that project   
          over issues including the pace of code changes, future directions,  
          and interpersonal conflicts, and are now contributing code directly 
          to Xorg instead. At that time, Xorg updated its source tree to the  
          last XFree86TM release before its subsequent licensing change       
          (XFree86 version 4.3.99.903), incorporated many changes that had    
          previously been maintained separately, and has released that        
          software as X11R6.7.0. A separate but related project,              
          freedesktop.org (or fd.o for short), is working on rearchitecting   
          the original XFree86TM code to offload more work onto the graphics  
          cards (with the goal of increased performance) and make it more     
          modular (with the goal of increased maintainability, and thus       
          faster releases as well as easier configuration). Xorg intends to   
          incorporate the freedesktop.org changes in its future releases.     
                                                                              
          As of July 2004, in FreeBSD-CURRENT, XFree86TM has been replaced    
          with Xorg as the default implementation. The XFree86TM ports        
          (x11/XFree86-4 and subports) remain in the ports collection. But    
          Xorg is the default X11 implementation for FreeBSD 5.3 and later.   
                                                                              
          For further information, read the X11 section of the FreeBSD        
          Handbook.                                                           
                                                                              
            Symei%wsy:                                                        
                                                                              
          The above describes the default X implementation installed. It is   
          still possible to install either implementation by following the    
          instructions in the entry for 20040723 in /usr/ports/UPDATING.      
                                                                              
            Proeidopoi%ysy:                                                   
                                                                              
          It is not currently possible to mix-and-match pieces of each        
          implementation; one must choose one or the other.                   
   11.3.  Will my existing applications run with the Xorg suite?              
          The Xorg software is written to the same X11R6 specification that   
          XFree86TM is, so basic applications should work unchanged. A few    
          lesser-used protocols have been deprecated (XIE, PEX, and           
          lbxproxy), but in the first two cases, the FreeBSD port of          
          XFree86TM did not support them either.                              
   11.4.  Why did the X projects split, anyway?                               
          The answer to this question is outside the scope of this FAQ. Note  
          that there are voluminous postings in various mailing list archives 
          on the Internet; please use your favorite search engine to          
          investigate the history instead of asking this question on the      
          FreeBSD mailing lists. It may even be the case that only the        
          participants will ever know for certain.                            
   11.5.  Why did FreeBSD choose to go with the Xorg ports by default?        
          The Xorg developers claim that their goal is to release more often  
          and incorporate new features more quickly. If they are able to do   
          so, this will be very attractive. Also, their software still uses   
          the traditional X license, while XFree86TM is now using their       
          modified one.                                                       
                                                                              
            Symei%wsy:                                                        
                                                                              
          This decision is still controversial. Only time will tell which     
          implementation proves technically superior. Each FreeBSD user       
          should decide which they prefer.                                    
   11.6.  I want to run X, how do I go about it?                              
          If you would like to add X to an existing installation, you should  
          use the x11/xorg meta-port, which will build and install all the    
          necessary components.                                               
                                                                              
          Then read and follow the documentation on the xorgconfig(1) tool,   
          which assists you in configuring Xorg for your particular graphics  
          card/mouse/etc. You may also wish to examine the xorgcfg(1) tool,   
          which provides a graphical interface to the X configuration         
          process.                                                            
                                                                              
          For further information, read the X11 section of the FreeBSD        
          Handbook.                                                           
                                                                              
          You may also wish to investigate the Xaccel server. See the section 
          on Xi Graphics for more details.                                    
   11.7.  I tried to run X, but I get an KDENABIO failed (Operation not       
          permitted) error when I type startx. What do I do now?              
          Your system is probably running at a raised securelevel. It is not  
          possible to start X at a raised securelevel because X requires      
          write access to /dev/io. For more information, see at the init(8)   
          manual page.                                                        
                                                                              
          So the question is what else you should do instead, and you         
          basically have two choices: set your securelevel back down to zero  
          (usually from /etc/rc.conf), or run xdm(1) at boot time (before the 
          securelevel is raised).                                             
                                                                              
          See E: 11.14 for more information about running xdm(1) at boot      
          time.                                                               
   11.8.  Why does my mouse not work with X?                                  
          If you are using syscons (the default console driver), you can      
          configure FreeBSD to support a mouse pointer on each virtual        
          screen. In order to avoid conflicting with X, syscons supports a    
          virtual device called /dev/sysmouse. All mouse events received from 
          the real mouse device are written to the sysmouse device via        
          moused. If you wish to use your mouse on one or more virtual        
          consoles, and use X, see E: 4.4.4 and set up moused.                
                                                                              
          Then edit /etc/X11/xorg.conf and make sure you have the following   
          lines:                                                              
                                                                              
          Section "InputDevice"                                               
             Option          "Protocol" "SysMouse"                            
             Option          "Device" "/dev/sysmouse"                         
          .....                                                               
                                                                              
          Some people prefer to use /dev/mouse under X. To make this work,    
          /dev/mouse should be linked to /dev/sysmouse (see sysmouse(4)):     
                                                                              
          # cd /dev                                                           
          # rm -f mouse                                                       
          # ln -s sysmouse mouse                                              
   11.9.  My mouse has a fancy wheel. Can I use it in X?                      
          Yes.                                                                
                                                                              
          You need to tell X that you have a 5 button mouse. To do this,      
          simply add the lines Buttons 5 and ZAxisMapping 4 5 to the          
          <<InputDevice>> section of /etc/X11/xorg.conf. For example, you     
          might have the following <<InputDevice>> section in                 
          /etc/X11/xorg.conf.                                                 
                                                                              
          Para%deigma 11.1. <<InputDevice>> Section for Wheeled Mouse in Xorg 
          configuration file                                                  
                                                                              
          Section "InputDevice"                                               
             Identifier      "Mouse1"                                         
             Driver          "mouse"                                          
             Option          "Protocol" "auto"                                
             Option          "Device" "/dev/sysmouse"                         
             Option          "Buttons" "5"                                    
             Option          "ZAxisMapping" "4 5"                             
          EndSection                                                          
                                                                              
          Para%deigma 11.2. <<.emacs>> example for naive page scrolling with  
          Wheeled Mouse (optional)                                            
                                                                              
          ;; wheel mouse                                                      
          (global-set-key [mouse-4] 'scroll-down)                             
          (global-set-key [mouse-5] 'scroll-up)                               
   11.10. How do I use remote X displays?                                     
          For security reasons, the default setting is to not allow a machine 
          to remotely open a window.                                          
                                                                              
          To enable this feature, simply start X with the optional            
          -listen_tcp argument:                                               
                                                                              
          % startx -listen_tcp                                                
                                                                              
   11.11. Why do X Window menus and dialog boxes not work right?              
          Try turning off the Num Lock key.                                   
                                                                              
          If your Num Lock key is on by default at boot-time, you may add the 
          following line in the Keyboard section of the /etc/X11/xorg.conf    
          file.                                                               
                                                                              
          # Let the server do the NumLock processing.  This should only be    
          # required when using pre-R6 clients                                
              ServerNumLock                                                   
   11.12. What is a virtual console and how do I make more?                   
          Virtual consoles, put simply, enable you to have several            
          simultaneous sessions on the same machine without doing anything    
          complicated like setting up a network or running X.                 
                                                                              
          When the system starts, it will display a login prompt on the       
          monitor after displaying all the boot messages. You can then type   
          in your login name and password and start working (or playing!) on  
          the first virtual console.                                          
                                                                              
          At some point, you will probably wish to start another session,     
          perhaps to look at documentation for a program you are running or   
          to read your mail while waiting for an FTP transfer to finish. Just 
          do Alt+F2 (hold down the Alt key and press the F2 key), and you     
          will find a login prompt waiting for you on the second <<virtual    
          console>>! When you want to go back to the original session, do     
          Alt+F1.                                                             
                                                                              
          The default FreeBSD installation has eight virtual consoles         
          enabled. Alt+F1, Alt+F2, Alt+F3, and so on will switch between      
          these virtual consoles.                                             
                                                                              
          To enable more of them, edit /etc/ttys (see ttys(5)) and add        
          entries for ttyv4 to ttyvc after the comment on <<Virtual           
          terminals>>:                                                        
                                                                              
          # 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           
                                                                              
          Use as many or as few as you want. The more virtual terminals you   
          have, the more resources that are used; this can be important if    
          you have 8MB RAM or less. You may also want to change the secure to 
          insecure.                                                           
                                                                              
            Symantiko%:                                                       
                                                                              
          If you want to run an X server you must leave at least one virtual  
          terminal unused (or turned off) for it to use. That is to say that  
          if you want to have a login prompt pop up for all twelve of your    
          Alt-function keys, you are out of luck - you can only do this for   
          eleven of them if you also want to run an X server on the same      
          machine.                                                            
                                                                              
          The easiest way to disable a console is by turning it off. For      
          example, if you had the full 12 terminal allocation mentioned above 
          and you wanted to run X, you would change settings for virtual      
          terminal 12 from:                                                   
                                                                              
          ttyvb   "/usr/libexec/getty Pc"         cons25  on  secure          
                                                                              
          to:                                                                 
                                                                              
          ttyvb   "/usr/libexec/getty Pc"         cons25  off secure          
                                                                              
          If your keyboard has only ten function keys, you would end up with: 
                                                                              
          ttyv9   "/usr/libexec/getty Pc"         cons25  off secure          
          ttyva   "/usr/libexec/getty Pc"         cons25  off secure          
          ttyvb   "/usr/libexec/getty Pc"         cons25  off secure          
                                                                              
          (You could also just delete these lines.)                           
                                                                              
          Next, the easiest (and cleanest) way to activate the virtual        
          consoles is to reboot. However, if you really do not want to        
          reboot, you can just shut down the X Window system and execute (as  
          root):                                                              
                                                                              
          # kill -HUP 1                                                       
                                                                              
          It is imperative that you completely shut down X Window if it is    
          running, before running this command. If you do not, your system    
          will probably appear to hang/lock up after executing the kill       
          command.                                                            
   11.13. How do I access the virtual consoles from X?                        
          Use Ctrl+Alt+Fn to switch back to a virtual console. Ctrl+Alt+F1    
          would return you to the first virtual console.                      
                                                                              
          Once you are back to a text console, you can then use Alt+Fn as     
          normal to move between them.                                        
                                                                              
          To return to the X session, you must switch to the virtual console  
          running X. If you invoked X from the command line, (e.g., using     
          startx) then the X session will attach to the next unused virtual   
          console, not the text console from which it was invoked. If you     
          have eight active virtual terminals then X will be running on the   
          ninth, and you would use Alt+F9 to return.                          
   11.14. How do I start XDM on boot?                                         
          There are two schools of thought on how to start xdm(1). One school 
          starts xdm from /etc/ttys (see ttys(5)) using the supplied example, 
          while the other simply runs xdm from rc.local (see rc(8)) or from a 
          X.sh script in /usr/local/etc/rc.d. Both are equally valid, and one 
          may work in situations where the other does not. In both cases the  
          result is the same: X will pop up a graphical login: prompt.        
                                                                              
          The ttys method has the advantage of documenting which vty X will   
          start on and passing the responsibility of restarting the X server  
          on logout to init. The rc.local method makes it easy to kill xdm if 
          there is a problem starting the X server.                           
                                                                              
          If loaded from rc.local, xdm should be started without any          
          arguments (i.e., as a daemon). xdm must start AFTER getty runs, or  
          else getty and xdm will conflict, locking out the console. The best 
          way around this is to have the script sleep 10 seconds or so then   
          launch xdm.                                                         
                                                                              
          If you are to start xdm from /etc/ttys, there still is a chance of  
          conflict between xdm and getty(8). One way to avoid this is to add  
          the vt number in the /usr/local/lib/X11/xdm/Xservers file.          
                                                                              
          :0 local /usr/local/bin/X vt4                                       
                                                                              
          The above example will direct the X server to run in /dev/ttyv3.    
          Note the number is offset by one. The X server counts the vty from  
          one, whereas the FreeBSD kernel numbers the vty from zero.          
   11.15. Why do I get Couldn't open console when I run xconsole?             
          If you start X with startx, the permissions on /dev/console will    
          not get changed, resulting in things like xterm -C and xconsole not 
          working.                                                            
                                                                              
          This is because of the way console permissions are set by default.  
          On a multi-user system, one does not necessarily want just any user 
          to be able to write on the system console. For users who are        
          logging directly onto a machine with a VTY, the fbtab(5) file       
          exists to solve such problems.                                      
                                                                              
          In a nutshell, make sure an uncommented line of the form            
                                                                              
          /dev/ttyv0 0600 /dev/console                                        
                                                                              
          is in /etc/fbtab (see fbtab(5)) and it will ensure that whomever    
          logs in on /dev/ttyv0 will own the console.                         
   11.16. Before, I was able to run XFree86TM as a regular user. Why does it  
          now say that I must be root?                                        
          All X servers need to be run as root in order to get direct access  
          to your video hardware. Older versions of XFree86TM (<= 3.3.6)      
          installed all bundled servers to be automatically run as root       
          (setuid to root). This is obviously a security hazard because X     
          servers are large, complicated programs. Newer versions of          
          XFree86TM do not install the servers setuid to root for just this   
          reason.                                                             
                                                                              
          Obviously, running an X server as the root user is not acceptable,  
          nor a good idea security-wise. There are two ways to be able to use 
          X as a regular user. The first is to use xdm or another display     
          manager (e.g., kdm); the second is to use the Xwrapper.             
                                                                              
          xdm is a daemon that handles graphical logins. It is usually        
          started at boot time, and is responsible for authenticating users   
          and starting their sessions; it is essentially the graphical        
          counterpart of getty(8) and login(1). For more information on xdm   
          see the XFree86TM documentation, and the the FAQ entry on it.       
                                                                              
          Xwrapper is the X server wrapper; it is a small utility to enable   
          one to manually run an X server while maintaining reasonable        
          safety. It performs some sanity checks on the command line          
          arguments given, and if they pass, runs the appropriate X server.   
          If you do not want to run a display manager for whatever reason,    
          this is for you. If you have installed the complete ports           
          collection, you can find the port in /usr/ports/x11/wrapper.        
   11.17. Why does my PS/2 mouse misbehave under X?                           
          Your mouse and the mouse driver may have somewhat become out of     
          synchronization.                                                    
                                                                              
          In rare cases the driver may erroneously report synchronization     
          problem and you may see the kernel message:                         
                                                                              
          psmintr: out of sync (xxxx != yyyy)                                 
                                                                              
          and notice that your mouse does not work properly.                  
                                                                              
          If this happens, disable the synchronization check code by setting  
          the driver flags for the PS/2 mouse driver to 0x100. Enter          
          UserConfig by giving the -c option at the boot prompt:              
                                                                              
          boot: -c                                                            
                                                                              
          Then, in the UserConfig command line, type:                         
                                                                              
          UserConfig> flags psm0 0x100                                        
          UserConfig> quit                                                    
   11.18. Why does my PS/2 mouse from MouseSystems not work?                  
          There have been some reports that certain model of PS/2 mouse from  
          MouseSystems works only if it is put into the <<high resolution>>   
          mode. Otherwise, the mouse cursor may jump to the upper-left corner 
          of the screen every so often.                                       
                                                                              
          Specify the flags 0x04 to the PS/2 mouse driver to put the mouse    
          into the high resolution mode. Enter UserConfig by giving the -c    
          option at the boot prompt:                                          
                                                                              
          boot: -c                                                            
                                                                              
          Then, in the UserConfig command line, type:                         
                                                                              
          UserConfig> flags psm0 0x04                                         
          UserConfig> quit                                                    
                                                                              
          See the previous section for another possible cause of mouse        
          problems.                                                           
   11.19. I want to install different X server.                               
          FreeBSD versions prior 5.3 will use the default XFree86TM 4.X,      
          while latter versions will default to Xorg. If you want to run a    
          different X11 implementation than the default one, add the          
          following line to /etc/make.conf, (if you do not have this file,    
          create it):                                                         
                                                                              
          X_WINDOW_SYSTEM=        xorg                                        
                                                                              
          This variable may be set to xorg, xfree86-4, or xfree86-3.          
   11.20. How do I reverse the mouse buttons?                                 
          Run the command xmodmap -e "pointer = 3 2 1" from your .xinitrc or  
          .xsession.                                                          
   11.21. How do I install a splash screen and where do I find them?          
          FreeBSD have a feature to allow the display of <<splash>> screens   
          during the boot messages. The splash screens currently must be a    
          256 color bitmap (*.BMP) or ZSoft PCX (*.PCX) file. In addition,    
          they must have a resolution of 320x200 or less to work on standard  
          VGA adapters. If you compile VESA support into your kernel, then    
          you can use larger bitmaps up to 1024x768. The actual VESA support  
          can either be compiled directly into the kernel with the VESA       
          kernel config option or by loading the VESA kld module during       
          bootup.                                                             
                                                                              
          To use a splash screen, you need to modify the startup files that   
          control the boot process for FreeBSD.                               
                                                                              
          You need to create a /boot/loader.rc file that contains the         
          following lines:                                                    
                                                                              
          include /boot/loader.4th                                            
          start                                                               
                                                                              
          and a /boot/loader.conf that contains the following:                
                                                                              
          splash_bmp_load="YES"                                               
          bitmap_load="YES"                                                   
                                                                              
          This assumes you are using /boot/splash.bmp for your splash screen. 
          If you would rather use a PCX file, copy it to /boot/splash.pcx,    
          create a /boot/loader.rc as instructed above, and create a          
          /boot/loader.conf that contains:                                    
                                                                              
          splash_pcx_load="YES"                                               
          bitmap_load="YES"                                                   
          bitmap_name="/boot/splash.pcx"                                      
                                                                              
          Now all you need is a splash screen. For that you can surf on over  
          to the gallery at http://www.baldwin.cx/splash/.                    
   11.22. Can I use the Windows(R) keys on my keyboard in X?                  
          Yes. All you need to do is use xmodmap(1) to define what function   
          you wish them to perform.                                           
                                                                              
          Assuming all <<Windows(R)>> keyboards are standard then the         
          keycodes for the 3 keys are                                         
                                                                              
            * 115 - Windows(R) key, between the left-hand Ctrl and Alt keys   
                                                                              
            * 116 - Windows(R) key, to the right of the AltGr key             
                                                                              
            * 117 - Menu key, to the left of the right-hand Ctrl key          
                                                                              
          To have the left Windows(R) key print a comma, try this.            
                                                                              
          # xmodmap -e "keycode 115 = comma"                                  
                                                                              
          You will probably have to re-start your window manager to see the   
          result.                                                             
                                                                              
          To have the Windows(R) key-mappings enabled automatically every     
          time you start X either put the xmodmap commands in your ~/.xinitrc 
          file or, preferably, create a file ~/.xmodmaprc and include the     
          xmodmap options, one per line, then add the line                    
                                                                              
          xmodmap $HOME/.xmodmaprc                                            
                                                                              
          to your ~/.xinitrc.                                                 
                                                                              
          For example, you could map the 3 keys to be F13, F14, and F15,      
          respectively. This would make it easy to map them to useful         
          functions within applications or your window manager, as            
          demonstrated further down.                                          
                                                                              
          To do this put the following in ~/.xmodmaprc.                       
                                                                              
          keycode 115 = F13                                                   
          keycode 116 = F14                                                   
          keycode 117 = F15                                                   
                                                                              
          If you use fvwm2, for example, you could map the keys so that F13   
          iconifies (or de-iconifies) the window the cursor is in, F14 brings 
          the window the cursor is in to the front or, if it is already at    
          the front, pushes it to the back, and F15 pops up the main          
          Workplace (application) menu even if the cursor is not on the       
          desktop, which is useful if you do not have any part of the desktop 
          visible (and the logo on the key matches its functionality).        
                                                                              
          The following entries in ~/.fvwmrc implement the aforementioned     
          setup:                                                              
                                                                              
          Key F13        FTIWS    A        Iconify                            
          Key F14        FTIWS    A        RaiseLower                         
          Key F15        A        A        Menu Workplace Nop                 
   11.23. How can I get 3D hardware acceleration for OpenGL(R)?               
          The availability of 3D acceleration depends on the version of       
          XFree86TM or Xorg that you are using and the type of video chip you 
          have. If you have an NVIDIA chip, you can use the binary drivers    
          provided for FreeBSD on the Drivers section of their website. For   
          other cards with XFree86TM-4 or Xorg, including the Matrox          
          G200/G400, ATI Rage 128/Radeon, and 3dfx Voodoo 3, 4, 5, and        
          Banshee, information on hardware acceleration is available on the   
          XFree86-4 Direct Rendering on FreeBSD page.                         

                            Kefa%laio 12. Diktu%wsy

   12.1. Where can I get information on <<diskless booting>>?

   12.2. Can a FreeBSD box be used as a dedicated network router?

   12.3. Can I connect my Windows(R) box to the Internet via FreeBSD?

   12.4. Does FreeBSD support SLIP and PPP?

   12.5. Does FreeBSD support NAT or Masquerading?

   12.6. How do I connect two FreeBSD systems over a parallel line using
   PLIP?

   12.7. Why can I not create a /dev/ed0 device?

   12.8. How can I set up Ethernet aliases?

   12.9. How do I get my 3C503 to use the other network port?

   12.10. Why am I having trouble with NFS and FreeBSD?

   12.11. Why can I not NFS-mount from a Linux(R) box?

   12.12. Why can I not NFS-mount from a Sun box?

   12.13. Why does mountd keep telling me it can't change attributes and that
   I have a bad exports list on my FreeBSD NFS server?

   12.14. Why am I having problems talking PPP to NeXTStep machines?

   12.15. How do I enable IP multicast support?

   12.16. Which network cards are based on the DEC PCI chipset?

   12.17. Why do I have to use the FQDN for hosts on my site?

   12.18. Why do I get an error, Permission denied, for all networking
   operations?

   12.19. How much overhead does IPFW incur?

   12.20. Why is my ipfw <<fwd>> rule to redirect a service to another
   machine not working?

   12.21. How can I redirect service requests from one machine to another?

   12.22. Where can I get a bandwidth management tool?

   12.23. Why do I get /dev/bpf0: device not configured?

   12.24. How do I mount a disk from a Windows(R) machine that is on my
   network, like smbmount in Linux(R)?

   12.25. What are these messages about <<icmp-response bandwidth limit
   300/200 pps>> in my log files?

   12.26. What are these arp: unknown hardware address format error messages?

   12.27. I have just installed CVSup but trying to execute it produces
   errors. What is wrong?

12.1.  Where can I get information on <<diskless booting>>?                          
       <<Diskless booting>> means that the FreeBSD box is booted over a network, and 
       reads the necessary files from a server instead of its hard disk. For full    
       details, please read the Handbook entry on diskless booting                   
12.2.  Can a FreeBSD box be used as a dedicated network router?                      
       Yes. Please see the Handbook entry on advanced networking, specifically the   
       section on routing and gateways.                                              
12.3.  Can I connect my Windows(R) box to the Internet via FreeBSD?                  
       Typically, people who ask this question have two PCs at home, one with        
       FreeBSD and one with some version of Windows(R) the idea is to use the        
       FreeBSD box to connect to the Internet and then be able to access the         
       Internet from the Windows(R) box through the FreeBSD box. This is really just 
       a special case of the previous question and works perfectly well.             
                                                                                     
       If you are using dialup to connect to the Internet user-mode ppp(8) contains  
       a -nat option. If you run ppp(8) with the -nat option, set gateway_enable to  
       YES in /etc/rc.conf, and configure your Windows(R) machine correctly, this    
       should work fine. For more information, please see the ppp(8) manual page or  
       the Handbook entry on user PPP.                                               
                                                                                     
       If you are using kernel-mode PPP or have an Ethernet connection to the        
       Internet, you need to use natd(8). Please look at the natd section of the     
       Handbook for a tutorial.                                                      
12.4.  Does FreeBSD support SLIP and PPP?                                            
       Yes. See the manual pages for slattach(8), sliplogin(8), ppp(8), and pppd(8). 
       ppp(8) and pppd(8) provide support for both incoming and outgoing             
       connections, while sliplogin(8) deals exclusively with incoming connections,  
       and slattach(8) deals exclusively with outgoing connections.                  
                                                                                     
       For more information on how to use these, please see the Handbook chapter on  
       PPP and SLIP.                                                                 
                                                                                     
       If you only have access to the Internet through a <<shell account>>, you may  
       want to have a look at the net/slirp package. It can provide you with         
       (limited) access to services such as ftp and http direct from your local      
       machine.                                                                      
12.5.  Does FreeBSD support NAT or Masquerading?                                     
       Yes. If you want to use NAT over a user PPP connection, please see the        
       Handbook entry on user PPP. If you want to use NAT over some other sort of    
       network connection, please look at the natd section of the Handbook.          
12.6.  How do I connect two FreeBSD systems over a parallel line using PLIP?         
       Please see the PLIP section of the Handbook.                                  
12.7.  Why can I not create a /dev/ed0 device?                                       
       Because they are not necessary. In the Berkeley networking framework, network 
       interfaces are only directly accessible by kernel code. Please see the        
       /etc/rc.network file and the manual pages for the various network programs    
       mentioned there for more information. If this leaves you totally confused,    
       then you should pick up a book describing network administration on another   
       BSD-related operating system; with few significant exceptions, administering  
       networking on FreeBSD is basically the same as on SunOSTM 4.0 or Ultrix.      
12.8.  How can I set up Ethernet aliases?                                            
       If the alias is on the same subnet as an address already configured on the    
       interface, then add netmask 0xffffffff to your ifconfig(8) command-line, as   
       in the following:                                                             
                                                                                     
       # ifconfig ed0 alias 192.0.2.2 netmask 0xffffffff                             
                                                                                     
       Otherwise, just specify the network address and netmask as usual:             
                                                                                     
       # ifconfig ed0 alias 172.16.141.5 netmask 0xffffff00                          
12.9.  How do I get my 3C503 to use the other network port?                          
       If you want to use the other ports, you will have to specify an additional    
       parameter on the ifconfig(8) command line. The default port is link0. To use  
       the AUI port instead of the BNC one, use link2. These flags should be         
       specified using the ifconfig_* variables in /etc/rc.conf (see rc.conf(5)).    
12.10. Why am I having trouble with NFS and FreeBSD?                                 
       Certain PC network cards are better than others (to put it mildly) and can    
       sometimes cause problems with network intensive applications like NFS.        
                                                                                     
       See the Handbook entry on NFS for more information on this topic.             
12.11. Why can I not NFS-mount from a Linux(R) box?                                  
       Some versions of the Linux(R) NFS code only accept mount requests from a      
       privileged port; try                                                          
                                                                                     
       # mount -o -P linuxbox:/blah /mnt                                             
12.12. Why can I not NFS-mount from a Sun box?                                       
       SunTM workstations running SunOSTM 4.X only accept mount requests from a      
       privileged port; try                                                          
                                                                                     
       # mount -o -P sunbox:/blah /mnt                                               
12.13. Why does mountd keep telling me it can't change attributes and that I have a  
       bad exports list on my FreeBSD NFS server?                                    
       The most frequent problem is not understanding the correct format of          
       /etc/exports. Please review exports(5) and the NFS entry in the Handbook,     
       especially the section on configuring NFS.                                    
12.14. Why am I having problems talking PPP to NeXTStep machines?                    
       Try disabling the TCP extensions in /etc/rc.conf (see rc.conf(5)) by changing 
       the following variable to NO:                                                 
                                                                                     
       tcp_extensions=NO                                                             
                                                                                     
       Xylogic's Annex boxes are also broken in this regard and you must use the     
       above change to connect through them.                                         
12.15. How do I enable IP multicast support?                                         
       FreeBSD supports multicast host operations by default. If you want your box   
       to run as a multicast router, you need to recompile your kernel with the      
       MROUTING option and run mrouted(8). FreeBSD will start mrouted(8) at boot     
       time if the flag mrouted_enable is set to "YES" in /etc/rc.conf.              
                                                                                     
       MBONE tools are available in their own ports category, mbone. If you are      
       looking for the conference tools vic and vat, look there!                     
12.16. Which network cards are based on the DEC PCI chipset?                         
       Here is a list compiled by Glen Foster <gfoster@driver.nsta.org>, with some   
       more modern additions:                                                        
                                                                                     
       Pi%naka*s 12.1. Network cards based on the DEC PCI chipset                    
                                                                                     
       +---------------------------------------------------------------------------+ 
       |    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                                                   | 
       |--------------+------------------------------------------------------------| 
       | Znyx (2.2.x) | ZX312, ZX314, ZX342, ZX345, ZX346, ZX348                   | 
       |--------------+------------------------------------------------------------| 
       | Znyx (3.x)   | ZX345Q, ZX346Q, ZX348Q, ZX412Q, ZX414, ZX442, ZX444,       | 
       |              | ZX474, ZX478, ZX212, ZX214 (10mbps/hd)                     | 
       +---------------------------------------------------------------------------+ 
12.17. Why do I have to use the FQDN for hosts on my site?                           
       You will probably find that the host is actually in a different domain; for   
       example, if you are in foo.example.org and you wish to reach a host called    
       mumble in the example.org domain, you will have to refer to it by the         
       fully-qualified domain name, mumble.example.org, instead of just mumble.      
                                                                                     
       Traditionally, this was allowed by BSD BIND resolvers. However the current    
       version of bind (see named(8)) that ships with FreeBSD no longer provides     
       default abbreviations for non-fully qualified domain names other than the     
       domain you are in. So an unqualified host mumble must either be found as      
       mumble.foo.example.org, or it will be searched for in the root domain.        
                                                                                     
       This is different from the previous behavior, where the search continued      
       across mumble.example.org, and mumble.edu. Have a look at RFC 1535 for why    
       this was considered bad practice, or even a security hole.                    
                                                                                     
       As a good workaround, you can place the line                                  
                                                                                     
       search foo.example.org example.org                                            
                                                                                     
       instead of the previous                                                       
                                                                                     
       domain foo.example.org                                                        
                                                                                     
       into your /etc/resolv.conf file (see resolv.conf(5)). However, make sure that 
       the search order does not go beyond the <<boundary between local and public   
       administration>>, as RFC 1535 calls it.                                       
12.18. Why do I get an error, Permission denied, for all networking operations?      
       If you have compiled your kernel with the IPFIREWALL option, you need to be   
       aware that the default policy is to deny all packets that are not explicitly  
       allowed.                                                                      
                                                                                     
       If you had unintentionally misconfigured your system for firewalling, you can 
       restore network operability by typing the following while logged in as root:  
                                                                                     
       # ipfw add 65534 allow all from any to any                                    
                                                                                     
       You can also set firewall_type="open" in /etc/rc.conf.                        
                                                                                     
       For further information on configuring a FreeBSD firewall, see the Handbook   
       chapter.                                                                      
12.19. How much overhead does IPFW incur?                                            
       Please see the Handbook's Firewalls section, specifically the section on IPFW 
       Overhead & Optimization.                                                      
12.20. Why is my ipfw <<fwd>> rule to redirect a service to another machine not      
       working?                                                                      
       Possibly because you want to do network address translation (NAT) and not     
       just forward packets. A <<fwd>> rule does exactly what it says; it forwards   
       packets. It does not actually change the data inside the packet. Say we have  
       a rule like:                                                                  
                                                                                     
       01000 fwd 10.0.0.1 from any to foo 21                                         
                                                                                     
       When a packet with a destination address of foo arrives at the machine with   
       this rule, the packet is forwarded to 10.0.0.1, but it still has the          
       destination address of foo! The destination address of the packet is not      
       changed to 10.0.0.1. Most machines would probably drop a packet that they     
       receive with a destination address that is not their own. Therefore, using a  
       <<fwd>> rule does not often work the way the user expects. This behavior is a 
       feature and not a bug.                                                        
                                                                                     
       See the FAQ about redirecting services, the natd(8) manual, or one of the     
       several port redirecting utilities in the ports collection for a correct way  
       to do this.                                                                   
12.21. How can I redirect service requests from one machine to another?              
       You can redirect FTP (and other service) request with the socket package,     
       available in the ports tree in category <<sysutils>>. Simply replace the      
       service's command line to call socket instead, like so:                       
                                                                                     
       ftp stream tcp nowait nobody /usr/local/bin/socket socket ftp.example.com ftp 
                                                                                     
       where ftp.example.com and ftp are the host and port to redirect to,           
       respectively.                                                                 
12.22. Where can I get a bandwidth management tool?                                  
       There are three bandwidth management tools available for FreeBSD. dummynet(4) 
       is integrated into FreeBSD as part of ipfw(4). ALTQ is available for free on  
       FreeBSD 4.X and has been integrated into FreeBSD 5.X as part of pf(4).        
       Bandwidth Manager from Emerging Technologies is a commercial product.         
12.23. Why do I get /dev/bpf0: device not configured?                                
       You are running a program that requires the Berkeley Packet Filter (bpf(4)),  
       but it is not in your kernel. Add this to your kernel config file and build a 
       new kernel:                                                                   
                                                                                     
       pseudo-device bpf        # Berkeley Packet Filter                             
                                                                                     
       On FreeBSD 4.X and earlier, you must also create the device node. After       
       rebooting, go to the /dev directory and run:                                  
                                                                                     
       # sh MAKEDEV bpf0                                                             
                                                                                     
       Please see the Handbook entry on device nodes for more information on         
       managing devices.                                                             
12.24. How do I mount a disk from a Windows(R) machine that is on my network, like   
       smbmount in Linux(R)?                                                         
       Use the SMBFS toolset. It includes a set of kernel modifications and a set of 
       userland programs. The programs and information are available as net/smbfs in 
       the ports collection, or in the base system as of 4.5-RELEASE and later.      
12.25. What are these messages about <<icmp-response bandwidth limit 300/200 pps>>   
       in my log files?                                                              
       This is the kernel telling you that some activity is provoking it to send     
       more ICMP or TCP reset (RST) responses than it thinks it should. ICMP         
       responses are often generated as a result of attempted connections to unused  
       UDP ports. TCP resets are generated as a result of attempted connections to   
       unopened TCP ports. Among others, these are the kinds of activities which may 
       cause these messages:                                                         
                                                                                     
         * Brute-force denial of service (DoS) attacks (as opposed to single-packet  
           attacks which exploit a specific vulnerability).                          
                                                                                     
         * Port scans which attempt to connect to a large number of ports (as        
           opposed to only trying a few well-known ports).                           
                                                                                     
       The first number in the message tells you how many packets the kernel would   
       have sent if the limit was not in place, and the second number tells you the  
       limit. You can control the limit using the net.inet.icmp.icmplim sysctl       
       variable like this, where 300 is the limit in packets per second:             
                                                                                     
       # sysctl -w net.inet.icmp.icmplim=300                                         
                                                                                     
       If you do not want to see messages about this in your log files, but you      
       still want the kernel to do response limiting, you can use the                
       net.inet.icmp.icmplim_output sysctl variable to disable the output like this: 
                                                                                     
       # sysctl -w net.inet.icmp.icmplim_output=0                                    
                                                                                     
       Finally, if you want to disable response limiting, you can set the            
       net.inet.icmp.icmplim sysctl variable (see above for an example) to 0.        
       Disabling response limiting is discouraged for the reasons listed above.      
12.26. What are these arp: unknown hardware address format error messages?           
       This means that some device on your local Ethernet is using a MAC address in  
       a format that FreeBSD does not recognize. This is probably caused by someone  
       experimenting with an Ethernet card somewhere else on the network. You will   
       see this most commonly on cable modem networks. It is harmless, and should    
       not affect the performance of your FreeBSD machine.                           
12.27. I have just installed CVSup but trying to execute it produces errors. What is 
       wrong?                                                                        
       First, see if the error message you are receiving is like the one shown       
       below.                                                                        
                                                                                     
       /usr/libexec/ld-elf.so.1: Shared object "libXaw.so.6" not found               
                                                                                     
       Errors like these are caused by installing the net/cvsup port on a machine    
       which does not have the XFree86TM suite. If you want to use the GUI included  
       with CVSup you will need to install XFree86TM now. Alternatively if you just  
       wish to use CVSup from a command line you should delete the package           
       previously installed. Then install the net/cvsup-without-gui port. This is    
       covered in more detail in the CVSup section of the Handbook.                  

                            Kefa%laio 13. Asfa%leia

   13.1. What is a sandbox?

   13.2. What is securelevel?

   13.3. BIND (named) is listening on port 53 and some other high-numbered
   port. What is going on?

   13.4. Sendmail is listening on port 587 as well as the standard port 25!
   What is going on?

   13.5. What is this UID 0 toor account? Have I been compromised?

   13.6. Why is suidperl not working properly?

   13.1. What is a sandbox?                                                   
         <<Sandbox>> is a security term. It can mean two things:              
                                                                              
           * A process which is placed inside a set of virtual walls that are 
             designed to prevent someone who breaks into the process from     
             being able to break into the wider system.                       
                                                                              
             The process is said to be able to <<play>> inside the walls.     
             That is, nothing the process does in regards to executing code   
             is supposed to be able to breech the walls so you do not have to 
             do a detailed audit of its code to be able to say certain things 
             about its security.                                              
                                                                              
             The walls might be a userid, for example. This is the definition 
             used in the security(7) and named(8) man pages.                  
                                                                              
             Take the ntalk service, for example (see /etc/inetd.conf). This  
             service used to run as userid root. Now it runs as userid tty.   
             The tty user is a sandbox designed to make it more difficult for 
             someone who has successfully hacked into the system via ntalk    
             from being able to hack beyond that user id.                     
                                                                              
           * A process which is placed inside a simulation of the machine.    
             This is more hard-core. Basically it means that someone who is   
             able to break into the process may believe that he can break     
             into the wider machine but is, in fact, only breaking into a     
             simulation of that machine and not modifying any real data.      
                                                                              
             The most common way to accomplish this is to build a simulated   
             environment in a subdirectory and then run the processes in that 
             directory chroot'd (i.e. / for that process is this directory,   
             not the real / of the system).                                   
                                                                              
             Another common use is to mount an underlying filesystem          
             read-only and then create a filesystem layer on top of it that   
             gives a process a seemingly writeable view into that filesystem. 
             The process may believe it is able to write to those files, but  
             only the process sees the effects - other processes in the       
             system do not, necessarily.                                      
                                                                              
             An attempt is made to make this sort of sandbox so transparent   
             that the user (or hacker) does not realize that he is sitting in 
             it.                                                              
                                                                              
         UNIX(R) implements two core sandboxes. One is at the process level,  
         and one is at the userid level.                                      
                                                                              
         Every UNIX(R) process is completely firewalled off from every other  
         UNIX(R) process. One process cannot modify the address space of      
         another. This is unlike Windows(R) where a process can easily        
         overwrite the address space of any other, leading to a crash.        
                                                                              
         A UNIX(R) process is owned by a particular userid. If the userid is  
         not the root user, it serves to firewall the process off from        
         processes owned by other users. The userid is also used to firewall  
         off on-disk data.                                                    
   13.2. What is securelevel?                                                 
         The securelevel is a security mechanism implemented in the kernel.   
         Basically, when the securelevel is positive, the kernel restricts    
         certain tasks; not even the superuser (i.e., root) is allowed to do  
         them. At the time of this writing, the securelevel mechanism is      
         capable of, among other things, limiting the ability to,             
                                                                              
           * unset certain file flags, such as schg (the system immutable     
             flag),                                                           
                                                                              
           * write to kernel memory via /dev/mem and /dev/kmem,               
                                                                              
           * load kernel modules, and                                         
                                                                              
           * alter firewall rules.                                            
                                                                              
         To check the status of the securelevel on a running system, simply   
         execute the following command:                                       
                                                                              
         # sysctl kern.securelevel                                            
                                                                              
         The output will contain the name of the sysctl(8) variable (in this  
         case, kern.securelevel) and a number. The latter is the current      
         value of the securelevel. If it is positive (i.e., greater than 0),  
         at least some of the securelevel's protections are enabled.          
                                                                              
         You cannot lower the securelevel of a running system; being able to  
         do that would defeat its purpose. If you need to do a task that      
         requires that the securelevel be non-positive (e.g., an installworld 
         or changing the date), you will have to change the securelevel       
         setting in /etc/rc.conf (you want to look for the kern_securelevel   
         and kern_securelevel_enable variables) and reboot.                   
                                                                              
         For more information on securelevel and the specific things all the  
         levels do, please consult the init(8) manual page.                   
                                                                              
           Proeidopoi%ysy:                                                    
                                                                              
         Securelevel is not a silver bullet; it has many known deficiencies.  
         More often than not, it provides a false sense of security.          
                                                                              
         One of its biggest problems is that in order for it to be at all     
         effective, all files used in the boot process up until the           
         securelevel is set must be protected. If an attacker can get the     
         system to execute their code prior to the securelevel being set      
         (which happens quite late in the boot process since some things the  
         system must do at start-up cannot be done at an elevated             
         securelevel), its protections are invalidated. While this task of    
         protecting all files used in the boot process is not technically     
         impossible, if it is achieved, system maintenance will become a      
         nightmare since one would have to take the system down, at least to  
         single-user mode, to modify a configuration file.                    
                                                                              
         This point and others are often discussed on the mailing lists,      
         particularly the ylektroniky% li%sta tou FreeBSD gia the%mata        
         asfa%leia*s. Please search the archives here for an extensive        
         discussion. Some people are hopeful that securelevel will soon go    
         away in favor of a more fine-grained mechanism, but things are still 
         hazy in this respect.                                                
                                                                              
         Consider yourself warned.                                            
   13.3. BIND (named) is listening on port 53 and some other high-numbered    
         port. What is going on?                                              
         BIND uses a random high-numbered port for outgoing queries. If you   
         want to use port 53 for outgoing queries, either to get past a       
         firewall or to make yourself feel better, you can try the following  
         in /etc/namedb/named.conf:                                           
                                                                              
         options {                                                            
                 query-source address * port 53;                              
         };                                                                   
                                                                              
         You can replace the * with a single IP address if you want to        
         tighten things further.                                              
                                                                              
         Congratulations, by the way. It is good practice to read your        
         sockstat(1) output and notice odd things!                            
   13.4. Sendmail is listening on port 587 as well as the standard port 25!   
         What is going on?                                                    
         Recent versions of Sendmail support a mail submission feature that   
         runs over port 587. This is not yet widely supported, but is growing 
         in popularity.                                                       
   13.5. What is this UID 0 toor account? Have I been compromised?            
         Do not worry. toor is an <<alternative>> superuser account (toor is  
         root spelt backwards). Previously it was created when the bash(1)    
         shell was installed but now it is created by default. It is intended 
         to be used with a non-standard shell so you do not have to change    
         root's default shell. This is important as shells which are not part 
         of the base distribution (for example a shell installed from ports   
         or packages) are likely to be installed in /usr/local/bin which, by  
         default, resides on a different filesystem. If root's shell is       
         located in /usr/local/bin and /usr (or whatever filesystem contains  
         /usr/local/bin) is not mounted for some reason, root will not be     
         able to log in to fix a problem (although if you reboot into single  
         user mode you will be prompted for the path to a shell).             
                                                                              
         Some people use toor for day-to-day root tasks with a non-standard   
         shell, leaving root, with a standard shell, for single user mode or  
         emergencies. By default you cannot log in using toor as it does not  
         have a password, so log in as root and set a password for toor if    
         you want to use it.                                                  
   13.6. Why is suidperl not working properly?                                
         For security reasons, suidperl is installed without the suid bit by  
         default. The system administrator can enable suid behavior with the  
         following command.                                                   
                                                                              
         # chmod u+s /usr/bin/suidperl                                        
                                                                              
         If you want suidperl to be built suid during upgrades from source,   
         edit /etc/make.conf and add ENABLE_SUIDPERL=true before you run make 
         buildworld.                                                          

                               Kefa%laio 14. PPP

   14.1. I cannot make ppp(8) work. What am I doing wrong?

   14.2. Why does ppp(8) hang when I run it?

   14.3. Why will ppp(8) not dial in -auto mode?

   14.4. What does No route to host mean?

   14.5. Why does my connection drop after about 3 minutes?

   14.6. Why does my connection drop under heavy load?

   14.7. Why does my connection drop after a random amount of time?

   14.8. Why does my connection hang after a random amount of time?

   14.9. The remote end is not responding. What can I do?

   14.10. ppp(8) has hung. What can I do?

   14.11. Why does nothing happen after the <<Login OK!>> message?

   14.12. I keep seeing errors about magic being the same. What does it mean?

   14.13. LCP negotiations continue until the connection is closed. What is
   wrong?

   14.14. Why does ppp(8) lock up when I shell out to test it?

   14.15. Why does ppp(8) over a null-modem cable never exit?

   14.16. Why does ppp(8) dial for no reason in -auto mode?

   14.17. What do these CCP errors mean?

   14.18. Why does ppp(8) not log my connection speed?

   14.19. Why does ppp(8) ignore the \ character in my chat script?

   14.20. Why does ppp(8) get a seg-fault, but I see no ppp.core file?

   14.21. Why does the process that forces a dial in auto mode never connect?

   14.22. Why do most games not work with the -nat switch?

   14.23. Has anybody made a list of useful port numbers?

   14.24. What are FCS errors?

   14.25. Why do Mac OS(R) and Windows(R) 98 connections freeze when running
   PPPoE on the gateway?

   14.26. None of this helps - I am desperate! What can I do?

14.1.  I cannot make ppp(8) work. What am I doing wrong?                               
       You should first read the ppp(8) manual page and the PPP section of the         
       handbook. Enable logging with the command                                       
                                                                                       
       set log Phase Chat Connect Carrier lcp ipcp ccp command                         
                                                                                       
       This command may be typed at the ppp(8) command prompt or it may be entered in  
       the /etc/ppp/ppp.conf configuration file (the start of the default section is   
       the best place to put it). Make sure that /etc/syslog.conf (see syslog.conf(5)) 
       contains the lines                                                              
                                                                                       
       !ppp                                                                            
       *.*        /var/log/ppp.log                                                     
                                                                                       
       and that the file /var/log/ppp.log exists. You can now find out a lot about     
       what is going on from the log file. Do not worry if it does not all make sense. 
       If you need to get help from someone, it may make sense to them.                
14.2.  Why does ppp(8) hang when I run it?                                             
       This is usually because your hostname will not resolve. The best way to fix     
       this is to make sure that /etc/hosts is consulted by your resolver first by     
       editing /etc/host.conf and putting the hosts line first. Then, simply put an    
       entry in /etc/hosts for your local machine. If you have no local network,       
       change your localhost line:                                                     
                                                                                       
       127.0.0.1        foo.example.com foo localhost                                  
                                                                                       
       Otherwise, simply add another entry for your host. Consult the relevant manual  
       pages for more details.                                                         
                                                                                       
       You should be able to successfully ping -c1 `hostname` when you are done.       
14.3.  Why will ppp(8) not dial in -auto mode?                                         
       First, check that you have got a default route. By running netstat -rn (see     
       netstat(1)), you should see two entries like this:                              
                                                                                       
       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          
                                                                                       
       This is assuming that you have used the addresses from the handbook, the manual 
       page or from the ppp.conf.sample file. If you do not have a default route, it   
       may be because you are running an old version of ppp(8) that does not           
       understand the word HISADDR in the ppp.conf file.                               
                                                                                       
       Another reason for the default route line being missing is that you have        
       mistakenly set up a default router in your /etc/rc.conf (see rc.conf(5)) file   
       and you have omitted the line saying                                            
                                                                                       
       delete ALL                                                                      
                                                                                       
       from ppp.conf. If this is the case, go back to the Final system configuration   
       section of the handbook.                                                        
14.4.  What does No route to host mean?                                                
       This error is usually due to a missing                                          
                                                                                       
       MYADDR:                                                                         
         delete ALL                                                                    
         add 0 0 HISADDR                                                               
                                                                                       
       section in your /etc/ppp/ppp.linkup file. This is only necessary if you have a  
       dynamic IP address or do not know the address of your gateway. If you are using 
       interactive mode, you can type the following after entering packet mode (packet 
       mode is indicated by the capitalized PPP in the prompt):                        
                                                                                       
       delete ALL                                                                      
       add 0 0 HISADDR                                                                 
                                                                                       
       Refer to the PPP and Dynamic IP addresses section of the handbook for further   
       details.                                                                        
14.5.  Why does my connection drop after about 3 minutes?                              
       The default PPP timeout is 3 minutes. This can be adjusted with the line        
                                                                                       
       set timeout NNN                                                                 
                                                                                       
       where NNN is the number of seconds of inactivity before the connection is       
       closed. If NNN is zero, the connection is never closed due to a timeout. It is  
       possible to put this command in the ppp.conf file, or to type it at the prompt  
       in interactive mode. It is also possible to adjust it on the fly while the line 
       is active by connecting to ppp's server socket using telnet(1) or pppctl(8).    
       Refer to the ppp(8) man page for further details.                               
14.6.  Why does my connection drop under heavy load?                                   
       If you have Link Quality Reporting (LQR) configured, it is possible that too    
       many LQR packets are lost between your machine and the peer. Ppp deduces that   
       the line must therefore be bad, and disconnects. Prior to FreeBSD version       
       2.2.5, LQR was enabled by default. It is now disabled by default. LQR can be    
       disabled with the line                                                          
                                                                                       
       disable lqr                                                                     
14.7.  Why does my connection drop after a random amount of time?                      
       Sometimes, on a noisy phone line or even on a line with call waiting enabled,   
       your modem may hang up because it thinks (incorrectly) that it lost carrier.    
                                                                                       
       There is a setting on most modems for determining how tolerant it should be to  
       temporary losses of carrier. On a USR Sportster(R) for example, this is         
       measured by the S10 register in tenths of a second. To make your modem more     
       forgiving, you could add the following send-expect sequence to your dial        
       string:                                                                         
                                                                                       
       set dial "...... ATS10=10 OK ......"                                            
                                                                                       
       Refer to your modem manual for details.                                         
14.8.  Why does my connection hang after a random amount of time?                      
       Many people experience hung connections with no apparent explanation. The first 
       thing to establish is which side of the link is hung.                           
                                                                                       
       If you are using an external modem, you can simply try using ping(8) to see if  
       the TD light is flashing when you transmit data. If it flashes (and the RD      
       light does not), the problem is with the remote end. If TD does not flash, the  
       problem is local. With an internal modem, you will need to use the set server   
       command in your ppp.conf file. When the hang occurs, connect to ppp(8) using    
       pppctl(8). If your network connection suddenly revives (PPP was revived due to  
       the activity on the diagnostic socket) or if you cannot connect (assuming the   
       set socket command succeeded at startup time), the problem is local. If you can 
       connect and things are still hung, enable local async logging with set log      
       local async and use ping(8) from another window or terminal to make use of the  
       link. The async logging will show you the data being transmitted and received   
       on the link. If data is going out and not coming back, the problem is remote.   
                                                                                       
       Having established whether the problem is local or remote, you now have two     
       possibilities:                                                                  
                                                                                       
         * If the problem is remote, read on entry E: 14.9.                            
                                                                                       
         * If the problem is local, read on entry E: 14.10.                            
14.9.  The remote end is not responding. What can I do?                                
       There is very little you can do about this. Most ISPs will refuse to help if    
       you are not running a Microsoft OS. You can enable lqr in your ppp.conf file,   
       allowing ppp(8) to detect the remote failure and hang up, but this detection is 
       relatively slow and therefore not that useful. You may want to avoid telling    
       your ISP that you are running user-PPP...                                       
                                                                                       
       First, try disabling all local compression by adding the following to your      
       configuration:                                                                  
                                                                                       
       disable pred1 deflate deflate24 protocomp acfcomp shortseq vj                   
       deny pred1 deflate deflate24 protocomp acfcomp shortseq vj                      
                                                                                       
       Then reconnect to ensure that this makes no difference. If things improve or if 
       the problem is solved completely, determine which setting makes the difference  
       through trial and error. This will provide good ammunition when you contact     
       your ISP (although it may make it apparent that you are not running a Microsoft 
       product).                                                                       
                                                                                       
       Before contacting your ISP, enable async logging locally and wait until the     
       connection hangs again. This may use up quite a bit of disk space. The last     
       data read from the port may be of interest. It is usually ascii data, and may   
       even describe the problem (<<Memory fault, core dumped>>?).                     
                                                                                       
       If your ISP is helpful, they should be able to enable logging on their end,     
       then when the next link drop occurs, they may be able to tell you why their     
       side is having a problem. Feel free to send the details to Brian Somers, or     
       even to ask your ISP to contact me directly.                                    
14.10. ppp(8) has hung. What can I do?                                                 
       Your best bet here is to rebuild ppp(8) by adding CFLAGS+=-g and STRIP= to the  
       end of the Makefile, then doing a make clean && make && make install. When      
       ppp(8) hangs, find the ppp(8) process id with ps ajxww | fgrep ppp and run gdb  
       ppp PID. From the gdb prompt, you can then use bt to get a stack trace.         
                                                                                       
       Send the results to Brian Somers.                                               
14.11. Why does nothing happen after the <<Login OK!>> message?                        
       Prior to FreeBSD version 2.2.5, once the link was established, ppp(8) would     
       wait for the peer to initiate the Line Control Protocol (LCP). Many ISPs will   
       not initiate negotiations and expect the client to do so. To force ppp(8) to    
       initiate the LCP, use the following line:                                       
                                                                                       
       set openmode active                                                             
                                                                                       
         Symei%wsy:                                                                    
                                                                                       
       It usually does no harm if both sides initiate negotiation, so openmode is now  
       active by default. However, the next section explains when it does do some      
       harm.                                                                           
14.12. I keep seeing errors about magic being the same. What does it mean?             
       Occasionally, just after connecting, you may see messages in the log that say   
       <<magic is the same>>. Sometimes, these messages are harmless, and sometimes    
       one side or the other exits. Most PPP implementations cannot survive this       
       problem, and even if the link seems to come up, you will see repeated configure 
       requests and configure acknowledgments in the log file until ppp(8) eventually  
       gives up and closes the connection.                                             
                                                                                       
       This normally happens on server machines with slow disks that are spawning a    
       getty on the port, and executing ppp(8) from a login script or program after    
       login. I have also heard reports of it happening consistently when using slirp. 
       The reason is that in the time taken between getty(8) exiting and ppp(8)        
       starting, the client-side ppp(8) starts sending Line Control Protocol (LCP)     
       packets. Because ECHO is still switched on for the port on the server, the      
       client ppp(8) sees these packets <<reflect>> back.                              
                                                                                       
       One part of the LCP negotiation is to establish a magic number for each side of 
       the link so that <<reflections>> can be detected. The protocol says that when   
       the peer tries to negotiate the same magic number, a NAK should be sent and a   
       new magic number should be chosen. During the period that the server port has   
       ECHO turned on, the client ppp(8) sends LCP packets, sees the same magic in the 
       reflected packet and NAKs it. It also sees the NAK reflect (which also means    
       ppp(8) must change its magic). This produces a potentially enormous number of   
       magic number changes, all of which are happily piling into the server's tty     
       buffer. As soon as ppp(8) starts on the server, it is flooded with magic number 
       changes and almost immediately decides it has tried enough to negotiate LCP and 
       gives up. Meanwhile, the client, who no longer sees the reflections, becomes    
       happy just in time to see a hangup from the server.                             
                                                                                       
       This can be avoided by allowing the peer to start negotiating with the          
       following line in your ppp.conf file:                                           
                                                                                       
       set openmode passive                                                            
                                                                                       
       This tells ppp(8) to wait for the server to initiate LCP negotiations. Some     
       servers however may never initiate negotiations. If this is the case, you can   
       do something like:                                                              
                                                                                       
       set openmode active 3                                                           
                                                                                       
       This tells ppp(8) to be passive for 3 seconds, and then to start sending LCP    
       requests. If the peer starts sending requests during this period, ppp(8) will   
       immediately respond rather than waiting for the full 3 second period.           
14.13. LCP negotiations continue until the connection is closed. What is wrong?        
       There is currently an implementation mis-feature in ppp(8) where it does not    
       associate LCP, CCP & IPCP responses with their original requests. As a result,  
       if one PPP implementation is more than 6 seconds slower than the other side,    
       the other side will send two additional LCP configuration requests. This is     
       fatal.                                                                          
                                                                                       
       Consider two implementations, A and B. A starts sending LCP requests            
       immediately after connecting and B takes 7 seconds to start. When B starts, A   
       has sent 3 LCP REQs. We are assuming the line has ECHO switched off, otherwise  
       we would see magic number problems as described in the previous section. B      
       sends a REQ, then an ACK to the first of A's REQs. This results in A entering   
       the OPENED state and sending and ACK (the first) back to B. In the meantime, B  
       sends back two more ACKs in response to the two additional REQs sent by A       
       before B started up. B then receives the first ACK from A and enters the OPENED 
       state. A receives the second ACK from B and goes back to the REQ-SENT state,    
       sending another (forth) REQ as per the RFC. It then receives the third ACK and  
       enters the OPENED state. In the meantime, B receives the forth REQ from A,      
       resulting in it reverting to the ACK-SENT state and sending another (second)    
       REQ and (forth) ACK as per the RFC. A gets the REQ, goes into REQ-SENT and      
       sends another REQ. It immediately receives the following ACK and enters OPENED. 
                                                                                       
       This goes on until one side figures out that they are getting nowhere and gives 
       up.                                                                             
                                                                                       
       The best way to avoid this is to configure one side to be passive - that is,    
       make one side wait for the other to start negotiating. This can be done with    
       the                                                                             
                                                                                       
       set openmode passive                                                            
                                                                                       
       command. Care should be taken with this option. You should also use the         
                                                                                       
       set stopped N                                                                   
                                                                                       
       command to limit the amount of time that ppp(8) waits for the peer to begin     
       negotiations. Alternatively, the                                                
                                                                                       
       set openmode active N                                                           
                                                                                       
       command (where N is the number of seconds to wait before starting negotiations) 
       can be used. Check the manual page for details.                                 
14.14. Why does ppp(8) lock up when I shell out to test it?                            
       When you execute the shell or ! command, ppp(8) executes a shell (or if you     
       have passed any arguments, ppp(8) will execute those arguments). Ppp will wait  
       for the command to complete before continuing. If you attempt to use the PPP    
       link while running the command, the link will appear to have frozen. This is    
       because ppp(8) is waiting for the command to complete.                          
                                                                                       
       If you wish to execute commands like this, use the !bg command instead. This    
       will execute the given command in the background, and ppp(8) can continue to    
       service the link.                                                               
14.15. Why does ppp(8) over a null-modem cable never exit?                             
       There is no way for ppp(8) to automatically determine that a direct connection  
       has been dropped. This is due to the lines that are used in a null-modem serial 
       cable. When using this sort of connection, LQR should always be enabled with    
       the line                                                                        
                                                                                       
       enable lqr                                                                      
                                                                                       
       LQR is accepted by default if negotiated by the peer.                           
14.16. Why does ppp(8) dial for no reason in -auto mode?                               
       If ppp(8) is dialing unexpectedly, you must determine the cause, and set up     
       Dial filters (dfilters) to prevent such dialing.                                
                                                                                       
       To determine the cause, use the following line:                                 
                                                                                       
       set log +tcp/ip                                                                 
                                                                                       
       This will log all traffic through the connection. The next time the line comes  
       up unexpectedly, you will see the reason logged with a convenient timestamp     
       next to it.                                                                     
                                                                                       
       You can now disable dialing under these circumstances. Usually, this sort of    
       problem arises due to DNS lookups. To prevent DNS lookups from establishing a   
       connection (this will not prevent ppp(8) from passing the packets through an    
       established connection), use the following:                                     
                                                                                       
       set dfilter 1 deny udp src eq 53                                                
       set dfilter 2 deny udp dst eq 53                                                
       set dfilter 3 permit 0/0 0/0                                                    
                                                                                       
       This is not always suitable, as it will effectively break your demand-dial      
       capabilities - most programs will need a DNS lookup before doing any other      
       network related things.                                                         
                                                                                       
       In the DNS case, you should try to determine what is actually trying to resolve 
       a host name. A lot of the time, sendmail(8) is the culprit. You should make     
       sure that you tell sendmail not to do any DNS lookups in its configuration      
       file. See the section on using email with a dialup connection in the FreeBSD    
       Handbook for details on how to create your own configuration file and what      
       should go into it. You may also want to add the following line to your .mc      
       file:                                                                           
                                                                                       
       define(`confDELIVERY_MODE', `d')dnl                                             
                                                                                       
       This will make sendmail queue everything until the queue is run (usually,       
       sendmail is invoked with -bd -q30m, telling it to run the queue every 30        
       minutes) or until a sendmail -q is done (perhaps from your ppp.linkup file).    
14.17. What do these CCP errors mean?                                                  
       I keep seeing the following errors in my log file:                              
                                                                                       
       CCP: CcpSendConfigReq                                                           
       CCP: Received Terminate Ack (1) state = Req-Sent (6)                            
                                                                                       
       This is because ppp(8) is trying to negotiate Predictor1 compression, and the   
       peer does not want to negotiate any compression at all. The messages are        
       harmless, but if you wish to remove them, you can disable Predictor1            
       compression locally too:                                                        
                                                                                       
       disable pred1                                                                   
14.18. Why does ppp(8) not log my connection speed?                                    
       In order to log all lines of your modem <<conversation>>, you must enable the   
       following:                                                                      
                                                                                       
       set log +connect                                                                
                                                                                       
       This will make ppp(8) log everything up until the last requested <<expect>>     
       string.                                                                         
                                                                                       
       If you wish to see your connect speed and are using PAP or CHAP (and therefore  
       do not have anything to <<chat>> after the CONNECT in the dial script - no set  
       login script), you must make sure that you instruct ppp(8) to <<expect>> the    
       whole CONNECT line, something like this:                                        
                                                                                       
       set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 4 \                             
         \"\" ATZ OK-ATZ-OK ATDT\\T TIMEOUT 60 CONNECT \\c \\n"                        
                                                                                       
       Here, we get our CONNECT, send nothing, then expect a line-feed, forcing ppp(8) 
       to read the whole CONNECT response.                                             
14.19. Why does ppp(8) ignore the \ character in my chat script?                       
       Ppp parses each line in your config files so that it can interpret strings such 
       as set phone "123 456 789" correctly and realize that the number is actually    
       only one argument. In order to specify a " character, you must escape it using  
       a backslash (\).                                                                
                                                                                       
       When the chat interpreter parses each argument, it re-interprets the argument   
       in order to find any special escape sequences such as \P or \T (see the manual  
       page). As a result of this double-parsing, you must remember to use the correct 
       number of escapes.                                                              
                                                                                       
       If you wish to actually send a \ character to (say) your modem, you would need  
       something like:                                                                 
                                                                                       
       set dial "\"\" ATZ OK-ATZ-OK AT\\\\X OK"                                        
                                                                                       
       resulting in the following sequence:                                            
                                                                                       
       ATZ                                                                             
       OK                                                                              
       AT\X                                                                            
       OK                                                                              
                                                                                       
       or                                                                              
                                                                                       
       set phone 1234567                                                               
       set dial "\"\" ATZ OK ATDT\\T"                                                  
                                                                                       
       resulting in the following sequence:                                            
                                                                                       
       ATZ                                                                             
       OK                                                                              
       ATDT1234567                                                                     
14.20. Why does ppp(8) get a seg-fault, but I see no ppp.core file?                    
       Ppp (or any other program for that matter) should never dump core. Because      
       ppp(8) runs with an effective user id of 0, the operating system will not write 
       ppp(8)'s core image to disk before terminating it. If, however ppp(8) is        
       actually terminating due to a segmentation violation or some other signal that  
       normally causes core to be dumped, and you are sure you are using the latest    
       version (see the start of this section), then you should do the following:      
                                                                                       
       % 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                                                       
                                                                                       
       You will now have a debuggable version of ppp(8) installed. You will have to be 
       root to run ppp(8) as all of its privileges have been revoked. When you start   
       ppp(8), take a careful note of what your current directory was at the time.     
                                                                                       
       Now, if and when ppp(8) receives the segmentation violation, it will dump a     
       core file called ppp.core. You should then do the following:                    
                                                                                       
       % su                                                                            
       # gdb /usr/sbin/ppp ppp.core                                                    
       (gdb) bt                                                                        
       .....                                                                           
       (gdb) f 0                                                                       
       ....                                                                            
       (gdb) i args                                                                    
       ....                                                                            
       (gdb) l                                                                         
       .....                                                                           
                                                                                       
       All of this information should be given alongside your question, making it      
       possible to diagnose the problem.                                               
                                                                                       
       If you are familiar with gdb, you may wish to find out some other bits and      
       pieces such as what actually caused the dump and the addresses & values of the  
       relevant variables.                                                             
14.21. Why does the process that forces a dial in auto mode never connect?             
       This was a known problem with ppp(8) set up to negotiate a dynamic local IP     
       number with the peer in auto mode. It is fixed in the latest version - search   
       the manual page for iface.                                                      
                                                                                       
       The problem was that when that initial program calls connect(2), the IP number  
       of the tun interface is assigned to the socket endpoint. The kernel creates the 
       first outgoing packet and writes it to the tun device. ppp(8) then reads the    
       packet and establishes a connection. If, as a result of ppp(8)'s dynamic IP     
       assignment, the interface address is changed, the original socket endpoint will 
       be invalid. Any subsequent packets sent to the peer will usually be dropped.    
       Even if they are not, any responses will not route back to the originating      
       machine as the IP number is no longer owned by that machine.                    
                                                                                       
       There are several theoretical ways to approach this problem. It would be nicest 
       if the peer would re-assign the same IP number if possible :-) The current      
       version of ppp(8) does this, but most other implementations do not.             
                                                                                       
       The easiest method from our side would be to never change the tun interface IP  
       number, but instead to change all outgoing packets so that the source IP number 
       is changed from the interface IP to the negotiated IP on the fly. This is       
       essentially what the iface-alias option in the latest version of ppp(8) is      
       doing (with the help of libalias(3) and ppp(8)'s -nat switch) - it is           
       maintaining all previous interface addresses and NATing them to the last        
       negotiated address.                                                             
                                                                                       
       Another alternative (and probably the most reliable) would be to implement a    
       system call that changes all bound sockets from one IP to another. ppp(8) would 
       use this call to modify the sockets of all existing programs when a new IP      
       number is negotiated. The same system call could be used by dhcp clients when   
       they are forced to re-bind() their sockets.                                     
                                                                                       
       Yet another possibility is to allow an interface to be brought up without an IP 
       number. Outgoing packets would be given an IP number of 255.255.255.255 up      
       until the first SIOCAIFADDR ioctl is done. This would result in fully binding   
       the socket. It would be up to ppp(8) to change the source IP number, but only   
       if it is set to 255.255.255.255, and only the IP number and IP checksum would   
       need to change. This, however is a bit of a hack as the kernel would be sending 
       bad packets to an improperly configured interface, on the assumption that some  
       other mechanism is capable of fixing things retrospectively.                    
14.22. Why do most games not work with the -nat switch?                                
       The reason games and the like do not work when libalias is in use is that the   
       machine on the outside will try to open a connection or send (unsolicited) UDP  
       packets to the machine on the inside. The NAT software does not know that it    
       should send these packets to the interior machine.                              
                                                                                       
       To make things work, make sure that the only thing running is the software that 
       you are having problems with, then either run tcpdump on the tun interface of   
       the gateway or enable ppp(8) tcp/ip logging (set log +tcp/ip) on the gateway.   
                                                                                       
       When you start the offending software, you should see packets passing through   
       the gateway machine. When something comes back from the outside, it will be     
       dropped (that is the problem). Note the port number of these packets then shut  
       down the offending software. Do this a few times to see if the port numbers are 
       consistent. If they are, then the following line in the relevant section of     
       /etc/ppp/ppp.conf will make the software functional:                            
                                                                                       
       nat port proto internalmachine:port port                                        
                                                                                       
       where proto is either tcp or udp, internalmachine is the machine that you want  
       the packets to be sent to and port is the destination port number of the        
       packets.                                                                        
                                                                                       
       You will not be able to use the software on other machines without changing the 
       above command, and running the software on two internal machines at the same    
       time is out of the question - after all, the outside world is seeing your       
       entire internal network as being just a single machine.                         
                                                                                       
       If the port numbers are not consistent, there are three more options:           
                                                                                       
        1. Submit support in libalias. Examples of <<special cases>> can be found in   
           /usr/src/lib/libalias/alias_*.c (alias_ftp.c is a good prototype). This     
           usually involves reading certain recognised outgoing packets, identifying   
           the instruction that tells the outside machine to initiate a connection     
           back to the internal machine on a specific (random) port and setting up a   
           <<route>> in the alias table so that the subsequent packets know where to   
           go.                                                                         
                                                                                       
           This is the most difficult solution, but it is the best and will make the   
           software work with multiple machines.                                       
                                                                                       
        2. Use a proxy. The application may support socks5 for example, or (as in the  
           <<cvsup>> case) may have a <<passive>> option that avoids ever requesting   
           that the peer open connections back to the local machine.                   
                                                                                       
        3. Redirect everything to the internal machine using nat addr. This is the     
           sledge-hammer approach.                                                     
14.23. Has anybody made a list of useful port numbers?                                 
       Not yet, but this is intended to grow into such a list (if any interest is      
       shown). In each example, internal should be replaced with the IP number of the  
       machine playing the game.                                                       
                                                                                       
         * Asheron's Call                                                              
                                                                                       
           nat port udp internal :65000 65000                                          
                                                                                       
           Manually change the port number within the game to 65000. If you have got a 
           number of machines that you wish to play on assign a unique port number for 
           each (i.e. 65001, 65002, etc) and add a nat port line for each one.         
                                                                                       
         * Half Life                                                                   
                                                                                       
           nat port udp internal:27005 27015                                           
                                                                                       
         * PCAnywhere 8.0                                                              
                                                                                       
           nat port udp internal:5632 5632                                             
                                                                                       
           nat port tcp internal:5631 5631                                             
                                                                                       
         * Quake                                                                       
                                                                                       
           nat port udp internal:6112 6112                                             
                                                                                       
         * Quake 2                                                                     
                                                                                       
           nat port udp internal:27901 27910                                           
                                                                                       
           nat port udp internal:60021 60021                                           
                                                                                       
           nat port udp internal:60040 60040                                           
                                                                                       
         * Red Alert                                                                   
                                                                                       
           nat port udp internal:8675 8675                                             
                                                                                       
           nat port udp internal:5009 5009                                             
14.24. What are FCS errors?                                                            
       FCS stands for Frame Check Sequence. Each PPP packet has a checksum attached to 
       ensure that the data being received is the data being sent. If the FCS of an    
       incoming packet is incorrect, the packet is dropped and the HDLC FCS count is   
       increased. The HDLC error values can be displayed using the show hdlc command.  
                                                                                       
       If your link is bad (or if your serial driver is dropping packets), you will    
       see the occasional FCS error. This is not usually worth worrying about although 
       it does slow down the compression protocols substantially. If you have an       
       external modem, make sure your cable is properly shielded from interference -   
       this may eradicate the problem.                                                 
                                                                                       
       If your link freezes as soon as you have connected and you see a large number   
       of FCS errors, this may be because your link is not 8 bit clean. Make sure your 
       modem is not using software flow control (XON/XOFF). If your datalink must use  
       software flow control, use the command set accmap 0x000a0000 to tell ppp(8) to  
       escape the ^Q and ^S characters.                                                
                                                                                       
       Another reason for seeing too many FCS errors may be that the remote end has    
       stopped talking PPP. You may want to enable async logging at this point to      
       determine if the incoming data is actually a login or shell prompt. If you have 
       a shell prompt at the remote end, it is possible to terminate ppp(8) without    
       dropping the line by using the close lcp command (a following term command will 
       reconnect you to the shell on the remote machine.                               
                                                                                       
       If nothing in your log file indicates why the link might have been terminated,  
       you should ask the remote administrator (your ISP?) why the session was         
       terminated.                                                                     
14.25. Why do Mac OS(R) and Windows(R) 98 connections freeze when running PPPoE on the 
       gateway?                                                                        
       Thanks to Michael Wozniak <mwozniak@netcom.ca> for figuring this out and Dan    
       Flemming <danflemming@mac.com> for the Mac solution:                            
                                                                                       
       This is due to what is called a <<Black Hole>> router. Mac OS(R) and Windows(R) 
       98 (and maybe other Microsoft OSs) send TCP packets with a requested segment    
       size too big to fit into a PPPoE frame (MTU is 1500 by default for Ethernet)    
       and have the <<do not fragment>> bit set (default of TCP) and the Telco router  
       is not sending ICMP <<must fragment>> back to the www site you are trying to    
       load. (Alternatively, the router is sending the ICMP packet correctly, but the  
       firewall at the www site is dropping it.) When the www server is sending you    
       frames that do not fit into the PPPoE pipe the Telco router drops them on the   
       floor and your page does not load (some pages/graphics do as they are smaller   
       than a MSS.) This seems to be the default of most Telco PPPoE configurations    
       (if only they knew how to program a router... sigh...)                          
                                                                                       
       One fix is to use regedit on your 95/98 boxes to add the following registry     
       entry...                                                                        
                                                                                       
       HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans\0000\MaxMTU 
                                                                                       
       It should be a string with a value <<1436>>, as some ADSL routers are reported  
       to be unable to deal with packets larger than this. This registry key has been  
       changed to Tcpip\Parameters\Interfaces\ID for adapter\MTU in Windows(R) 2000    
       and becomes a DWORD.                                                            
                                                                                       
       Refer to the Microsoft Knowledge Base documents Q158474 - Windows TCPIP         
       Registry Entries and Q120642 - TCPIP & NBT Configuration Parameters for         
       Windows NT(R) for more information on changing Windows(R) MTU to work with a    
       NAT router.                                                                     
                                                                                       
       Another regedit possibility under Windows(R) 2000 is to set the                 
       Tcpip\Parameters\Interfaces\ID for adapter\EnablePMTUBHDetect DWORD to 1 as     
       mentioned in the Microsoft document 120642 mentioned above.                     
                                                                                       
       Unfortunately, Mac OS(R) does not provide an interface for changing TCP/IP      
       settings. However, there is commercial software available, such as              
       OTAdvancedTuner (OT for OpenTransport, the Mac OS(R) TCP/IP stack) by           
       Sustainable Softworks, that will allow users to customize TCP/IP settings.      
       Mac OS(R) NAT users should select ip_interface_MTU from the drop-down menu,     
       enter 1450 instead of 1500 in the box, click the box next to Save as Auto       
       Configure, and click Make Active.                                               
                                                                                       
       The latest version of ppp(8) (2.3 or greater) has an enable tcpmssfixup command 
       that will automatically adjust the MSS to an appropriate value. This facility   
       is enabled by default. If you are stuck with an older version of ppp(8), you    
       may want to look at the tcpmssd port.                                           
14.26. None of this helps - I am desperate! What can I do?                             
       If all else fails, send as much information as you can, including your config   
       files, how you are starting ppp(8), the relevant parts of your log file and the 
       output of the netstat -rn command (before and after connecting) to the          
       ylektroniky% li%sta genikw%n erwty%sewn tou FreeBSD or the                      
       comp.unix.bsd.freebsd.misc news group, and someone should point you in the      
       right direction.                                                                

                    Kefa%laio 15. Seiriake%*s Epikoinwni%e*s

   This section answers common questions about serial communications with
   FreeBSD. PPP and SLIP are covered in the Networking section.

   15.1. How do I tell if FreeBSD found my serial ports?

   15.2. How do I tell if FreeBSD found my modem cards?

   15.3. How do I access the serial ports on FreeBSD?

   15.4. How do I enable support for a multiport serial card?

   15.5. Can FreeBSD handle multiport serial cards sharing irqs?

   15.6. Can I set the default serial parameters for a port?

   15.7. How can I enable dialup logins on my modem?

   15.8. How can I connect a dumb terminal to my FreeBSD box?

   15.9. Why can I not run tip or cu?

   15.10. My stock Hayes modem is not supported---what can I do?

   15.11. How am I expected to enter these AT commands?

   15.12. Why does the <@> sign for the pn capability not work?

   15.13. How can I dial a phone number on the command line?

   15.14. Do I have to type in the bps rate every time I do that?

   15.15. How can I more easily access a number of hosts through a terminal
   server?

   15.16. Can tip try more than one line for each site?

   15.17. Why do I have to hit CTRL+P twice to send CTRL+P once?

   15.18. Why is everything I type suddenly in UPPER CASE?

   15.19. How can I do file transfers with tip?

   15.20. How can I run zmodem with tip?

   15.1.  How do I tell if FreeBSD found my serial ports?                     
          As the FreeBSD kernel boots, it will probe for the serial ports in  
          your system for which the kernel was configured. You can either     
          watch your system closely for the messages it prints or run the     
          command                                                             
                                                                              
          % dmesg | grep sio                                                  
                                                                              
          after your system is up and running.                                
                                                                              
          Here is some example output from the above command:                 
                                                                              
          sio0 at 0x3f8-0x3ff irq 4 on isa                                    
          sio0: type 16550A                                                   
          sio1 at 0x2f8-0x2ff irq 3 on isa                                    
          sio1: type 16550A                                                   
                                                                              
          This shows two serial ports. The first is on irq 4, is using port   
          address 0x3f8, and has a 16550A-type UART chip. The second uses the 
          same kind of chip but is on irq 3 and is at port address 0x2f8.     
          Internal modem cards are treated just like serial ports---except    
          that they always have a modem <<attached>> to the port.             
                                                                              
          The GENERIC kernel includes support for two serial ports using the  
          same irq and port address settings in the above example. If these   
          settings are not right for your system, or if you have added modem  
          cards or have more serial ports than your kernel is configured for, 
          just reconfigure your kernel. See section about building a kernel   
          for more details.                                                   
   15.2.  How do I tell if FreeBSD found my modem cards?                      
          Refer to the answer to the previous question.                       
   15.3.  How do I access the serial ports on FreeBSD?                        
          The third serial port, sio2 (see sio(4), known as COM3 in DOS), is  
          on /dev/cuaa2 for dial-out devices, and on /dev/ttyd2 for dial-in   
          devices. What is the difference between these two classes of        
          devices?                                                            
                                                                              
          You use ttydX for dial-ins. When opening /dev/ttydX in blocking     
          mode, a process will wait for the corresponding cuaaX device to     
          become inactive, and then wait for the carrier detect line to go    
          active. When you open the cuaaX device, it makes sure the serial    
          port is not already in use by the ttydX device. If the port is      
          available, it <<steals>> it from the ttydX device. Also, the cuaaX  
          device does not care about carrier detect. With this scheme and an  
          auto-answer modem, you can have remote users log in and you can     
          still dial out with the same modem and the system will take care of 
          all the conflicts.                                                  
   15.4.  How do I enable support for a multiport serial card?                
          Again, the section on kernel configuration provides information     
          about configuring your kernel. For a multiport serial card, place   
          an sio(4) line for each serial port on the card in the kernel       
          configuration file. But place the irq and vector specifiers on only 
          one of the entries. All of the ports on the card should share one   
          irq. For consistency, use the last serial port to specify the irq.  
          Also, specify the COM_MULTIPORT option.                             
                                                                              
          The following example is for an AST 4-port serial card on irq 7:    
                                                                              
          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 
                                                                              
          The flags indicate that the master port has minor number 7 (0x700), 
          diagnostics enabled during probe (0x080), and all the ports share   
          an irq (0x001).                                                     
   15.5.  Can FreeBSD handle multiport serial cards sharing irqs?             
          Not yet. You will have to use a different irq for each card.        
   15.6.  Can I set the default serial parameters for a port?                 
          The ttydX (or cuaaX) device is the regular device you will want to  
          open for your applications. When a process opens the device, it     
          will have a default set of terminal I/O settings. You can see these 
          settings with the command                                           
                                                                              
          # stty -a -f /dev/ttyd1                                             
                                                                              
          When you change the settings to this device, the settings are in    
          effect until the device is closed. When it is reopened, it goes     
          back to the default set. To make changes to the default set, you    
          can open and adjust the settings of the <<initial state>> device.   
          For example, to turn on CLOCAL mode, 8 bits, and XON/XOFF flow      
          control by default for ttyd5, do:                                   
                                                                              
          # stty -f /dev/ttyid5 clocal cs8 ixon ixoff                         
                                                                              
          A good place to do this is in /etc/rc.serial. Now, an application   
          will have these settings by default when it opens ttyd5. It can     
          still change these settings to its liking, though.                  
                                                                              
          You can also prevent certain settings from being changed by an      
          application by making adjustments to the <<lock state>> device. For 
          example, to lock the speed of ttyd5 to 57600 bps, do                
                                                                              
          # stty -f /dev/ttyld5 57600                                         
                                                                              
          Now, an application that opens ttyd5 and tries to change the speed  
          of the port will be stuck with 57600 bps.                           
                                                                              
          Naturally, you should make the initial state and lock state devices 
          writable only by root. The MAKEDEV(8) script does NOT do this when  
          it creates the device entries.                                      
   15.7.  How can I enable dialup logins on my modem?                         
          So you want to become an Internet service provider, eh? First, you  
          will need one or more modems that can auto-answer. Your modem will  
          need to assert carrier-detect when it detects a carrier and not     
          assert it all the time. It will need to hang up the phone and reset 
          itself when the data terminal ready (DTR) line goes from on to off. 
          It should probably use RTS/CTS flow control or no local flow        
          control at all. Finally, it must use a constant speed between the   
          computer and itself, but (to be nice to your callers) it should     
          negotiate a speed between itself and the remote modem.              
                                                                              
          For many Hayes command-set--compatible modems, this command will    
          make these settings and store them in nonvolatile memory:           
                                                                              
          AT &C1 &D3 &K3 &Q6 S0=1 &W                                          
                                                                              
          See the section on sending AT commands below for information on how 
          to make these settings without resorting to an MS-DOS(R) terminal   
          program.                                                            
                                                                              
          Next, make an entry in /etc/ttys (see ttys(5)) for the modem. This  
          file lists all the ports on which the operating system will await   
          logins. Add a line that looks something like this:                  
                                                                              
          ttyd1 "/usr/libexec/getty std.57600" dialup on insecure             
                                                                              
          This line indicates that the second serial port (/dev/ttyd1) has a  
          modem connected running at 57600 bps and no parity (std.57600,      
          which comes from the file /etc/gettytab, see gettytab(5)). The      
          terminal type for this port is dialup. The port is on and is        
          insecure---meaning root logins on the port are not allowed. For     
          dialin ports like this one, use the ttydX entry.                    
                                                                              
          It is common practice to use dialup as the terminal type. Many      
          users set up in their .profile or .login files a prompt for the     
          actual terminal type if the starting type is dialup. The example    
          shows the port as insecure. To become root on this port, you have   
          to login as a regular user, then su(1) to become root. If you use   
          secure then root can login in directly.                             
                                                                              
          After making modifications to /etc/ttys, you need to send a hangup  
          or HUP signal to the init(8) process:                               
                                                                              
          # kill -HUP 1                                                       
                                                                              
          This forces the init(8) process to reread /etc/ttys. The init       
          process will then start getty processes on all on ports. You can    
          find out if logins are available for your port by typing            
                                                                              
          % ps -ax | grep '[t]tyd1'                                           
                                                                              
          You should see something like:                                      
                                                                              
          747 ??  I      0:00.04 /usr/libexec/getty std.57600 ttyd1           
   15.8.  How can I connect a dumb terminal to my FreeBSD box?                
          If you are using another computer as a terminal into your FreeBSD   
          system, get a null-modem cable to go between the two serial ports.  
          If you are using an actual terminal, see its accompanying           
          instructions.                                                       
                                                                              
          Then, modify /etc/ttys (see ttys(5)), like above. For example, if   
          you are hooking up a WYSE-50 terminal to the fifth serial port, use 
          an entry like this:                                                 
                                                                              
          ttyd4 "/usr/libexec/getty std.38400" wyse50 on secure               
                                                                              
          This example shows that the port on /dev/ttyd4 has a wyse50         
          terminal connected at 38400 bps with no parity (std.38400 from      
          /etc/gettytab, see gettytab(5)) and root logins are allowed         
          (secure).                                                           
   15.9.  Why can I not run tip or cu?                                        
          On your system, the programs tip(1) and cu(1) are probably          
          executable only by uucp and group dialer. You can use the group     
          dialer to control who has access to your modem or remote systems.   
          Just add yourself to group dialer.                                  
                                                                              
          Alternatively, you can let everyone on your system run tip(1) and   
          cu(1) by typing:                                                    
                                                                              
          # chmod 4511 /usr/bin/cu                                            
          # chmod 4511 /usr/bin/tip                                           
   15.10. My stock Hayes modem is not supported---what can I do?              
          Actually, the manual page for tip(1) is out of date. There is a     
          generic Hayes dialer already built in. Just use at=hayes in your    
          /etc/remote (see remote(5)) file.                                   
                                                                              
          The Hayes driver is not smart enough to recognize some of the       
          advanced features of newer modems---messages like BUSY, NO          
          DIALTONE, or CONNECT 115200 will just confuse it. You should turn   
          those messages off when you use tip(1) (using ATX0&W).              
                                                                              
          Also, the dial timeout for tip(1) is 60 seconds. Your modem should  
          use something less, or else tip will think there is a communication 
          problem. Try ATS7=45&W.                                             
                                                                              
          Actually, as shipped tip(1) does not yet support it fully. The      
          solution is to edit the file tipconf.h in the directory             
          /usr/src/usr.bin/tip/tip. Obviously you need the source             
          distribution to do this.                                            
                                                                              
          Edit the line #define HAYES 0 to #define HAYES 1. Then make and     
          make install. Everything works nicely after that.                   
   15.11. How am I expected to enter these AT commands?                       
          Make what is called a <<direct>> entry in your /etc/remote file     
          (see remote(5)). For example, if your modem is hooked up to the     
          first serial port, /dev/cuaa0, then put in the following line:      
                                                                              
          cuaa0:dv=/dev/cuaa0:br#19200:pa=none                                
                                                                              
          Use the highest bps rate your modem supports in the br capability.  
          Then, type tip cuaa0 (see tip(1)) and you will be connected to your 
          modem.                                                              
                                                                              
          If there is no /dev/cuaa0 on your system, do this:                  
                                                                              
          # cd /dev                                                           
          # sh MAKEDEV cuaa0                                                  
                                                                              
          Or use cu as root with the following command:                       
                                                                              
          # cu -lline -sspeed                                                 
                                                                              
          with line being the serial port (e.g. /dev/cuaa0) and speed being   
          the speed (e.g.57600). When you are done entering the AT commands   
          hit ~. to exit.                                                     
   15.12. Why does the <@> sign for the pn capability not work?               
          The <@> sign in the phone number capability tells tip to look in    
          /etc/phones for a phone number. But the <@> sign is also a special  
          character in capability files like /etc/remote. Escape it with a    
          backslash:                                                          
                                                                              
          pn=\@                                                               
   15.13. How can I dial a phone number on the command line?                  
          Put what is called a <<generic>> entry in your /etc/remote file     
          (see remote(5)). For example:                                       
                                                                              
          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:                
                                                                              
          Then you can do something like tip -115200 5551234. If you prefer   
          cu(1) over tip(1), use a generic cu entry:                          
                                                                              
          cu115200|Use cu to dial any number at 115200bps:\                   
                  :dv=/dev/cuaa1:br#57600:at=hayes:pa=none:du:                
                                                                              
          and type cu 5551234 -s 115200.                                      
   15.14. Do I have to type in the bps rate every time I do that?             
          Put in an entry for tip1200 or cu1200, but go ahead and use         
          whatever bps rate is appropriate with the br capability. tip(1)     
          thinks a good default is 1200 bps which is why it looks for a       
          tip1200 entry. You do not have to use 1200 bps, though.             
   15.15. How can I more easily access a number of hosts through a terminal   
          server?                                                             
          Rather than waiting until you are connected and typing CONNECT host 
          each time, use tip's cm capability. For example, these entries in   
          /etc/remote (see remote(5)):                                        
                                                                              
          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/cuaa2:br#38400:at=hayes:du:pa=none:pn=5551234:     
                                                                              
          will let you type tip pain or tip muffin to connect to the hosts    
          pain or muffin; and tip deep13 to get to the terminal server.       
   15.16. Can tip try more than one line for each site?                       
          This is often a problem where a university has several modem lines  
          and several thousand students trying to use them...                 
                                                                              
          Make an entry for your university in /etc/remote (see remote(5))    
          and use <\@> for the pn capability:                                 
                                                                              
          big-university:\                                                    
                  :pn=\@:tc=dialout                                           
          dialout:\                                                           
                  :dv=/dev/cuaa3:br#9600:at=courier:du:pa=none:               
                                                                              
          Then, list the phone numbers for the university in /etc/phones (see 
          phones(5)):                                                         
                                                                              
          big-university 5551111                                              
          big-university 5551112                                              
          big-university 5551113                                              
          big-university 5551114                                              
                                                                              
          tip(1) will try each one in the listed order, then give up. If you  
          want to keep retrying, run tip(1) in a while loop.                  
   15.17. Why do I have to hit CTRL+P twice to send CTRL+P once?              
          CTRL+P is the default <<force>> character, used to tell tip(1) that 
          the next character is literal data. You can set the force character 
          to any other character with the ~s escape, which means <<set a      
          variable>>.                                                         
                                                                              
          Type ~sforce=single-char followed by a newline. single-char is any  
          single character. If you leave out single-char, then the force      
          character is the nul character, which you can get by typing CTRL+2  
          or CTRL+SPACE. A pretty good value for single-char is SHIFT+CTRL+6, 
          which I have seen only used on some terminal servers.               
                                                                              
          You can have the force character be whatever you want by specifying 
          the following in your $HOME/.tiprc file:                            
                                                                              
          force=single-char                                                   
   15.18. Why is everything I type suddenly in UPPER CASE?                    
          You must have pressed CTRL+A, tip(1) <<raise character>>, specially 
          designed for people with broken Caps Lock keys. Use ~s as above and 
          set the variable <<raisechar>> to something reasonable. In fact,    
          you can set it to the same as the force character, if you never     
          expect to use either of these features.                             
                                                                              
          Here is a sample .tiprc file perfect for Emacs users who need to    
          type CTRL+2 and CTRL+A a lot:                                       
                                                                              
          force=^^                                                            
          raisechar=^^                                                        
                                                                              
          The ^^ is SHIFT+CTRL+6.                                             
   15.19. How can I do file transfers with tip?                               
          If you are talking to another UNIX(R) system, you can send and      
          receive files with ~p (put) and ~t (take). These commands run       
          cat(1) and echo(1) on the remote system to accept and send files.   
          The syntax is:                                                      
                                                                              
          ~p <local-file> [<remote-file>]                                     
          ~t <remote-file> [<local-file>]                                     
                                                                              
          There is no error checking, so you probably should use another      
          protocol, like zmodem.                                              
   15.20. How can I run zmodem with tip?                                      
          First, install one of the zmodem programs from the ports collection 
          (such as one of the two from the comms category, lrzsz or rzsz.     
                                                                              
          To receive files, start the sending program on the remote end.      
          Then, press enter and type ~C rz (or ~C lrz if you installed lrzsz) 
          to begin receiving them locally.                                    
                                                                              
          To send files, start the receiving program on the remote end. Then, 
          press enter and type ~C sz files (or ~C lsz files) to send them to  
          the remote system.                                                  

                      Kefa%laio 16. Dia%fore*s Erwty%sei*s

   16.1. FreeBSD uses far more swap space than Linux(R). Why?

   16.2. Why does top show very little free memory even when I have very few
   programs running?

   16.3. Why will chmod not change the permissions on symlinks?

   16.4. Can I run DOS binaries under FreeBSD?

   16.5. What do I need to do to translate a FreeBSD document into my native
   language?

   16.6. Why does my email to any address at FreeBSD.org bounce?

   16.7. Where can I find a free FreeBSD account?

   16.8. What is sup, and how do I use it?

   16.9. What is the cute little red guy's name?

   16.10. Can I use the BSD daemon image?

   16.11. Do you have any BSD daemon images I could use?

   16.12. I have seen an acronym or other term on the mailing lists and I do
   not understand what it means. Where should I look?

   16.13. Why should I care what color the bikeshed is?

   16.1.  FreeBSD uses far more swap space than Linux(R). Why?                
          FreeBSD only appears to use more swap than Linux(R). In actual      
          fact, it does not. The main difference between FreeBSD and Linux(R) 
          in this regard is that FreeBSD will proactively move entirely idle, 
          unused pages of main memory into swap in order to make more main    
          memory available for active use. Linux(R) tends to only move pages  
          to swap as a last resort. The perceived heavier use of swap is      
          balanced by the more efficient use of main memory.                  
                                                                              
          Note that while FreeBSD is proactive in this regard, it does not    
          arbitrarily decide to swap pages when the system is truly idle.     
          Thus you will not find your system all paged out when you get up in 
          the morning after leaving it idle overnight.                        
   16.2.  Why does top show very little free memory even when I have very few 
          programs running?                                                   
          The simple answer is that free memory is wasted memory. Any memory  
          that your programs do not actively allocate is used within the      
          FreeBSD kernel as disk cache. The values shown by top(1) labeled as 
          Inact, Cache, and Buf are all cached data at different aging        
          levels. This cached data means the system does not have to access a 
          slow disk again for data it has accessed recently, thus increasing  
          overall performance. In general, a low value shown for Free memory  
          in top(1) is good, provided it is not very low.                     
   16.3.  Why will chmod not change the permissions on symlinks?              
          Symlinks do not have permissions, and by default, chmod(1) will not 
          follow symlinks to change the permissions on the target file. So if 
          you have a file, foo, and a symlink to that file, bar, then this    
          command will always succeed.                                        
                                                                              
          % chmod g-w bar                                                     
                                                                              
          However, the permissions on foo will not have changed.              
                                                                              
          You have to use either -H or -L together with the -R option to make 
          this work. See the chmod(1) and symlink(7) manual pages for more    
          info.                                                               
                                                                              
            Proeidopoi%ysy:                                                   
                                                                              
          The -R option does a RECURSIVE chmod(1). Be careful about           
          specifying directories or symlinks to directories to chmod(1). If   
          you want to change the permissions of a directory referenced by a   
          symlink, use chmod(1) without any options and follow the symlink    
          with a trailing slash (/). For example, if foo is a symlink to      
          directory bar, and you want to change the permissions of foo        
          (actually bar), you would do something like:                        
                                                                              
          % chmod 555 foo/                                                    
                                                                              
          With the trailing slash, chmod(1) will follow the symlink, foo, to  
          change the permissions of the directory, bar.                       
   16.4.  Can I run DOS binaries under FreeBSD?                               
          Yes, you can use emulators/doscmd, a DOS emulation program,         
          available in the FreeBSD Ports Collection.                          
                                                                              
            Symei%wsy:                                                        
                                                                              
          The doscmd program used to be an integrated part of FreeBSD, but    
          was removed before the release of FreeBSD 5.3.                      
                                                                              
          If doscmd will not suffice, the add-on utility emulators/pcemu      
          emulates an 8088 and enough BIOS services to run many DOS text mode 
          applications. It requires the X Window System.                      
   16.5.  What do I need to do to translate a FreeBSD document into my native 
          language?                                                           
          See the Translation FAQ in the FreeBSD Documentation Project        
          Primer.                                                             
   16.6.  Why does my email to any address at FreeBSD.org bounce?             
          The FreeBSD.org mail system implements some of the stricter Postfix 
          checks on incoming mail and rejects mail that is either             
          misconfigured or is potential spam. Your mail might bounce for one  
          of the following reasons:                                           
                                                                              
            * The email is being sent from a known spam domain or IP block.   
                                                                              
              The FreeBSD mail servers reject email from known spam sources.  
              If you have service through a company or domain who generates   
              or relays spam, please switch to a service provider who does    
              not.                                                            
                                                                              
            * The body of the email only contains HTML.                       
                                                                              
              Mail should be sent in plain text only. Please configure your   
              mail user agent to send plain text.                             
                                                                              
            * The mailer at FreeBSD.org cannot resolve the IP address of the  
              connecting host back to a symbolic name.                        
                                                                              
              Working reverse DNS is a standard requirement for accepting     
              mail from a host. Set up reverse DNS for your mail server's IP  
              address. Many home services (DSL, cable, dialup, etc.) will not 
              give you this option. In this case, relay your email through    
              your service provider's mail server.                            
                                                                              
            * The hostname given in the EHLO/HELO part of the SMTP exchange   
              cannot be resolved to an IP address.                            
                                                                              
              A fully qualified, resolvable host name is necessary in this    
              part of the SMTP dialogue before mail will be accepted. If you  
              do not have a host name that is registered in the DNS, then you 
              should use your service provider's mail server to relay your    
              mail.                                                           
                                                                              
            * Your message had a message ID ending with the string            
              <<localhost>>.                                                  
                                                                              
              Some mail user agents generate bad message IDs which will not   
              be accepted. You will need to persuade your mail user agent to  
              generate a valid message ID or else configure your mail         
              transfer agent to rewrite them.                                 
   16.7.  Where can I find a free FreeBSD account?                            
          While FreeBSD does not provide open access to any of their servers, 
          others do provide open access UNIX(R) systems. The charge varies    
          and limited services may be available.                              
                                                                              
          Arbornet, Inc, also known as M-Net, has been providing open access  
          to UNIX(R) systems since 1983. Starting on an Altos running System  
          III, the site switched to BSD/OS in 1991. In June of 2000, the site 
          switched again to FreeBSD. M-Net can be accessed via telnet and SSH 
          and provides basic access to the entire FreeBSD software suite.     
          However, network access is limited to members and patrons who       
          donate to the system, which is run as a non-profit organization.    
          M-Net also provides an bulletin board system and interactive chat.  
                                                                              
          Grex provides a site very similar to M-Net including the same       
          bulletin board and interactive chat software. However, the machine  
          is a SunTM 4M and is running SunOSTM.                               
   16.8.  What is sup, and how do I use it?                                   
          SUP stands for Software Update Protocol, and was developed by CMU   
          for keeping their development trees in sync. We used it to keep     
          remote sites in sync with our central development sources.          
                                                                              
          SUP is not bandwidth friendly, and has been retired. The current    
          recommended method to keep your sources up to date is CVSup         
   16.9.  What is the cute little red guy's name?                             
          He does not have one, and is just called <<the BSD daemon>>. If you 
          insist upon using a name, call him <<beastie>>. Note that           
          <<beastie>> is pronounced <<BSD>>.                                  
                                                                              
          You can learn more about the BSD daemon on his home page.           
   16.10. Can I use the BSD daemon image?                                     
          Perhaps. The BSD daemon is copyrighted by Marshall Kirk McKusick.   
          You will want to check his Statement on the Use of the BSD Daemon   
          Figure for detailed usage terms.                                    
                                                                              
          In summary, you are free to use the image in a tasteful manner, for 
          personal use, so long as appropriate credit is given. If you want   
          to use him commercially, you must contact Kirk McKusick. More       
          details are available on the BSD Daemon's home page.                
   16.11. Do you have any BSD daemon images I could use?                      
          You will find eps and Xfig drawings under                           
          /usr/share/examples/BSD_daemon/.                                    
   16.12. I have seen an acronym or other term on the mailing lists and I do  
          not understand what it means. Where should I look?                  
          Please see the FreeBSD Glossary.                                    
   16.13. Why should I care what color the bikeshed is?                       
          The really, really short answer is that you should not. The         
          somewhat longer answer is that just because you are capable of      
          building a bikeshed does not mean you should stop others from       
          building one just because you do not like the color they plan to    
          paint it. This is a metaphor indicating that you need not argue     
          about every little feature just because you know enough to do so.   
          Some people have commented that the amount of noise generated by a  
          change is inversely proportional to the complexity of the change.   
                                                                              
          The longer and more complete answer is that after a very long       
          argument about whether sleep(1) should take fractional second       
          arguments, Poul-Henning Kamp posted a long message entitled <<A     
          bike shed (any color will do) on greener grass...>>. The            
          appropriate portions of that message are quoted below.              
                                                                              
            <<What is it about this bike shed?>> Some of you have asked me.   
                                                                              
            It is a long story, or rather it is an old story, but it is       
            quite short actually. C. Northcote Parkinson wrote a book in      
            the early 1960s, called <<Parkinson's Law>>, which contains a     
            lot of insight into the dynamics of management.                   
                                                                              
            [snip a bit of commentary on the book]                            
                                                                              
            In the specific example involving the bike shed, the other        
            vital component is an atomic power-plant, I guess that            
            illustrates the age of the book.                                  
                                                                              
            Parkinson shows how you can go into the board of directors and    
            get approval for building a multi-million or even billion         
            dollar atomic power plant, but if you want to build a bike shed   
            you will be tangled up in endless discussions.                    
                                                                              
            Parkinson explains that this is because an atomic plant is so     
            vast, so expensive and so complicated that people cannot grasp    
            it, and rather than try, they fall back on the assumption that    
            somebody else checked all the details before it got this far.     
            Richard P. Feynmann gives a couple of interesting, and very       
            much to the point, examples relating to Los Alamos in his         
            books.                                                            
                                                                              
            A bike shed on the other hand. Anyone can build one of those      
            over a weekend, and still have time to watch the game on TV. So   
            no matter how well prepared, no matter how reasonable you are     
            with your proposal, somebody will seize the chance to show that   
            he is doing his job, that he is paying attention, that he is      
            here.                                                             
                                                                              
            In Denmark we call it <<setting your fingerprint>>. It is about   
            personal pride and prestige, it is about being able to point      
            somewhere and say <<There! I did that.>> It is a strong trait     
            in politicians, but present in most people given the chance.      
            Just think about footsteps in wet cement.                         
                      --Poul-Henning Kamp on freebsd-hackers, October 2, 1999 

                       Kefa%laio 17. Xiou%mor kai FreeBSD

   17.1. How cool is FreeBSD?

   17.2. Who is scratching in my memory banks??

   17.3. How many FreeBSD hackers does it take to change a lightbulb?

   17.4. Where does data written to /dev/null go?

   17.1. How cool is FreeBSD?                                                 
         Q. Has anyone done any temperature testing while running FreeBSD? I  
         know Linux(R) runs cooler than DOS, but have never seen a mention of 
         FreeBSD. It seems to run really hot.                                 
                                                                              
         A. No, but we have done numerous taste tests on blindfolded          
         volunteers who have also had 250 micrograms of LSD-25 administered   
         beforehand. 35% of the volunteers said that FreeBSD tasted sort of   
         orange, whereas Linux(R) tasted like purple haze. Neither group      
         mentioned any significant variances in temperature. We eventually    
         had to throw the results of this survey out entirely anyway when we  
         found that too many volunteers were wandering out of the room during 
         the tests, thus skewing the results. We think most of the volunteers 
         are at Apple now, working on their new <<scratch and sniff>> GUI. It 
         is a funny old business we are in!                                   
                                                                              
         Seriously, both FreeBSD and Linux(R) use the HLT (halt) instruction  
         when the system is idle thus lowering its energy consumption and     
         therefore the heat it generates. Also if you have APM (advanced      
         power management) configured, then FreeBSD can also put the CPU into 
         a low power mode.                                                    
   17.2. Who is scratching in my memory banks??                               
         Q. Is there anything <<odd>> that FreeBSD does when compiling the    
         kernel which would cause the memory to make a scratchy sound? When   
         compiling (and for a brief moment after recognizing the floppy drive 
         upon startup, as well), a strange scratchy sound emanates from what  
         appears to be the memory banks.                                      
                                                                              
         A. Yes! You will see frequent references to <<daemons>> in the BSD   
         documentation, and what most people do not know is that this refers  
         to genuine, non-corporeal entities that now possess your computer.   
         The scratchy sound coming from your memory is actually high-pitched  
         whispering exchanged among the daemons as they best decide how to    
         deal with various system administration tasks.                       
                                                                              
         If the noise gets to you, a good fdisk /mbr from DOS will get rid of 
         them, but do not be surprised if they react adversely and try to     
         stop you. In fact, if at any point during the exercise you hear the  
         satanic voice of Bill Gates coming from the built-in speaker, take   
         off running and do not ever look back! Freed from the                
         counterbalancing influence of the BSD daemons, the twin demons of    
         DOS and Windows(R) are often able to re-assert total control over    
         your machine to the eternal damnation of your soul. Now that you     
         know, given a choice you would probably prefer to get used to the    
         scratchy noises, no?                                                 
   17.3. How many FreeBSD hackers does it take to change a lightbulb?         
         One thousand, one hundred and sixty-nine:                            
                                                                              
         Twenty-three to complain to -CURRENT about the lights being out;     
                                                                              
         Four to claim that it is a configuration problem, and that such      
         matters really belong on -questions;                                 
                                                                              
         Three to submit PRs about it, one of which is misfiled under doc and 
         consists only of <<it's dark>>;                                      
                                                                              
         One to commit an untested lightbulb which breaks buildworld, then    
         back it out five minutes later;                                      
                                                                              
         Eight to flame the PR originators for not including patches in their 
         PRs;                                                                 
                                                                              
         Five to complain about buildworld being broken;                      
                                                                              
         Thirty-one to answer that it works for them, and they must have      
         cvsupped at a bad time;                                              
                                                                              
         One to post a patch for a new lightbulb to -hackers;                 
                                                                              
         One to complain that he had patches for this three years ago, but    
         when he sent them to -CURRENT they were just ignored, and he has had 
         bad experiences with the PR system; besides, the proposed new        
         lightbulb is non-reflexive;                                          
                                                                              
         Thirty-seven to scream that lightbulbs do not belong in the base     
         system, that committers have no right to do things like this without 
         consulting the Community, and WHAT IS -CORE DOING ABOUT IT!?         
                                                                              
         Two hundred to complain about the color of the bicycle shed;         
                                                                              
         Three to point out that the patch breaks style(9);                   
                                                                              
         Seventeen to complain that the proposed new lightbulb is under GPL;  
                                                                              
         Five hundred and eighty-six to engage in a flame war about the       
         comparative advantages of the GPL, the BSD license, the MIT license, 
         the NPL, and the personal hygiene of unnamed FSF founders;           
                                                                              
         Seven to move various portions of the thread to -chat and -advocacy; 
                                                                              
         One to commit the suggested lightbulb, even though it shines dimmer  
         than the old one;                                                    
                                                                              
         Two to back it out with a furious flame of a commit message, arguing 
         that FreeBSD is better off in the dark than with a dim lightbulb;    
                                                                              
         Forty-six to argue vociferously about the backing out of the dim     
         lightbulb and demanding a statement from -core;                      
                                                                              
         Eleven to request a smaller lightbulb so it will fit their           
         Tamagotchi if we ever decide to port FreeBSD to that platform;       
                                                                              
         Seventy-three to complain about the SNR on -hackers and -chat and    
         unsubscribe in protest;                                              
                                                                              
         Thirteen to post <<unsubscribe>>, <<How do I unsubscribe?>>, or      
         <<Please remove me from the list>>, followed by the usual footer;    
                                                                              
         One to commit a working lightbulb while everybody is too busy        
         flaming everybody else to notice;                                    
                                                                              
         Thirty-one to point out that the new lightbulb would shine 0.364%    
         brighter if compiled with TenDRA (although it will have to be        
         reshaped into a cube), and that FreeBSD should therefore switch to   
         TenDRA instead of GCC;                                               
                                                                              
         One to complain that the new lightbulb lacks fairings;               
                                                                              
         Nine (including the PR originators) to ask <<what is MFC?>>;         
                                                                              
         Fifty-seven to complain about the lights being out two weeks after   
         the bulb has been changed.                                           
                                                                              
         Nik Clayton adds:                                                    
                                                                              
         I was laughing quite hard at this.                                   
                                                                              
         And then I thought, <<Hang on, shouldn't there be '1 to document     
         it.' in that list somewhere?>>                                       
                                                                              
         And then I was enlightened :-)                                       
   17.4. Where does data written to /dev/null go?                             
         It goes into a special data sink in the CPU where it is converted to 
         heat which is vented through the heatsink / fan assembly. This is    
         why CPU cooling is increasingly important; as people get used to     
         faster processors, they become careless with their data and more and 
         more of it ends up in /dev/null, overheating their CPUs. If you      
         delete /dev/null (which effectively disables the CPU data sink) your 
         CPU may run cooler but your system will quickly become constipated   
         with all that excess data and start to behave erratically. If you    
         have a fast network connection you can cool down your CPU by reading 
         data out of /dev/random and sending it off somewhere; however you    
         run the risk of overheating your network connection and / or         
         angering your ISP, as most of the data will end up getting converted 
         to heat by their equipment, but they generally have good cooling, so 
         if you do not overdo it you should be OK.                            
                                                                              
         Paul Robinson adds:                                                  
                                                                              
         There are other methods. As every good sysadmin knows, it is part of 
         standard practice to send data to the screen of interesting variety  
         to keep all the pixies that make up your picture happy. Screen       
         pixies (commonly mis-typed or re-named as <<pixels>> are categorized 
         by the type of hat they wear (red, green or blue) and will hide or   
         appear (thereby showing the color of their hat) whenever they        
         receive a little piece of food. Video cards turn data into           
         pixie-food, and then send them to the pixies - the more expensive    
         the card, the better the food, so the better behaved the pixies are. 
         They also need constant stimulation - this is why screen savers      
         exist.                                                               
                                                                              
         To take your suggestions further, you could just throw the random    
         data to console, thereby letting the pixies consume it. This causes  
         no heat to be produced at all, keeps the pixies happy and gets rid   
         of your data quite quickly, even if it does make things look a bit   
         messy on your screen.                                                
                                                                              
         Incidentally, as an ex-admin of a large ISP who experienced many     
         problems attempting to maintain a stable temperature in a server     
         room, I would strongly discourage people sending the data they do    
         not want out to the network. The fairies who do the packet switching 
         and routing get annoyed by it as well.                               

                      Kefa%laio 18. Proxwryme%na THe%mata

   18.1. How can I learn more about FreeBSD's internals?

   18.2. How can I contribute to FreeBSD?

   18.3. What are SNAPs and RELEASEs?

   18.4. How do I make my own custom release?

   18.5. Why does make world clobber my existing installed binaries?

   18.6. Why isn't cvsup.FreeBSD.org a round robin DNS entry to share the
   load amongst the various CVSup servers?

   18.7. Why does my system say <<(bus speed defaulted)>> when it boots?

   18.8. Can I follow -CURRENT with limited Internet access?

   18.9. How did you split the distribution into 240k files?

   18.10. I have written a kernel extension, who do I send it to?

   18.11. How are Plug N Play ISA cards detected and initialized?

   18.12. Can you assign a major number for a device driver I have written?

   18.13. What about alternative layout policies for directories?

   18.14. How can I make the most of the data I see when my kernel panics?

   18.15. Why has dlsym() stopped working for ELF executables?

   18.16. How can I increase or reduce the kernel address space?

18.1.  How can I learn more about FreeBSD's internals?                                              
       At this time, there is only one book on FreeBSD-specific OS internals, namely <<The Design   
       and Implementation of the FreeBSD Operating System>> by Marshall Kirk McKusick and George V. 
       Neville-Neil, ISBN 0-201-70245-2, which focuses on version 5.X of FreeBSD.                   
                                                                                                    
       Additionally, much general UNIX(R) knowledge is directly applicable to FreeBSD.              
                                                                                                    
       For a list of relevant books, please check the Handbook's Operating System Internals         
       Bibliography.                                                                                
18.2.  How can I contribute to FreeBSD?                                                             
       Please see the article on Contributing to FreeBSD for specific advice on how to do this.     
       Assistance is more than welcome!                                                             
18.3.  What are SNAPs and RELEASEs?                                                                 
       There are currently three active/semi-active branches in the FreeBSD CVS Repository.         
       (Earlier branches are only changed very rarely, which is why there are only three active     
       branches of development):                                                                    
                                                                                                    
         * RELENG_5 AKA 5-STABLE                                                                    
                                                                                                    
         * RELENG_6 AKA 6-STABLE                                                                    
                                                                                                    
         * HEAD AKA -CURRENT AKA 7.X-CURRENT                                                        
                                                                                                    
       HEAD is not an actual branch tag, like the other two; it is simply a symbolic constant for   
       <<the current, non-branched development stream>> which we simply refer to as <<-CURRENT>>.   
                                                                                                    
       Right now, <<-CURRENT>> is the 7.X development stream; the 5-STABLE branch, RELENG_5, forked 
       off from <<-CURRENT>> in October 2004, and the 6-STABLE branch, RELENG_6, forked off from    
       <<-CURRENT>> in November 2005.                                                               
18.4.  How do I make my own custom release?                                                         
       Please see the Release Engineering article.                                                  
18.5.  Why does make world clobber my existing installed binaries?                                  
       Yes, this is the general idea; as its name might suggest, make world rebuilds every system   
       binary from scratch, so you can be certain of having a clean and consistent environment at   
       the end (which is why it takes so long).                                                     
                                                                                                    
       If the environment variable DESTDIR is defined while running make world or make install, the 
       newly-created binaries will be deposited in a directory tree identical to the installed one, 
       rooted at ${DESTDIR}. Some random combination of shared libraries modifications and program  
       rebuilds can cause this to fail in make world however.                                       
18.6.  Why isn't cvsup.FreeBSD.org a round robin DNS entry to share the load amongst the various    
       CVSup servers?                                                                               
       While CVSup mirrors update from the master CVSup server hourly, this update might happen at  
       any time during the hour. This means that some servers have newer code than others, even     
       though all servers have code that is less than an hour old. If cvsup.FreeBSD.org was a round 
       robin DNS entry that simply redirected users to a random CVSup server, running CVSup twice   
       in a row could download code older than the code already on the system.                      
18.7.  Why does my system say <<(bus speed defaulted)>> when it boots?                              
       The Adaptec 1542 SCSI host adapters allow the user to configure their bus access speed in    
       software. Previous versions of the 1542 driver tried to determine the fastest usable speed   
       and set the adapter to that. We found that this breaks some users' systems, so you now have  
       to define the TUNE_1542 kernel configuration option in order to have this take place. Using  
       it on those systems where it works may make your disks run faster, but on those systems      
       where it does not, your data could be corrupted.                                             
18.8.  Can I follow -CURRENT with limited Internet access?                                          
       Yes, you can do this without downloading the whole source tree by using the CTM facility.    
18.9.  How did you split the distribution into 240k files?                                          
       Newer BSD based systems have a -b option to split(1) that allows them to split files on      
       arbitrary byte boundaries.                                                                   
                                                                                                    
       Here is an example from /usr/src/Makefile.                                                   
                                                                                                    
       bin-tarball:                                                                                 
       (cd ${DISTDIR}; \                                                                            
       tar cf - . \                                                                                 
       gzip --no-name -9 -c | \                                                                     
       split -b 240640 - \                                                                          
       ${RELEASEDIR}/tarballs/bindist/bin_tgz.)                                                     
18.10. I have written a kernel extension, who do I send it to?                                      
       Please take a look at the article on Contributing to FreeBSD to learn how to submit code.    
                                                                                                    
       And thanks for the thought!                                                                  
18.11. How are Plug N Play ISA cards detected and initialized?                                      
       By: Frank Durda IV <uhclem@nemesis.lonestar.org>                                             
                                                                                                    
       In a nutshell, there a few I/O ports that all of the PnP boards respond to when the host     
       asks if anyone is out there. So when the PnP probe routine starts, it asks if there are any  
       PnP boards present, and all the PnP boards respond with their model # to a I/O read of the   
       same port, so the probe routine gets a wired-OR <<yes>> to that question. At least one bit   
       will be on in that reply. Then the probe code is able to cause boards with board model IDs   
       (assigned by Microsoft/Intel) lower than X to go <<off-line>>. It then looks to see if any   
       boards are still responding to the query. If the answer was 0, then there are no boards with 
       IDs above X. Now probe asks if there are any boards below X. If so, probe knows there are    
       boards with a model numbers below X. Probe then asks for boards greater than X-(limit/4) to  
       go off-line. If repeats the query. By repeating this semi-binary search of IDs-in-range      
       enough times, the probing code will eventually identify all PnP boards present in a given    
       machine with a number of iterations that is much lower than what 2^64 would take.            
                                                                                                    
       The IDs are two 32-bit fields (hence 2^64) + 8 bit checksum. The first 32 bits are a vendor  
       identifier. They never come out and say it, but it appears to be assumed that different      
       types of boards from the same vendor could have different 32-bit vendor ids. The idea of     
       needing 32 bits just for unique manufacturers is a bit excessive.                            
                                                                                                    
       The lower 32 bits are a serial #, Ethernet address, something that makes this one board      
       unique. The vendor must never produce a second board that has the same lower 32 bits unless  
       the upper 32 bits are also different. So you can have multiple boards of the same type in    
       the machine and the full 64 bits will still be unique.                                       
                                                                                                    
       The 32 bit groups can never be all zero. This allows the wired-OR to show non-zero bits      
       during the initial binary search.                                                            
                                                                                                    
       Once the system has identified all the board IDs present, it will reactivate each board, one 
       at a time (via the same I/O ports), and find out what resources the given board needs, what  
       interrupt choices are available, etc. A scan is made over all the boards to collect this     
       information.                                                                                 
                                                                                                    
       This info is then combined with info from any ECU files on the hard disk or wired into the   
       MLB BIOS. The ECU and BIOS PnP support for hardware on the MLB is usually synthetic, and the 
       peripherals do not really do genuine PnP. However by examining the BIOS info plus the ECU    
       info, the probe routines can cause the devices that are PnP to avoid those devices the probe 
       code cannot relocate.                                                                        
                                                                                                    
       Then the PnP devices are visited once more and given their I/O, DMA, IRQ and Memory-map      
       address assignments. The devices will then appear at those locations and remain there until  
       the next reboot, although there is nothing that says you cannot move them around whenever    
       you want.                                                                                    
                                                                                                    
       There is a lot of oversimplification above, but you should get the general idea.             
                                                                                                    
       Microsoft took over some of the primary printer status ports to do PnP, on the logic that no 
       boards decoded those addresses for the opposing I/O cycles. I found a genuine IBM printer    
       board that did decode writes of the status port during the early PnP proposal review period, 
       but MS said <<tough>>. So they do a write to the printer status port for setting addresses,  
       plus that use that address + 0x800, and a third I/O port for reading that can be located     
       anywhere between 0x200 and 0x3ff.                                                            
18.12. Can you assign a major number for a device driver I have written?                            
       FreeBSD-CURRENT after February 2003 has a facility for dynamically and automatically         
       allocating major numbers for device drivers at runtime. This mechanism is highly preferred   
       to the older procedure of statically allocating device numbers. Some comments on this        
       subject can be found in src/sys/conf/majors.                                                 
                                                                                                    
       If you are forced for some reason to use a static major number, the procedure for obtaining  
       one depends on whether or not you plan on making the driver publicly available. If you do,   
       then please send us a copy of the driver source code, plus the appropriate modifications to  
       files.i386, a sample configuration file entry, and the appropriate MAKEDEV(8) code to create 
       any special files your device uses. If you do not, or are unable to because of licensing     
       restrictions, then character major number 32 and block major number 8 have been reserved     
       specifically for this purpose; please use them. In any case, we would appreciate hearing     
       about your driver on the ylektroniky% li%sta texnikw%n suzyty%sewn tou FreeBSD.              
18.13. What about alternative layout policies for directories?                                      
       In answer to the question of alternative layout policies for directories, the scheme that is 
       currently in use is unchanged from what I wrote in 1983. I wrote that policy for the         
       original fast filesystem, and never revisited it. It works well at keeping cylinder groups   
       from filling up. As several of you have noted, it works poorly for find. Most filesystems    
       are created from archives that were created by a depth first search (aka ftw). These         
       directories end up being striped across the cylinder groups thus creating a worst possible   
       scenario for future depth first searches. If one knew the total number of directories to be  
       created, the solution would be to create (total / fs_ncg) per cylinder group before moving   
       on. Obviously, one would have to create some heuristic to guess at this number. Even using a 
       small fixed number like say 10 would make an order of magnitude improvement. To              
       differentiate restores from normal operation (when the current algorithm is probably more    
       sensible), you could use the clustering of up to 10 if they were all done within a ten       
       second window. Anyway, my conclusion is that this is an area ripe for experimentation.       
                                                                                                    
       Kirk McKusick, September 1998                                                                
18.14. How can I make the most of the data I see when my kernel panics?                             
       [This section was extracted from a mail written by Bill Paul on the freebsd-current mailing  
       list by Dag-Erling Smorgrav, who fixed a few typos and added the bracketed comments]         
                                                                                                    
       From: Bill Paul <wpaul@skynet.ctr.columbia.edu>                                              
       Subject: Re: the fs fun never stops                                                          
       To: Ben Rosengart                                                                            
       Date: Sun, 20 Sep 1998 15:22:50 -0400 (EDT)                                                  
       Cc: current@FreeBSD.org                                                                      
                                                                                                    
       Ben Rosengart posted the following panic message]                                            
                                                                                                    
       > 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                                                                          
                                                                                                    
       [When] you see a message like this, it is not enough to just reproduce it and send it in.    
       The instruction pointer value that I highlighted up there is important; unfortunately, it is 
       also configuration dependent. In other words, the value varies depending on the exact kernel 
       image that you are using. If you are using a GENERIC kernel image from one of the snapshots, 
       then it is possible for somebody else to track down the offending function, but if you are   
       running a custom kernel then only you can tell us where the fault occurred.                  
                                                                                                    
       What you should do is this:                                                                  
                                                                                                    
        1. Write down the instruction pointer value. Note that the 0x8: part at the beginning is    
           not significant in this case: it is the 0xf0xxxxxx part that we want.                    
                                                                                                    
        2. When the system reboots, do the following:                                               
                                                                                                    
        % nm -n /kernel.that.caused.the.panic | grep f0xxxxxx                                       
                                                                                                    
           where f0xxxxxx is the instruction pointer value. The odds are you will not get an exact  
           match since the symbols in the kernel symbol table are for the entry points of functions 
           and the instruction pointer address will be somewhere inside a function, not at the      
           start. If you do not get an exact match, omit the last digit from the instruction        
           pointer value and try again, i.e.:                                                       
                                                                                                    
        % nm -n /kernel.that.caused.the.panic | grep f0xxxxx                                        
                                                                                                    
           If that does not yield any results, chop off another digit. Repeat until you get some    
           sort of output. The result will be a possible list of functions which caused the panic.  
           This is a less than exact mechanism for tracking down the point of failure, but it is    
           better than nothing.                                                                     
                                                                                                    
       I see people constantly show panic messages like this but rarely do I see someone take the   
       time to match up the instruction pointer with a function in the kernel symbol table.         
                                                                                                    
       The best way to track down the cause of a panic is by capturing a crash dump, then using     
       gdb(1) to generate a stack trace on the crash dump.                                          
                                                                                                    
       In any case, the method I normally use is this:                                              
                                                                                                    
        1. Set up a kernel config file, optionally adding options DDB if you think you need the     
           kernel debugger for something. (I use this mainly for setting breakpoints if I suspect   
           an infinite loop condition of some kind.)                                                
                                                                                                    
        2. Use config -g KERNELCONFIG to set up the build directory.                                
                                                                                                    
        3. cd /sys/compile/KERNELCONFIG; make                                                       
                                                                                                    
        4. Wait for kernel to finish compiling.                                                     
                                                                                                    
        5. make install                                                                             
                                                                                                    
        6. reboot                                                                                   
                                                                                                    
       The make(1) process will have built two kernels. kernel and kernel.debug. kernel was         
       installed as /kernel, while kernel.debug can be used as the source of debugging symbols for  
       gdb(1).                                                                                      
                                                                                                    
       To make sure you capture a crash dump, you need edit /etc/rc.conf and set dumpdev to point   
       to your swap partition. This will cause the rc(8) scripts to use the dumpon(8) command to    
       enable crash dumps. You can also run dumpon(8) manually. After a panic, the crash dump can   
       be recovered using savecore(8); if dumpdev is set in /etc/rc.conf, the rc(8) scripts will    
       run savecore(8) automatically and put the crash dump in /var/crash.                          
                                                                                                    
         Symei%wsy:                                                                                 
                                                                                                    
       FreeBSD crash dumps are usually the same size as the physical RAM size of your machine. That 
       is, if you have 64MB of RAM, you will get a 64MB crash dump. Therefore you must make sure    
       there is enough space in /var/crash to hold the dump. Alternatively, you run savecore(8)     
       manually and have it recover the crash dump to another directory where you have more room.   
       It is possible to limit the size of the crash dump by using options MAXMEM=(foo) to set the  
       amount of memory the kernel will use to something a little more sensible. For example, if    
       you have 128MB of RAM, you can limit the kernel's memory usage to 16MB so that your crash    
       dump size will be 16MB instead of 128MB.                                                     
                                                                                                    
       Once you have recovered the crash dump, you can get a stack trace with gdb(1) as follows:    
                                                                                                    
       % gdb -k /sys/compile/KERNELCONFIG/kernel.debug /var/crash/vmcore.0                          
       (gdb) where                                                                                  
                                                                                                    
       Note that there may be several screens worth of information; ideally you should use          
       script(1) to capture all of them. Using the unstripped kernel image with all the debug       
       symbols should show the exact line of kernel source code where the panic occurred. Usually   
       you have to read the stack trace from the bottom up in order to trace the exact sequence of  
       events that lead to the crash. You can also use gdb(1) to print out the contents of various  
       variables or structures in order to examine the system state at the time of the crash.       
                                                                                                    
       Now, if you are really insane and have a second computer, you can also configure gdb(1) to   
       do remote debugging such that you can use gdb(1) on one system to debug the kernel on        
       another system, including setting breakpoints, single-stepping through the kernel code, just 
       like you can do with a normal user-mode program. I have not played with this yet as I do not 
       often have the chance to set up two machines side by side for debugging purposes.            
                                                                                                    
       [Bill adds: "I forgot to mention one thing: if you have DDB enabled and the kernel drops     
       into the debugger, you can force a panic (and a crash dump) just by typing 'panic' at the    
       ddb prompt. It may stop in the debugger again during the panic phase. If it does, type       
       'continue' and it will finish the crash dump." -ed]                                          
18.15. Why has dlsym() stopped working for ELF executables?                                         
       The ELF toolchain does not, by default, make the symbols defined in an executable visible to 
       the dynamic linker. Consequently dlsym() searches on handles obtained from calls to          
       dlopen(NULL, flags) will fail to find such symbols.                                          
                                                                                                    
       If you want to search, using dlsym(), for symbols present in the main executable of a        
       process, you need to link the executable using the -export-dynamic option to the ELF linker  
       (ld(1)).                                                                                     
18.16. How can I increase or reduce the kernel address space?                                       
       By default, the kernel address space is 256 MB on FreeBSD 3.X and 1 GB on FreeBSD 4.X. If    
       you run a network-intensive server (e.g. a large FTP or HTTP server), you might find that    
       256 MB is not enough.                                                                        
                                                                                                    
       So how do you increase the address space? There are two aspects to this. First, you need to  
       tell the kernel to reserve a larger portion of the address space for itself. Second, since   
       the kernel is loaded at the top of the address space, you need to lower the load address so  
       it does not bump its head against the ceiling.                                               
                                                                                                    
       The first goal is achieved by increasing the value of NKPDE in src/sys/i386/include/pmap.h.  
       Here is what it looks like for a 1 GB address space:                                         
                                                                                                    
       #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                                                                                       
                                                                                                    
       To find the correct value of NKPDE, divide the desired address space size (in megabytes) by  
       four, then subtract one for UP and two for SMP.                                              
                                                                                                    
       To achieve the second goal, you need to compute the correct load address: simply subtract    
       the address space size (in bytes) from 0x100100000; the result is 0xc0100000 for a 1 GB      
       address space. Set LOAD_ADDRESS in src/sys/i386/conf/Makefile.i386 to that value; then set   
       the location counter in the beginning of the section listing in                              
       src/sys/i386/conf/kernel.script to the same value, as follows:                               
                                                                                                    
       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)    }                                                            
                                                                                                    
       Then reconfig and rebuild your kernel. You will probably have problems with ps(1) top(1) and 
       the like; make world should take care of it (or a manual rebuild of libkvm, ps(1) and top(1) 
       after copying the patched pmap.h to /usr/include/vm/.                                        
                                                                                                    
       NOTE: the size of the kernel address space must be a multiple of four megabytes.             
                                                                                                    
       [David Greenman adds: I think the kernel address space needs to be a power of two, but I am  
       not certain about that. The old(er) boot code used to monkey with the high order address     
       bits and I think expected at least 256MB granularity.]                                       

                          Kefa%laio 19. Euxaristi%e*s

   This innocent little Frequently Asked Questions document has been written,
   rewritten, edited, folded, spindled, mutilated, eviscerated, contemplated,
   discombobulated, cogitated, regurgitated, rebuilt, castigated, and
   reinvigorated over the last decade, by a cast of hundreds if not
   thousands. Repeatedly.

   We wish to thank every one of the people responsible, and we encourage you
   to to join them in making this FAQ even better.

                                  Bibliography

   [biblio-unleashed] FreeBSD Unleashed. Michael Urban kai Brian Tiemann.
   Sams. 1st edition. 992 pages. October 2001. ISBN 0-67232-206-4.

   [biblio-44sysman] 4.4BSD System Manager's Manual. Computer Systems
   Research Group, University of California, Berkeley. O'Reilly and
   Associates. 1st edition. June 1994. 804 pages. ISBN 1-56592-080-5.

   [biblio-44userman] 4.4BSD User's Reference Manual. Computer Systems
   Research Group, University of California, Berkeley. O'Reilly and
   Associates. 1st edition. June 1994. 905 pages. ISBN 1-56592-075-9.

   [biblio-44suppman] 4.4BSD User's Supplementary Documents. Computer Systems
   Research Group, University of California, Berkeley. O'Reilly and
   Associates. 1st edition. June 1994. 712 pages. ISBN 1-56592-076-7.

   [biblio-44progman] 4.4BSD Programmer's Reference Manual. Computer Systems
   Research Group, University of California, Berkeley. O'Reilly and
   Associates. 1st edition. June 1994. 866 pages. ISBN 1-56592-078-3.

   [biblio-44progsupp] 4.4BSD Programmer's Supplementary Documents. Computer
   Systems Research Group, University of California, Berkeley. O'Reilly and
   Associates. 1st edition. June 1994. 596 pages. ISBN 1-56592-079-1.

   [biblio-44kernel] The Design and Implementation of the 4.4BSD Operating
   System. M. K. McKusick, Kirk Marshall, Keith Bostic, Michael J Karels, kai
   John Quarterman. Addison-Wesley. Reading MA . 1996. ISBN 0-201-54979-4.

   [biblio-freebsdkernel] The Design and Implementation of the FreeBSD
   Operating System. M. K. McKusick kai George V. Neville-Neil.
   Addison-Wesley. Boston MA . 2004. ISBN 0-201-70245-2.

   [biblio-nemeth3rd] Unix System Administration Handbook. Evi Nemeth, Garth
   Snyder, Scott Seebass, Trent R. Hein, kai John Quarterman. Prentice-Hall.
   3rd edition. 2000. ISBN 0-13-020601-6.

   [lehey3rd] The Complete FreeBSD. Greg Lehey. Walnut Creek. 3rd edition.
   June 1999. 773 pages. ISBN 1-57176-246-9.

   [McKusick et al, 1994] Berkeley Software Architecture Manual, 4.4BSD
   Edition. M. K. McKusick, M. J. Karels, S. J. Leffler, W. N. Joy, kai R. S.
   Faber. 5:1-42.

   [biblio-ja-fbsdpc98] FreeBSD for PC 98'ers (in Japanese). SHUWA System Co,
   LTD.. ISBN 4-87966-468-5 C3055 P2900E.

   [biblio-ja-fbsd] FreeBSD (in Japanese). CUTT. ISBN 4-906391-22-2.

   [biblio-ja-compintro] Complete Introduction to FreeBSD (in Japanese).
   Shoeisha Co., Ltd. ISBN 4-88135-473-6 P3600E.

   [biblio-ja-unixstarterkit] Personal UNIX Starter Kit FreeBSD (in
   Japanese). ASCII. ISBN 4-7561-1733-3 P3000E.

   [biblio-ja-fbsdhb] FreeBSD Handbook (Japanese translation). ASCII. ISBN
   4-7561-1580-2 P3800E.

   [biblio-ge-fbsdmitmeth] FreeBSD mit Methode (in German). Computer und
   Literature Verlag/Vertrieb Hanser. 1998. ISBN 3-932311-31-0.

   [biblio-ja-fbsdinstandutil] FreeBSD install and Utilization Manual (in
   Japanese). Mainichi Communications Inc..

   [biblio-indo-intserv] Building Internet Server with FreeBSD (in Indonesia
   Language). Elex Media Komputindo. Onno W Purbo, Dodi Maryanto, Syahrial
   Hubbany, kai Widjil Widodo.

   [biblio-fbsdcorpnetguide] The FreeBSD Corporate Networker's Guide.
   Addison-Wesley.

   [biblio-unixnutshell] UNIX in a Nutshell. O'Reilly & Associates, Inc..
   1990. ISBN 093717520X.

   [biblio-cantfindadmin] What You Need To Know When You Can't Find Your Unix
   System Administrator. O'Reilly & Associates, Inc.. 1995. Linda Mui. ISBN
   1-56592-104-6.

   [biblio-ja-fbsdusrrefman] FreeBSD User's Reference Manual (Japanese
   translation). Mainichi Communications Inc.. Jpman Project, Japan FreeBSD
   Users Group. 1998. ISBN 4-8399-0088-4 P3800E.

   [biblio-newcomeunix] <<Online Guide for newcomers to the UNIX
   environment>>. Edinburgh University.

   [biblio-dnsandbind] DNS and BIND. O'Reilly & Associates, Inc. ISBN
   1-56592-512-2. Paul Albitz Albitz kai Cricket Liu. 1998. 3rd edition.

   [biblio-sendmail] Sendmail. O'Reilly & Associates, Inc. 1997. 2nd edition.
   Brian Costales. ISBN 1-56592-222-0.

   [biblio-esssysadmin] Essential System Administration. AEleen Frisch. 2nd
   edition. O'Reilly & Associates. 1995. ISBN 1-56592-127-5.

   [biblio-tcpipnetworkadministration] TCP/IP Network Administration. Craig
   Hunt. 2nd edition. O'Reilly & Associates, Inc. 1997. ISBN 1-56592-322-7.

   [biblio-managingnfsandnis] Managing NFS and NIS. Hal Stern. O'Reilly &
   Associates, Inc. 1991. ISBN 0-937175-75-7.

   [biblio-jpmanprojectjfug] FreeBSD System Administration's Manual. Jpman
   Project, Japan FreeBSD Users Group. Mainichi Communications Inc.. 1998.
   ISBN 4-8399-0109-0 P3300E.

   [biblio-xwinsystoolkit] X Window System Toolkit. Digital Press. Paul
   Asente. ISBN 1-55558-051-3.

   [biblio-carefman] C: A Reference Manual. Prentice Hall. 1995. 4th edition.
   Samuel P. Harbison kai Guy L. Jr. Steele. ISBN 0-13-326224-3.

   [biblio-thecproglang] The C Programming Language. Prentice Hall. 1998.
   Brian Kernighan kai Dennis Ritchie. ISBN 0-13-110362-9.

   [biblio-portingunixsoft] Porting UNIX Software. Greg Lehey. O'Reilly &
   Associates, Inc.. 1995. ISBN 1-56592-126-7.

   [biblio-thestandardclibrary] The Standard C Library. Prentice Hall. 1992.
   P. J. Plauger. ISBN 0-13-131509-9.

   [biblio-advprogintheunixenv] Advanced Programming in the UNIX Environment.
   Addison-Wesley. 1992. W. Richard Stevens. ISBN 0-201-56317-7.

   [biblio-unixnetprog] UNIX Network Programming. W. Richard Stevens.
   Prentice Hall. 1998. 2nd edition. ISBN 0-13-490012-X.

   [biblio-writeserialdriverforunix] Writing Serial Drivers for UNIX. Bill
   Wells. December 1994. Dr. Dobb's Journal. pp68-71, pp97-99.

   [biblio-unixsysarch] UNIX System Architecture. Prentice-Hall, Inc. 1990.
   Prabhat K. Andleigh. ISBN 0-13-949843-5.

   [biblio-portingunixtothe386] Porting UNIX to the 386. William Jolitz. Dr.
   Dobb's Journal. January 1991-July 1992.

   [biblio-tcpipillv1theprotocols] TCP/IP Illustrated, Volume 1: The
   Protocols. W. Richard Stevens. Addison-Wesley. 1996. ISBN 0-201-63346-9.

   [biblio-unixsysformodrnarch] Unix Systems for Modern Architectures.
   Addison-Wesley. Curt Schimmel. 1994. ISBN 0-201-63338-8.

   [biblio-tcpipillvol3] TCP/IP Illustrated, Volume 3: TCP for Transactions,
   HTTP, NNTP and the UNIX Domain Protocols. Addison-Wesley. 1996. W. Richard
   Stevens. ISBN 0-201-63495-3.

   [biblio-unixinternthenewfrontiers] UNIX Internals -- The New Frontiers.
   Uresh Vahalia. Prentice Hall. 1996. ISBN 0-13-101908-2.

   [biblio-tcpipillvol2theimplementation] TCP/IP Illustrated, Volume 2: The
   Implementation. Gary R. Wright kai W. Richard Stevens. 1995.
   Addison-Wesley. ISBN 0-201-63354-X.

   [biblio-firewallsandinternetsecurity] Firewalls and Internet Security:
   Repelling the Wily Hacker. William R. CHeswick kai Steven M. Bellovin.
   Addison-Wesley. 1995. ISBN 0-201-63357-4.

   [biblio-practicalunixsecurity] Practical UNIX Security. Simson Garfinkel
   kai Gene Spafford. 1996. 2nd edition. O'Reilly & Associates, Inc. ISBN
   1-56592-148-8.

   [biblio-pgpprettygoodprivacy] PGP Pretty Good Privacy. Simson Garfinkel.
   O'Reilly & Associates, Inc. 1995. ISBN 1-56592-098-8.

   [biblio-pentiumprocarch] Pentium Processor System Architecture. Don
   Anderson kai Tom Shanley. Addison-Wesley. 1995. 2nd edition. ISBN
   0-201-40992-5.

   [biblio-progguidetothesvgacards] Programmer's Guide to the EGA, VGA, and
   Super VGA Cards. Richard F. Ferraro. 3rd edition. Addison-Wesley. 1995.
   ISBN 0-201-62490-7.

   [biblio-80486] 80486 System Architecture. Tom Shanley. Addison-Wesley.
   1995. 3rd edition. ISBN 0-201-40994-1.

   [biblio-isasysarch] ISA System Architecture. Tom Shanley. Addison-Wesley.
   3rd edition. 1995. ISBN 0-201-40996-8.

   [biblio-pcisysarch] PCI System Architecture. Tom Shanley. Addison-Wesley.
   1995. 3rd edition. ISBN 0-201-40993-3.

   [biblio-theundocumentedpc] The Undocumented PC. Frank Van Gilluwe.
   Addison-Wesley. 1994. ISBN 0-201-62277-7.

   [biblio-bellsystemtechnicaljournal] Bell System Technical Journal, Unix
   Time-Sharing System. American Telephone & Telegraph Company. July-August
   1978. Vol 57, No 6, Part 2. ISSN0005-8580.

   [biblio-commentaryonunix] Lion's Commentary on UNIX. John Lion. ITP Media
   Group. 1996. 6th edition. ISBN 1573980137.

   [biblio-newhackerdict] The New Hacker's Dictionary. Eric S. Raymond. MIT
   Press. 1996. 3rd edition. ISBN 0-262-68092-0.

   [biblio-aqtrcentofunix] A quarter century of UNIX. Peter H. Salus.
   Addison-Wesley. 1994. ISBN 0-201-54777-5.

   [biblio-unixhatershandbook] The UNIX-HATERS Handbook. Steven Strassman,
   Daniel Weise, kai Simon Garfinkel. IDG Books Worldwide, Inc. 1994. ISBN
   1-56884-203-1.

   [biblio-lifewithunix] Life with UNIX - special edition. Don Libes kai
   Sandy Ressler. Prentice-Hall. 1989. ISBN 0-13-536657-7.

   [biblio-bsdfamilytree] The BSD Family Tree. 1997.

   [absolutebsd] Absolute BSD. Michael Lucas. No Starch Press. June 2002.
   ISBN 1-886411-74-3.

   [biblio-ccppusersjournal] The C/C++ Users Journal. R&D Publications Inc..
   ISSN 1075-2838.

   [biblio-sysadminthejournalforunixsysadmins] Sys Admin - The Journal for
   UNIX System Administrators. Miller Freeman, Inc. ISSN 1061-2688.
