96 lines
		
	
	
	
		
			3.7 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			96 lines
		
	
	
	
		
			3.7 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| <!-- $Id: kernelconfig.sgml,v 1.2 1998-05-19 01:46:05 jkh Exp $ -->
 | |
| <!-- The FreeBSD Documentation Project -->
 | |
| 
 | |
|   <sect>
 | |
|     <heading>Kernel Configuration<label id="kernelconfig"></heading>
 | |
| 
 | |
|     <sect1>
 | |
|       <heading>
 | |
|         I'd like to customize my kernel. Is it difficult?
 | |
|         <label id="make-kernel">
 | |
|       </heading>
 | |
| 
 | |
|       <p>Not at all! Check out the <url url="../handbook/kernelconfig.html"
 | |
|       name="kernel config section of the Handbook">.
 | |
| 
 | |
|       <p><bf/NOTE:/ I recommend making a dated snapshot of your kernel
 | |
|       in <tt/kernel.YYMMDD/ after you get it all working, that way if
 | |
|       you do something dire the next time you play with your configuration
 | |
|       you can boot that kernel instead of having to go all the way back
 | |
|       to <tt/kernel.GENERIC/. This is particularly important if you're
 | |
|       now booting off a controller that isn't supported in the GENERIC
 | |
|       kernel (yes, personal experience).
 | |
| 
 | |
|     <sect1>
 | |
|       <heading>
 | |
|         My kernel compiles fail because <tt/_hw_float/ is missing.
 | |
|       </heading>
 | |
| 
 | |
|       <p>Let me guess. You removed <htmlurl 
 | |
|       url="http://www.freebsd.org/cgi/man.cgi?npx(4)" name="npx0"> from your
 | |
|       kernel configuration file because you don't have a math co-processor,
 | |
|       right? Wrong! :-)  The <tt/npx0/ is <bf/MANDATORY/. Even if you don't
 | |
|       have a mathematic co-processor, you <bf/must/ include the <tt/npx0/
 | |
|       device.
 | |
| 
 | |
|     <sect1>
 | |
|       <heading>Interrupt conflicts with multi-port serial code.</heading>
 | |
| 
 | |
|       <p><bf/Q./ 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?
 | |
| 
 | |
|       <p><bf/A./ 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 a example:
 | |
| 
 | |
|       <verb>
 | |
|         #
 | |
|         # 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
 | |
|       </verb>
 | |
| 
 | |
|     <sect1>
 | |
|       <heading>How do I enable support for QIC-40/80 drives?</heading>
 | |
| 
 | |
|       <p>You need to uncomment the following line in the generic config
 | |
|       file (or add it to your config file), add a ``<tt/flags 0x1/''
 | |
|       on the <htmlurl url="http://www.freebsd.org/cgi/man.cgi?fdc(4)"
 | |
|       name="fdc"> line and recompile.
 | |
| 
 | |
|       <verb>
 | |
| controller  fdc0  at isa? port "IO_FD1" bio irq 6 drq 2 flags 0x1 vector fdintr
 | |
| disk        fd0   at fdc0 drive 0                       ^^^^^^^^^
 | |
| disk        fd1   at fdc0 drive 1
 | |
| #tape       ft0   at fdc0 drive 2
 | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 | |
|       </verb>
 | |
| 
 | |
|       <p>Next, you create a device called <tt>/dev/ft0</tt> by going into
 | |
|       <tt>/dev</tt> and run the following command:
 | |
| 
 | |
|       <verb>
 | |
|         sh ./MAKEDEV ft0
 | |
|       </verb>
 | |
| 
 | |
|       <p>for the first device. <tt/ft1/ for a second one and so on.
 | |
| 
 | |
|       <p>You will have a device called <tt>/dev/ft0</tt>, which you can
 | |
|       write to through a special program to manage it called
 | |
|       ``<tt/ft/'' - see the man page on <htmlurl 
 | |
|       url="http://www.freebsd.org/cgi/man.cgi?ft" name="ft">
 | |
|       for further details.
 | |
| 
 | |
|       <p>Versions previous to <tt/-current/ also had some trouble dealing
 | |
|       with bad tape media; if you have trouble where <tt/ft/ seems to
 | |
|       go back and forth over the same spot, try grabbing the latest
 | |
|       version of <tt/ft/ from <tt>/usr/src/sbin/ft</tt> in
 | |
|       <tt/-current/ and try that.
 | |
| 
 | |
|   </sect>
 | |
| 
 |