aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Fieber <jfieber@FreeBSD.org>1995-11-20 01:10:33 +0000
committerJohn Fieber <jfieber@FreeBSD.org>1995-11-20 01:10:33 +0000
commit7825ec568cc50e3d1623a307d8d372df51a81e95 (patch)
treeed82287c202b32ec499e94782e869fbcf265c4ae
parentbef3a65c8b3e8832dc7c626220e94a4dfd8cc328 (diff)
downloaddoc-7825ec568cc50e3d1623a307d8d372df51a81e95.tar.gz
doc-7825ec568cc50e3d1623a307d8d372df51a81e95.zip
Bring 2.1 changes back into the head.
Notes
Notes: svn path=/head/; revision=162
-rw-r--r--handbook/dma.sgml610
-rw-r--r--handbook/eresources.sgml4
-rw-r--r--handbook/handbook.sgml12
-rw-r--r--handbook/install.sgml703
-rw-r--r--handbook/mirrors.sgml18
-rw-r--r--handbook/relnotes.sgml94
-rw-r--r--handbook/scsi.sgml31
-rw-r--r--handbook/slips.sgml2
8 files changed, 1005 insertions, 469 deletions
diff --git a/handbook/dma.sgml b/handbook/dma.sgml
index db63b82b8b..9b96da980c 100644
--- a/handbook/dma.sgml
+++ b/handbook/dma.sgml
@@ -1,105 +1,511 @@
-<!-- $Id: dma.sgml,v 1.1 1995-09-25 04:53:29 jfieber Exp $ -->
+<!-- $Id: dma.sgml,v 1.2 1995-11-20 01:10:12 jfieber Exp $ -->
<!-- The FreeBSD Documentation Project -->
-<sect><heading>PC DMA<label id="dma"></heading>
-
-<p><em>Contributed by &a.uhclem;.<newline>
- 31 August 1995.</em>
-
-Posted to <htmlurl url="mailto:hackers@freebsd.org"
- name="freebsd-hackers@freebsd.org">:
-<quote>
-<p><em>Yes, as long as `single mode' is appropriate for you, there's no need
-to worry about TC. TC is intented for continuous mode. Well, i've
-just noticed that the PC DMAC cannot even generate an interrupt when
-ready... hmm, go figure, the Z80 DMAC did it.</em>
-<p><em>And yes, for `single mode', the masking trick will do it. The
-peripheral device will issue a DRQ signal for each transfered
-byte/word, and masking would prevent the DMAC from accepting new DRQs
-for this channel. Aborting a continuous mode transfer would not be so
-easy (or even impossible at all).</em>
-</quote>
-
-Actually, masking is the correct procedure for all transfer modes on the
-8237, even autoinit mode, which is frequently used for audio operations
-since it allows seamless DMA transfers with no under/overruns.
-
-You are generally correct about TC. All the TC signal does is
-when the counter on any channel in the DMA controller goes from
-one to zero, TC is asserted. What the peripherals are supposed
-to if they want to generate an interrupt when the transfer is
-through, is that peripheral device is supposed to look at
-<tt>(-DACK%d &amp;&amp; TC &amp;&amp; DEVICE_DMA_ACTIVE)</tt> and then
-latch an <tt>IRQ%d</tt> for the 8259 interrupt controller. Since there is
-only one TC signal, it is important that only the peripheral who
-is transferring data at that moment honor the TC signal.
-
-The host CPU will eventually investigate the interrupt by having some driver
-poll the hardware associated with the peripheral, NOT the DMA controller.
-If a peripheral doesn't want an interrupt associated with the DMA counter
-reaching zero, it doesn't implement the circuitry to monitor TC.
-
-Some sound cards realize that when the TC hits zero it means the DMA
-is now idle and that is really too late, so they don't use TC and
-instead allow the driver to program in a local counter value, which
-is usually set lower than the value programmed into the DMA. This means
-the peripheral can interrupt the CPU in advance of the DMA "running dry",
-allowing the CPU to be ready to reprogram the DMA the instant it finishes
-what it is doing, rather than incurring the latency later.
-
-This also means that two or more different devices could share a
-DMA channel, by tristating <tt>DRQ%d</tt> when idle and only
-honoring <tt>-DACK%d</tt> when the device knows it is expecting
-the DMA to go active. (Iomega PC2B boards forgot this minor
-point and will transfer data even if they are not supposed to.)
-
-
-So, if you want to abort a 8237 DMA transfer of any kind, simply mask the
-bit for that DMA channel in the 8237. Note: You can't interrupt an individual
-transfer (byte or burst) in progress. Think about it... if the DMA is
-running, how is your OUT instruction going to be performed?
-The CPU has to be bus master for the OUT to be performed.
-
-Since the 8237 DMA re-evaluates DMA channel priorities constantly, even if
-the DMA had already asserted HOLD (to request the bus from the CPU) when
-the OUT actually took place, the processor would still grant the bus to the
-DMA controller. The DMA controller would look for the highest-priority
-DMA source remaining (your interrupt is masked now) at that instant,
-and if none remained, the DMA will release HOLD and the processor will
-get the bus back after a few clocks.
-
-There is a deadly race condition in this area, but if I remember right,
-you can't get into it via mis-programming the DMA, UNLESS you cause the DMA
-controller to be RESET. You should not do this. Effectively the CPU
-can give up the bus and the DMA doesn't do anything, including giving the
-bus back. Very annoying and after 16msec or so, all is over since
-refresh on main memory has started failing.
-
-So, mask the DMA controller, then go do what you have to do to get the
-transfer aborted in the peripheral hardware. In some extremely stupid
-hardware (I could mention a few), you may have to program the DMA to
-transfer one more byte to a garbage target to get the peripheral hardware
-to go back to an idle state. Most hardware these days isn't that
-stupid.
-
-Technically, you are supposed to mask the DMA channel, program the other
-settings (direction, address, length, etc), issue commands to the
-peripheral and then unmask the DMA channel once the peripheral commands have
-been accepted. The last two steps can be done out of order without
-harm, but you must always program the DMA channel while it is masked to
-avoid spraying data all over the place in the event the peripheral
-unexpected asserts <tt>DRQ%d</tt>.
-
-If you need to pad-out an aborted buffer, once you have masked the
-DMA, you can ask it how many bytes it still had to go and what
-address it was to write to next. Your driver can then fill in the
-remaining area or do what needs to be done.
-
-
-Don't forget that the 8237 was designed for use with the 8085 and
-really isn't suited to the job that IBM gave it in the original PC.
-That's why the upper eight bits of DMA addressing appear to be lashed-on.
-They are. Look at the schematics of the original PC and you will
-the upper bits are kept in external latches that are enabled whenever
-the DMA is too. Very kludgy.
+<!--
+<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN" [
+
+<!ENTITY % authors SYSTEM "authors.sgml">
+%authors;
+
+]>
+-->
+ <sect><heading>DMA: What it is and how it works<label id="dma"></heading>
+
+ <p><em>Copyright &copy; 1995 &a.uhclem;, All Rights Reserved.<newline>
+ 18 October 1995.</em>
+
+<!-- Version 1(2) -->
+
+ Direct Memory Access (DMA) is a method of allowing data to
+ be moved from one location to another in a computer without
+ intervention from the central processor (CPU).
+
+ The way that the DMA function is implemented varies between
+ computer architectures, so this discussion will limit
+ itself to the implementation and workings of the DMA
+ subsystem on the IBM Personal Computer (PC), the IBM PC/AT
+ and all of its successors and clones.
+
+ The PC DMA subsystem is based on the Intel 8237 DMA
+ controller. The 8237 contains four DMA channels that can
+ be programmed independently and any of the channels may be
+ active at any moment. These channels are numbered 0, 1, 2
+ and 3. Starting with the PC/AT, IBM added a second 8237
+ chip, and numbered those channels 4, 5, 6 and 7.
+
+ The original DMA controller (0, 1, 2 and 3) moves one byte
+ in each transfer. The second DMA controller (4, 5, 6, and
+ 7) moves 16-bits in each transfer. The two controllers are
+ identical and the difference in transfer size is caused by
+ the way the second controller is wired into the system.
+
+ The 8237 has two electrical signals for each channel, named
+ DRQ and -DACK. There are additional signals with the
+ names HRQ (Hold Request), HLDA (Hold Acknowledge), -EOP
+ (End of Process), and the bus control signals -MEMR (Memory
+ Read), -MEMW (Memory Write), -IOR (I/O Read), and -IOW (I/O
+ Write).
+
+ The 8237 DMA is known as a ``fly-by'' DMA controller. This
+ means that the data being moved from one location to
+ another does not pass through the DMA chip and is not
+ stored in the DMA chip. Subsequently, the DMA can only
+ transfer data between an I/O port and a memory address, but
+ not between two I/O ports or two memory locations.
+
+ <quote><em>Note:</em> The 8237 does allow two channels to
+ be connected together to allow memory-to-memory DMA
+ operations in a non-``fly-by'' mode, but nobody in the PC
+ industry uses this scarce resource this way since it is
+ faster to move data between memory locations using the
+ CPU.</quote>
+
+ In the PC architecture, each DMA channel is normally
+ activated only when the hardware that uses that DMA
+ requests a transfer by asserting the DRQ line for that
+ channel.
+
+
+ <sect1><heading>A Sample DMA transfer</heading>
+
+ <p>Here is an example of the steps that occur to cause a
+ DMA transfer. In this example, the floppy disk
+ controller (FDC) has just read a byte from a diskette and
+ wants the DMA to place it in memory at location
+ 0x00123456. The process begins by the FDC asserting the
+ DRQ2 signal to alert the DMA controller.
+
+ The DMA controller will note that the DRQ2 signal is asserted.
+ The DMA controller will then make sure that DMA channel 2
+ has been programmed and is enabled. The DMA controller
+ also makes sure that none of the other DMA channels are active
+ or have a higher priority. Once these checks are
+ complete, the DMA asks the CPU to release the bus so that
+ the DMA may use the bus. The DMA requests the bus by
+ asserting the HRQ signal which goes to the CPU.
+
+ The CPU detects the HRQ signal, and will complete
+ executing the current instruction. Once the processor
+ has reached a state where it can release the bus, it
+ will. Now all of the signals normally generated by the
+ CPU (-MEMR, -MEMW, -IOR, -IOW and a few others) are
+ placed in a tri-stated condition (neither high or low)
+ and then the CPU asserts the HLDA signal which tells the
+ DMA controller that it is now in charge of the bus.
+
+ Depending on the processor, the CPU may be able to
+ execute a few additional instructions now that it no
+ longer has the bus, but the CPU will eventually have to
+ wait when it reaches an instruction that must read
+ something from memory that is not in the internal
+ processor cache or pipeline.
+
+ Now that the DMA ``is in charge'', the DMA activates its
+ -MEMR, -MEMW, -IOR, -IOW output signals, and the address
+ outputs from the DMA are set to 0x3456, which will be
+ used to direct the byte that is about to transferred to a
+ specific memory location.
+
+ The DMA will then let the device that requested the DMA
+ transfer know that the transfer is commencing. This is
+ done by asserting the -DACK signal, or in the case of the
+ floppy disk controller, -DACK2 is asserted.
+
+ The floppy disk controller is now responsible for placing
+ the byte to be transferred on the bus Data lines. Unless
+ the floppy controller needs more time to get the data
+ byte on the bus (and if the peripheral needs more time it
+ alerts the DMA via the READY signal), the DMA will wait
+ one DMA clock, and then de-assert the -MEMW and -IOR
+ signals so that the memory will latch and store the byte
+ that was on the bus, and the FDC will know that the byte
+ has been transferred.
+
+ Since the DMA cycle only transfers a single byte at a
+ time, the FDC now drops the DRQ2 signal, so that the DMA
+ knows it is no longer needed. The DMA will de-assert the
+ -DACK2 signal, so that the FDC knows it must stop placing
+ data on the bus.
+
+ The DMA will now check to see if any of the other DMA
+ channels have any work to do. If none of the channels
+ have their DRQ lines asserted, the DMA controller has
+ completed its work and will now tri-state the -MEMR,
+ -MEMW, -IOR, -IOW and address signals.
+
+ Finally, the DMA will de-assert the HRQ signal. The CPU
+ sees this, and de-asserts the HOLDA signal. Now the CPU
+ activates its -MEMR, -MEMW, -IOR, -IOW and address lines,
+ and it resumes executing instructions and accessing main
+ memory and the peripherals.
+
+ For a typical floppy disk sector, the above process is
+ repeated 512 times, once for each byte. Each time a byte
+ is transferred, the address register in the DMA is
+ incremented and the counter that shows how many bytes are
+ to be transferred is decremented.
+
+ When the counter reaches zero, the DMA asserts the EOP
+ signal, which indicates that the counter has reached zero
+ and no more data will be transferred until the DMA
+ controller is reprogrammed by the CPU. This event is
+ also called the Terminal Count (TC). There is only one
+ EOP signal, because only one DMA channel can be active at
+ any instant.
+
+ If a peripheral wants to generate an interrupt when the
+ transfer of a buffer is complete, it can test for its
+ -DACK signal and the EOP signal both being asserted at
+ the same time. When that happens, it means the DMA won't
+ transfer any more information for that peripheral without
+ intervention by the CPU. The peripheral can then assert
+ one of the interrupt signals to get the processors'
+ attention. The DMA chip itself is not capable of
+ generating an interrupt. The peripheral and its
+ associated hardware is responsible for generating any
+ interrupt that occurs.
+
+ It is important to understand that although the CPU
+ always releases the bus to the DMA when the DMA makes the
+ request, this action is invisible to both applications
+ and the operating systems, except for slight changes in
+ the amount of time the processor takes to execute
+ instructions when the DMA is active. Subsequently, the
+ processor must poll the peripheral, poll the registers in
+ the DMA chip, or receive an interrupt from the peripheral
+ to know for certain when a DMA transfer has completed.
+
+
+<sect1><heading>DMA Page Registers and 16Meg address space limitations</heading>
+
+ <p>You may have noticed earlier that instead of the DMA
+ setting the address lines to 0x00123456 as we said
+ earlier, the DMA only set 0x3456. The reason for this
+ takes a bit of explaining.
+
+ When the original IBM PC was designed, IBM elected to use
+ both DMA and interrupt controller chips that were
+ designed for use with the 8085, an 8-bit processor with
+ an address space of 16 bits (64K). Since the IBM PC
+ supported more than 64K of memory, something had to be
+ done to allow the DMA to read or write memory locations
+ above the 64K mark. What IBM did to solve this problem
+ was to add a latch for each DMA channel, that holds the
+ upper bits of the address to be read to or written from.
+ Whenever a DMA channel is active, the contents of that
+ latch is written to the address bus and kept there until
+ the DMA operation for the channel ends. These latches
+ are called ``Page Registers''.
+
+ So for our example above, the DMA would put the 0x3456
+ part of the address on the bus, and the Page Register for
+ DMA channel 2 would put 0x0012xxxx on the bus. Together,
+ these two values form the complete address in memory that
+ is to be accessed.
+
+ Because the Page Register latch is independent of the DMA
+ chip, the area of memory to be read or written must not
+ span a 64K physical boundary. If the DMA accesses memory
+ location 0xffff, the DMA will then increment the address
+ register and it will access the next byte at 0x0000, not
+ 0x10000. The results of letting this happen are probably not intended.
+
+ <quote><em>Note:</em> ``Physical'' 64K boundaries should
+ not be confused with 8086-mode 64K ``Segments'', which
+ are created by adding a segment register with an offset
+ register. Page Registers have no address overlap.</quote>
+
+ To further complicate matters, the external DMA address
+ latches on the PC/AT hold only eight bits, so that gives
+ us 8+16=24 bits, which means that the DMA can only point
+ at memory locations between 0 and 16Meg. For newer
+ computers that allow more than 16Meg of memory, the
+ PC-compatible DMA cannot access locations above 16Meg.
+
+ To get around this restriction, operating systems will
+ reserve a buffer in an area below 16Meg that also doesn't
+ span a physical 64K boundary. Then the DMA will be
+ programmed to read data to that buffer. Once the DMA has
+ moved the data into this buffer, the operating system
+ will then copy the data from the buffer to the address
+ where the data is really supposed to be stored.
+
+ When writing data from an address above 16Meg to a
+ DMA-based peripheral, the data must be first copied from
+ where it resides into a buffer located below 16Meg, and
+ then the DMA can copy the data from the buffer to the
+ hardware. In FreeBSD, these reserved buffers are called
+ ``Bounce Buffers''. In the MS-DOS world, they are
+ sometimes called ``Smart Buffers''.
+
+
+ <sect1><heading>DMA Operational Modes and Settings</heading>
+
+ <p>The 8237 DMA can be operated in several modes. The main
+ ones are:
+
+<descrip>
+
+ <tag/Single/ A single byte (or word) is transferred.
+ The DMA must release and re-acquire the bus for each
+ additional byte. This is commonly-used by devices
+ that cannot transfer the entire block of data
+ immediately. The peripheral will request the DMA
+ each time it is ready for another transfer.
+
+ The floppy disk controller only has a one-byte
+ buffer, so it uses this mode.
+
+
+ <tag>Block/Demand</tag> Once the DMA acquires the
+ system bus, an entire block of data is transferred,
+ up to a maximum of 64K. If the peripheral needs
+ additional time, it can assert the READY signal.
+ READY should not be used excessively, and for slow
+ peripheral transfers, the Single Transfer Mode should
+ be used instead.
+
+ The difference between Block and Demand is the once a
+ Block transfer is started, it runs until the transfer
+ count reaches zero. DRQ only needs to be asserted
+ until -DACK is asserted. Demand Mode will transfer
+ one more bytes until DRQ is de-asserted, then when
+ DRQ is asserted later, the transfer resumes where it
+ was suspended.
+
+ Older hard disk controllers used Demand Mode until
+ CPU speeds increased to the point that it was more
+ efficient to read the data using the CPU.
+
+
+ <tag>Cascade</tag> This mechanism allows a DMA channel
+ to request the bus, but then the attached peripheral
+ device is responsible for placing addressing
+ information on the bus. This is also known as ``Bus
+ Mastering''.
+
+ When a DMA channel in Cascade Mode receives control
+ of the bus, the DMA does not place addresses and I/O
+ control signals on the bus like it normally does.
+ Instead, the DMA only asserts the -DACK signal for
+ this channel.
+
+ Now it is up to the device connected to that DMA
+ channel to provide address and bus control signals.
+ The peripheral has complete control over the system
+ bus, and can do reads and/or writes to any address
+ below 16Meg. When the peripheral is finished with
+ bus, it de-asserts the DRQ line, and the DMA
+ controller can return control to the CPU or to some
+ other DMA channel.
+
+ Cascade Mode can be used to chain multiple DMA
+ controllers together, and this is exactly what DMA
+ Channel 4 is used for in the PC. When a peripheral
+ requests the bus on DMA channels 0, 1, 2 or 3, the
+ slave DMA controller asserts HLDREQ, but this wire is
+ actually connected to DRQ4 on the primary DMA
+ controller. The primary DMA controller then requests
+ the bus from the CPU using HLDREQ. Once the bus is
+ granted, -DACK4 is asserted, and that wire is
+ actually connected to the HLDA signal on the slave
+ DMA controller. The slave DMA controller then
+ transfers data for the DMA channel that requested it,
+ or the slave DMA may grant the bus to a peripheral
+ that wants to perform its own bus-mastering.
+
+ Because of this wiring arrangement, only DMA channels
+ 0, 1, 2, 3, 5, 6 and 7 are usable on PC/AT systems.
+
+ <quote><em>Note:</em> DMA channel 0 was reserved for
+ refresh operations in early IBM PC computers, but
+ is generally available for use by peripherals in
+ modern systems.</quote>
+
+ When a peripheral is performing Bus Mastering, it is
+ important that the peripheral transmit data to or
+ from memory constantly while it holds the system bus.
+ If the peripheral cannot do this, it must release the
+ bus frequently so that the system can perform refresh
+ operations on memory.
+
+ Since memory read and write cycles ``count'' as refresh
+ cycles (a refresh cycle is actually an incomplete
+ memory read cycle), as long as the peripheral
+ controller continues reading or writing data to
+ sequential memory locations, that action will refresh
+ all of memory.
+
+ Bus-mastering is found in some SCSI adapters and
+ other high-performance peripheral cards.
+
+
+ <tag>Autoinitialize</tag> This mode causes the DMA to
+ perform Byte, Block or Demand transfers, but when the
+ DMA transfer counter reaches zero, the counter and
+ address is set back to where they were when the DMA
+ channel was originally programmed. This means that
+ as long as the device requests transfers, they will
+ be granted. It is up to the CPU to move new data
+ into the fixed buffer ahead of where the DMA is about
+ to transfer it for output operations, and read new
+ data out of the buffer behind where the DMA is
+ writing on input operations. This technique is
+ frequently used on audio devices that have small or
+ no hardware ``sample'' buffers. There is additional
+ CPU overhead to manage this ``circular'' buffer, but in
+ some cases this may be the only way to eliminate the
+ latency that occurs when the DMA counter reaches zero
+ and the DMA stops until it is reprogrammed.
+ </descrip>
+
+ <sect1><heading>Programming the DMA</heading>
+
+ <p>The DMA channel that is to be programmed should always
+ be ``masked'' before loading any settings. This is because
+ the hardware might assert DRQ, and the DMA might respond,
+ even though not all of the parameters have been loaded or
+ updated.
+
+ Once masked, the host must specify the direction of the
+ transfer (memory-to-I/O or I/O-to-memory), what mode of
+ DMA operation is to be used for the transfer (Single,
+ Block, Demand, Cascade, etc), and finally the address and
+ length of the transfer are loaded. The length that is
+ loaded is one less than the amount you expect the DMA to
+ transfer. The LSB and MSB of the address and length are
+ written to the same 8-bit I/O port, so another port must
+ be written to first to guarantee that the DMA accepts the
+ first byte as the LSB and the second byte as the MSB.
+
+ Then, be sure to update the Page Register, which is
+ external to the DMA and is accessed through a different
+ set of I/O ports.
+
+ Once all the settings are ready, the DMA channel can be
+ un-masked. That DMA channel is now considered to be
+ ``armed'', and will respond when DRQ is asserted.
+
+ Refer to a hardware databook for precise programming
+ details for the 8237. You will also need to refer to the
+ I/O port map for the PC system. This map describes where
+ the DMA and Page Register ports are located. A complete
+ table is located below.
+
+
+ <sect1><heading>DMA Port Map</heading>
+
+ <p>All systems based on the IBM-PC and PC/AT have the DMA
+ hardware located at the same I/O ports. The complete
+ list is provided below. Ports assigned to DMA Controller
+ &num;2 are undefined on non-AT designs.
+
+<sect2><heading>0x00 - 0x1f DMA Controller &num;1 (Channels 0, 1, 2 and 3)</heading>
+
+<p>DMA Address and Count Registers
+
+<verb>
+0x00 write Channel 0 starting address
+0x00 read Channel 0 current address
+0x02 write Channel 0 starting word count
+0x02 read Channel 0 remaining word count
+
+0x04 write Channel 1 starting address
+0x04 read Channel 1 current address
+0x06 write Channel 1 starting word count
+0x06 read Channel 1 remaining word count
+
+0x08 write Channel 2 starting address
+0x08 read Channel 2 current address
+0x0a write Channel 2 starting word count
+0x0a read Channel 2 remaining word count
+
+0x0c write Channel 3 starting address
+0x0c read Channel 3 current address
+0x0e write Channel 3 starting word count
+0x0e read Channel 3 remaining word count
+</verb>
+
+DMA Command Registers
+
+<verb>
+0x10 write Command Register
+0x10 read Status Register
+0x12 write Request Register
+0x12 read -
+0x14 write Single Mask Register Bit
+0x14 read -
+0x16 write Mode Register
+0x16 read -
+0x18 write Clear LSB/MSB Flip-Flop
+0x18 read -
+0x1a write Master Clear/Reset
+0x1a read Temporary Register
+0x1c write Clear Mask Register
+0x1c read -
+0x1e write Write All Mask Register Bits
+0x1e read -
+</verb>
+
+<sect2><heading>0xc0 - 0xdf DMA Controller &num;2 (Channels 4, 5, 6 and 7)</heading>
+
+<p>DMA Address and Count Registers
+
+<verb>
+0xc0 write Channel 4 starting address
+0xc0 read Channel 4 current address
+0xc2 write Channel 4 starting word count
+0xc2 read Channel 4 remaining word count
+
+0xc4 write Channel 5 starting address
+0xc4 read Channel 5 current address
+0xc6 write Channel 5 starting word count
+0xc6 read Channel 5 remaining word count
+
+0xc8 write Channel 6 starting address
+0xc8 read Channel 6 current address
+0xca write Channel 6 starting word count
+0xca read Channel 6 remaining word count
+
+0xcc write Channel 7 starting address
+0xcc read Channel 7 current address
+0xce write Channel 7 starting word count
+0xce read Channel 7 remaining word count
+</verb>
+
+DMA Command Registers
+
+<verb>
+0xd0 write Command Register
+0xd0 read Status Register
+0xd2 write Request Register
+0xd2 read -
+0xd4 write Single Mask Register Bit
+0xd4 read -
+0xd6 write Mode Register
+0xd6 read -
+0xd8 write Clear LSB/MSB Flip-Flop
+0xd8 read -
+0xda write Master Clear/Reset
+0xda read Temporary Register
+0xdc write Clear Mask Register
+0xdc read -
+0xde write Write All Mask Register Bits
+0xde read -
+</verb>
+
+<sect2><heading>0x80 - 0x9f DMA Page Registers</heading>
+
+<p><verb>
+0x87 r/w DMA Channel 0
+0x83 r/w DMA Channel 1
+0x81 r/w DMA Channel 2
+0x82 r/w DMA Channel 3
+
+0x8b r/w DMA Channel 5
+0x89 r/w DMA Channel 6
+0x8a r/w DMA Channel 7
+
+0x8f Refresh
+</verb>
diff --git a/handbook/eresources.sgml b/handbook/eresources.sgml
index c5bc6429a8..f83e4be3d7 100644
--- a/handbook/eresources.sgml
+++ b/handbook/eresources.sgml
@@ -1,4 +1,4 @@
-<!-- $Id: eresources.sgml,v 1.14 1995-10-07 04:31:17 jfieber Exp $ -->
+<!-- $Id: eresources.sgml,v 1.15 1995-11-20 01:10:16 jfieber Exp $ -->
<!-- The FreeBSD Documentation Project -->
<chapt>
@@ -34,7 +34,7 @@ keep the signal to noise ratio of the lists high, especially in
the technical lists.
Archives are kept for all of the mailing lists and can be searched
-using the the <url url="http://www.freebsd.org/How/mail-archive.html"
+using the the <url url="http://www.freebsd.org/"
name="FreeBSD World Wide Web server">. The keyword searchable archive
offers an excellent way to find answers to frequently asked questions
and should be consulted before posting a question.
diff --git a/handbook/handbook.sgml b/handbook/handbook.sgml
index 5f33593a99..2eabf37912 100644
--- a/handbook/handbook.sgml
+++ b/handbook/handbook.sgml
@@ -1,4 +1,4 @@
-<!-- $Id: handbook.sgml,v 1.33 1995-10-14 21:49:49 jfieber Exp $ -->
+<!-- $Id: handbook.sgml,v 1.34 1995-11-20 01:10:20 jfieber Exp $ -->
<!-- The FreeBSD Documentation Project -->
<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN" [
@@ -24,11 +24,11 @@
<author>
<name>The FreeBSD Documentation Project</name>
</author>
- <date>October 14, 1995</date>
+ <date>October 30, 1995</date>
<abstract>Welcome to FreeBSD! This handbook covers the
installation and day to day use of <bf>FreeBSD Release
-2.0.5</bf>.
+2.1</bf>.
This manual is a <bf>work in progress</bf> and is the
work of many individuals. Many sections do not yet exist
@@ -113,12 +113,6 @@ Web server">.
&slips;
<chapt><heading>Advanced networking</heading>
-<!--
- <sect><heading>Gateways and routing</heading>
- <p>This section is in progress. Please contact
- Coranth Gryphon <htmlurl url="mailto:gryphon@healer.com"
- name="&lt;gryphon@healer.com&gt;"> for more information.
--->
&routing;
&nfs;
&diskless;
diff --git a/handbook/install.sgml b/handbook/install.sgml
index a95e220b2c..0c4a5bbeb6 100644
--- a/handbook/install.sgml
+++ b/handbook/install.sgml
@@ -1,4 +1,4 @@
-<!-- $Id: install.sgml,v 1.15 1995-10-22 00:42:02 jfieber Exp $ -->
+<!-- $Id: install.sgml,v 1.16 1995-11-20 01:10:23 jfieber Exp $ -->
<!-- The FreeBSD Documentation Project -->
<!--
@@ -41,7 +41,7 @@
(IRQ) and IO port addresses. </item>
<item>Download the <url
- url="ftp://ftp.freebsd.org/pub/FreeBSD/2.0.5-RELEASE/UPDATES/boot.flp"
+ url="ftp://ftp.freebsd.org/pub/FreeBSD/2.1.0-RELEASE/floppies/boot.flp"
name="installation boot disk image"> file to your hard
drive, and be sure to tell your browser to
<em>save</em> rather than <em>display</em>.
@@ -54,8 +54,7 @@
<item>If you are using MS-DOS download
<url
url="ftp://ftp.freebsd.org/pub/FreeBSD/tools/dos-tools/rawrite.exe"
- name="rawrite.exe"> (tell your browser to <em>save</em> rather than
- <em>display</em>!), then run it:
+ name="rawrite.exe">, then run it:
<tscreen><verb>
C:\> rawrite
</verb></tscreen> The
@@ -66,12 +65,12 @@ C:\> rawrite
<item>If you are using a UNIX system:
<tscreen>
-% dd if=boot.flp of=<em>disk&lowbar;device</em> bs=18k
+% dd if=boot.flp of=<em>disk&lowbar;device</em>
</tscreen>
where <em>disk&lowbar;device</em> is the <tt>/dev</tt>
entry for the floppy drive. On FreeBSD systems, this
- is <tt>/dev/rfd0</tt> for the A: drive and
- <tt>/dev/rfd1</tt> for the B: drive.
+ is <tt>/dev/fd0</tt> for the A: drive and
+ <tt>/dev/fd1</tt> for the B: drive.
</item>
</itemize>
@@ -148,72 +147,6 @@ Boot:
name="Kernel configuration"> for more information on
creating custom kernels.
- <sect><heading>MS-DOS user's Questions and Answers</heading>
-
- <p>Many FreeBSD users wish to install FreeBSD on PCs inhabited
- by MS-DOS. Here are some commonly asked questions about
- installing FreeBSD on such systems.
-
- <p><bf>Help! I have no space! Do I need to delete
- everything first?</bf>
-
- If your machine is already running MS-DOS and has little
- or no free space available for FreeBSD's installation,
- all is not lost! You may find the FIPS utility, provided
- in the <tt>tools</tt> directory on the FreeBSD CDROM or
- on the various FreeBSD ftp sites, to be quite useful.
-
- FIPS allows you to split an existing MS-DOS partition
- into two pieces, preserving the original partition and
- allowing you to install onto the second free piece. You
- first defragment your MS-DOS partition, using the DOS
- 6.xx DEFRAG utility or the Norton Disk tools, then run
- FIPS. It will prompt you for the rest of the information
- it needs. Afterwards, you can reboot and install FreeBSD
- on the new free slice. See the <em>Distributions</em>
- menu for an estimation of how much free space you'll need
- for the kind of installation you want.
-
-
- <bf>Can I use compressed MS-DOS filesystems from
- FreeBSD?</bf>
-
- No. If you are using a utility such as Stacker(tm) or
- DoubleSpace(tm), FreeBSD will only be able to use
- whatever portion of the filesystem you leave
- uncompressed. The rest of the filesystem will show up as
- one large file (the stacked/dblspaced file!). <bf>Do not
- remove that file!</bf> You will probably regret it
- greatly!
-
- It is probably better to create another uncompressed
- MS-DOS primary partition and use this for communications
- between MS-DOS and FreeBSD.
-
-
- <bf>Can I mount my MS-DOS extended partitions?</bf>
-
- This feature isn't in FreeBSD 2.0.5 but should be in 2.1.
- We've laid all the groundwork for making this happen, now
- we just need to do the last 1 percent of the work involved.
-
-
- <bf>Can I run MS-DOS binaries under FreeBSD?</bf>
-
- Not yet! We'd like to add support for this someday, but
- are still lacking anyone to actually do the work.
- Ongoing work with Linux's DOSEMU utility may bring this
- much closer to being a reality sometime soon. Send mail
- to hackers@freebsd.org if you're interested in joining
- this effort!
-
- However, there's a nice application available in the
- <ref id="ports" name="The Ports Collection"> called pcemu,
- that allows you to run many basic MS-DOS text-mode binaries
- by entirely emulating an 8088 CPU.
-
-
-
<sect><heading>Supported Configurations<label id="install:hw"></heading>
<p>FreeBSD currently runs on a wide variety of ISA, VLB,
@@ -238,7 +171,6 @@ Boot:
<itemize>
<item>WD1003 (any generic MFM/RLL)
<item>WD1007 (any generic IDE/ESDI)
- <item>WD7000
<item>IDE
<item>ATA
@@ -246,7 +178,7 @@ Boot:
<item>Adaptec 154x series ISA SCSI controllers
<item>Adaptec 174x series EISA SCSI controller in
standard and enhanced mode.
- <item>Adaptec 274X/284X/2940 <!-- 3940 (in 2.1) -->
+ <item>Adaptec 274x/284x/2940/3940
(Narrow/Wide/Twin)
series EISA/VLB/PCI SCSI controllers
<item>Adaptec
@@ -275,7 +207,7 @@ Boot:
<item>Buslogic 956c PCI SCSI controller
<item>NCR 53C810 and 53C825 PCI SCSI controller.
- <item>NCR5380/NCR53400 ("ProAudio Spectrum") SCSI controller.
+ <item>NCR5380/NCR53400 (``ProAudio Spectrum'') SCSI controller.
<item>DTC 3290 EISA SCSI controller in 1542 emulation mode.
@@ -284,6 +216,9 @@ Boot:
<item>Seagate ST01/02 SCSI controllers.
<item>Future Domain 8xx/950 series SCSI controllers.
+
+ <item>WD7000 SCSI controllers.
+
</itemize>
With all supported SCSI controllers, full support is
@@ -295,39 +230,23 @@ Boot:
time:
<itemize>
- <item>Soundblaster SCSI and ProAudio Spectrum SCSI (cd)
- <item>Mitsumi (all models) proprietary interface (mcd)
+ <item>Soundblaster SCSI and ProAudio Spectrum SCSI (<tt>cd</tt>)
+ <item>Mitsumi (all models) proprietary interface (<tt>mcd</tt>)
<item>Matsushita/Panasonic (Creative)
- CR-562/CR-563 proprietary interface (matcd)
- <item>Sony proprietary interface (scd)
+ CR-562/CR-563 proprietary interface (<tt>matcd</tt>)
+ <item>Sony proprietary interface (<tt>scd</tt>)
+ <item>ATAPI IDE interface
+ (experimental and should be considered ALPHA quality!)
+ (<tt>wcd</tt>)
</itemize>
- <bf>Note:</bf> CD-Drives with IDE interfaces are not
- supported at this time.
-
- Some controllers have limitations with the way they
- deal with &gt;16MB of memory, due to the fact that the
- ISA bus only has a DMA address space of 24 bits. If
- you do your arithmetic, you'll see that this makes it
- impossible to do direct DMA to any address &gt;16MB.
- This limitation is even true of some EISA controllers
- (which are normally 32 bit) when they're configured to
- emulate an ISA card, which they then do in *all*
- respects. This problem is avoided entirely by IDE
- controllers (which do not use DMA), true EISA
- controllers (like the UltraStor, Adaptec 1742A or
- Adaptec 2742) and most VLB (local bus) controllers. In
- the cases where it's necessary, the system will use
- "bounce buffers" to talk to the controller so that you
- can still use more than 16Mb of memory without
- difficulty.
-
-
<sect1><heading>Ethernet cards</heading>
<p>
<itemize>
+ <item>Allied-Telesis AT1700 and RE2000 cards
+
<item>SMC Elite 16 WD8013 ethernet interface, and
most other WD8003E, WD8003EBT, WD8003W, WD8013W,
WD8003S, WD8003SBT and WD8013EBT based clones. SMC
@@ -338,7 +257,7 @@ Boot:
<item>DEC DC21140 based NICs (SMC???? DE???)
<item>DEC FDDI (DEFPA/DEFEA) NICs
- <item>Fujitsu MB86960A family of NICs
+ <item>Fujitsu FMV-181 and FMV-182
<item>Intel EtherExpress
@@ -363,6 +282,10 @@ Boot:
Semiconductor are also supported.
</itemize>
+ <p><em>Note:</em> FreeBSD does not currently suppport
+ PnP (plug-n-play) features present on some ethernet
+ cards. If your card has PnP, it should be disabled.
+
<sect1><heading>Miscellaneous devices</heading>
<p>
@@ -387,7 +310,7 @@ Boot:
</itemize>
- FreeBSD currently does NOT support IBM's microchannel
+ FreeBSD currently does not support IBM's microchannel
(MCA) bus, but support is apparently close to
materializing. Details will be posted as the situation
develops.
@@ -401,47 +324,78 @@ Boot:
<sect1><heading>Before installing from CDROM</heading>
<p>If your CDROM is of an unsupported type, such as an
- IDE CDROM, then please skip to section 2.3: MS-DOS
- Preparation.
+ IDE CDROM, then please skip to <ref id="install:msdos"
+ name="MS-DOS Preparation">.
There is not a lot of preparatory work that needs to be
done to successfully install from one of Walnut Creek's
FreeBSD CDROMs (other CDROM distributions may work as
- well, but I can't say for sure as I have no hand or say
- in their creation). You can either boot into the CD
- installation directly from MS-DOS using Walnut Creek's
- supplied "install" batch file or you can make a boot
- floppy by writing the supplied image
- (floppies/boot.flp) onto a floppy with the "go"
- command, which invokes the rawrite.exe command found in
- the tools/ subdirectory.
-
- If you're creating the boot floppy from a UNIX machine,
- you may find that ``dd if=floppies/boot.flp
- of=/dev/rfd0'' or ``dd if=floppies/boot.flp
- of=/dev/floppy'' works well, depending on your hardware
- and operating system environment.
-
- Once you've booted from MS-DOS or floppy, you should be
- able to select CDROM as the media type in the Media
+ well, we simply cannot say as we have no hand or say in
+ their creation). You can either boot into the CD
+ installation directly from DOS using Walnut Creek's
+ supplied ``install.bat'' batch file or you can make a
+ boot floppy with the ``makeflp.bat'' command.
+
+ For the easiest interface of all (from DOS), type
+ ``view''. This will bring up a DOS menu utility that
+ leads you through all the available options.
+
+ If you are creating the boot floppy from a UNIX machine,
+ see <ref id="install" name="the beginning of this
+ guide"> for examples. of how to create the boot floppy.
+
+ Once you have booted from DOS or floppy, you should then
+ be able to select CDROM as the media type in the Media
menu and load the entire distribution from CDROM. No
other types of installation media should be required.
After your system is fully installed and you have
rebooted from the hard disk, you should find the CD
- mounted on the directory /cdrom. A utility called
- `lndir' comes with the XFree86 distribution which you
- may also find useful: It allows you to create "link
- tree" directories to things on Read-Only media like
- CDROM. One example might be something like this:
- <tscreen>mkdir /usr/ports<newline>lndir /cdrom/ports
- /usr/ports</tscreen>
+ mounted on the directory <bf>/cdrom</bf>. A utility
+ called `lndir' comes with the XFree86 distribution
+ which you may also find useful: It allows you to create
+ "link tree" directories to things on Read-Only media
+ like CDROM. One example might be something like this:
- Which would allow you to then "cd /usr/ports; make" and
- get all the sources from the CD, but yet create all the
- intermediate files in /usr/ports, which is presumably
- on a more writable media!
+<tscreen><verb>
+mkdir /usr/ports
+lndir /cdrom/ports /usr/ports
+</verb></tscreen>
+ Which would allow you to then ``cd /usr/ports; make''
+ and get all the sources from the CD, but yet create all
+ the intermediate files in <bf>/usr/ports</bf>, which is
+ presumably on a more writable media.
+
+ This is, in fact, what the Ports entry in the
+ Configuration menu does at installation time if you
+ select it.
+
+ <quote><bf>Special note:</bf> Before invoking the
+ installation, be sure that the CDROM is in the drive
+ so that the install probe can find it. This is also
+ true if you wish the CDROM to be added to the default
+ system configuration automatically during the install
+ (whether or not you actually use it as the
+ installation media). <!-- XXX This will be fixed for
+ 2.1, but for now this simple work-around will ensure
+ that your CDROM is detected properly. --></quote>
+
+ Finally, if you would like people to be able to FTP
+ install FreeBSD directly from the CDROM in your
+ machine, you will find it quite easy. After the machine
+ is fully installed, you simply need to add the
+ following line to the password file (using the vipw
+ command):
+
+<tscreen><verb>
+ftp:*:99:99::0:0:FTP:/cdrom:/nonexistent
+</verb></tscreen>
+
+ No further work is necessary. The other installers
+ will now be able to chose a Media type of FTP and type
+ in: <tt>ftp://<em>your machine</em></tt> after picking ``Other''
+ in the ftp sites menu.
<sect1><heading>Before installing from Floppy</heading>
@@ -450,44 +404,46 @@ Boot:
things the hard way, you must first prepare some
floppies for the install.
- The first floppy you'll need is ``floppies/root.flp'',
- which is somewhat special in that it's not a MS-DOS
- filesystem floppy at all, but rather an "image" floppy
- (it's actually a gzip'd cpio file). You can use the
- rawrite.exe program to do this under DOS, or ``dd'' to
- do it on a UNIX Workstation (see notes in section 2.1
- concerning the ``floppies/boot.flp'' image). Once this
- floppy is made, put it aside. You'll be asked for it
- later.
-
- You will also need, at minimum, as many 1.44MB or 1.2MB
+ The first floppy you will need is ``floppies/root.flp'',
+ which is somewhat special in that it is not a DOS
+ filesystem floppy at all, but rather an ``image''
+ floppy (it is actually a gzip'd cpio file). You can use
+ the rawrite.exe program to do this under DOS, or dd to
+ do it on a UNIX Workstation. See <ref id="install"
+ name="the beginning of this guide"> for examples. of
+ how to create the boot floppy. Once this floppy is
+ made, go on to make the distribution set floppies:
+
+ You will need, at minimum, as many 1.44MB or 1.2MB
floppies as it takes to hold all files in the bin
- (binary distribution) directory. THESE floppies <bf>must</bf>
- be formatted using MS-DOS, using with the FORMAT
- command in MS-DOS or the File Manager format command in
- Microsoft Windows(tm). Factory preformatted floppies
- will also work well, provided that they haven't been
- previously used for something else. Note that only media
- without any defects are usable for these floppies; there
- is no kind of bad sector remapping available for them.
+ (binary distribution) directory. These floppies
+ <em>must</em> be formatted using MS-DOS, using the
+ FORMAT command in MS-DOS or the File Manager format
+ command in Microsoft Windows(tm). Do <em>not</em>
+ trust Factory Preformatted floppies. Format them again
+ yourself, just to make sure.
Many problems reported by our users in the past have
resulted from the use of improperly formatted media, so
we simply take special care to mention it here!
- After you've MS-DOS formatted the floppies, you'll need
- to copy the files onto them. The distribution files
- are split into chunks conveniently sized so that 5 of
- them will fit on a conventional 1.44MB floppy. Go
+ After you have DOS formatted the floppies, you will
+ need to copy the files onto them. The distribution
+ files are split into chunks conveniently sized so that
+ 5 of them will fit on a conventional 1.44MB floppy. Go
through all your floppies, packing as many files as
- will fit on each one, until you've got all the
- distributions you want packed up in this fashion.
- Select ``Floppy'' from the Media menu at installation
- time and you will be prompted for everything after
- that.
+ will fit on each one, until you have got all the
+ distributions you want packed up in this fashion. Each
+ distribution should go into a subdirectory on the
+ floppy, e.g.: <bf>a:&bsol;bin&bsol;bin.aa</bf>,
+ <bf>a:&bsol;bin&bsol;bin.ab</bf>, and so on.
+
+ Once you come to the Media screen of the install,
+ select ``Floppy'' and you will be prompted for the rest.
+
- <sect1><heading>Before installing from a MS-DOS partition</heading>
+ <sect1><heading>Before installing from a MS-DOS partition<label id="install:msdos"></heading>
<p>To prepare for installation from an MS-DOS partition,
copy the files from the distribution into a directory
@@ -498,8 +454,8 @@ Boot:
FreeBSD:
<tscreen><verb>
C> MD C:\FREEBSD
-C> XCOPY /S E:\FLOPPIES C:\FREEBSD\FLOPPIES\
C> XCOPY /S E:\DISTS\BIN C:\FREEBSD\BIN\
+C> XCOPY /S E:\FLOPPIES C:\FREEBSD\FLOPPIES\
</verb></tscreen>
assuming that <tt>C:</tt> is where you have free space
and <tt>E:</tt> is where your CDROM is mounted. Note
@@ -525,26 +481,31 @@ C> XCOPY /S E:\DISTS C:\FREEBSD\
short of an on-line install using FTP or a CDROM
install. The installation program expects the files to
be simply tar'ed onto the tape, so after getting all of
- the files for distribution you're interested in, simply
+ the files for distribution you are interested in, simply
tar them onto the tape with a command like:
<tscreen>
- cd /freebsd/distdir<newline>
- tar cvf /dev/rwt0 (or /dev/rst0) dist1 .. dist2
- </tscreen>
+cd /freebsd/distdir<newline>
+tar cvf /dev/rwt0 (or /dev/rst0) dist1 .. dist2
+</tscreen>
Make sure that the `floppies/' directory is one of the
- "dists" given above, since the installation will look
+ ``dists'' given above, since the installation will look
for `floppies/root.flp' on the tape.
When you go to do the installation, you should also
make sure that you leave enough room in some temporary
- directory (which you'll be allowed to choose) to
- accommodate the FULL contents of the tape you've
+ directory (which you will be allowed to choose) to
+ accommodate the <bf>full</bf> contents of the tape you have
created. Due to the non-random access nature of tapes,
this method of installation requires quite a bit of
- temporary storage! You should expect to require as
+ temporary storage. You should expect to require as
much temporary storage as you have stuff written on
tape.
+ <quote><bf>Note:</bf> When going to do the
+ installation, the tape must be in the drive
+ <em>before</em> booting from the boot floppy. The
+ installation probe may otherwise fail to find it.</quote>
+
<sect1><heading>Before installing over a network</heading>
@@ -557,68 +518,69 @@ C> XCOPY /S E:\DISTS C:\FREEBSD\
standard ethernet controller (includes some PCMCIA).
</descrip>
- SLIP support is rather primitive, and limited primarily
- to hard-wired links, such as a serial cable running
- between a laptop computer and another computer. The link
- should be hard-wired as the SLIP installation doesn't
- currently offer a dialing capability; that facility is
- provided with the PPP utility, which should be used in
- preference to SLIP whenever possible.
-
- If you're using a modem, then PPP is almost certainly
- your only choice. Make sure that you have your service
- provider's information handy as you'll need to know it
- fairly soon in the installation process. You will need
- to know, at the minimum, your service provider's IP
- address and possibly your own (though you can also leave
- it blank and allow PPP to negotiate it with your ISP).
- You also need to know how to use the various "AT
- commands" to dial the ISP with your particular modem as
- the PPP dialer provides only a very simple terminal
- emulator.
-
- If a hard-wired connection to another FreeBSD (2.0R or
- later) machine is available, you might also consider
- installing over a "laplink" parallel port cable. The
- data rate over the parallel port is much higher than is
- what's typically possible over a serial line (up to
- 50k/sec), thus resulting in a quicker installation.
-
- Finally, for the fastest possible network installation,
- an ethernet adaptor is always a good choice! FreeBSD
- supports most common PC ethernet cards, a table of
- supported cards (and their required settings) provided as
- part of the FreeBSD Hardware Guide - see the
- Documentation menu on the boot floppy. If you are using
- one of the supported PCMCIA ethernet cards, also be sure
- that it's plugged in _before_ the laptop is powered on!
- FreeBSD does not, unfortunately, currently support "hot
- insertion" of PCMCIA cards.
-
- You will also need to know your IP address on the
- network, the "netmask" value for your address class and
- the name of your machine. Your system administrator can
- tell you which values to use for your particular network
- setup. If you will be referring to other hosts by name
- rather than IP address, you'll also need a name server
- and possibly the address of a gateway (if you're using
- PPP, it's your provider's IP address) to use in talking
- to it. If you do not know the answers to all or most of
- these questions, then you should really probably talk to
- your system administrator _first_ before trying this type
- of installation!
-
- Once you have a network link of some sort working, the
- installation can continue over NFS or FTP.
+ SLIP support is rather primitive, and limited primarily
+ to hard-wired links, such as a serial cable running
+ between a laptop computer and another computer. The
+ link should be hard-wired as the SLIP installation
+ does not currently offer a dialing capability; that
+ facility is provided with the PPP utility, which should
+ be used in preference to SLIP whenever possible.
+
+ If you are using a modem, then PPP is almost certainly
+ your only choice. Make sure that you have your service
+ provider's information handy as you will need to know it
+ fairly soon in the installation process. You will need
+ to know, at the minimum, your service provider's IP
+ address and possibly your own (though you can also
+ leave it blank and allow PPP to negotiate it with your
+ ISP). You also need to know how to use the various ``AT
+ commands'' to dial the ISP with your particular modem as
+ the PPP dialer provides only a very simple terminal
+ emulator.
+
+ If a hard-wired connection to another FreeBSD (2.0R or
+ later) machine is available, you might also consider
+ installing over a ``laplink'' parallel port cable. The
+ data rate over the parallel port is much higher than
+ what is typically possible over a serial line (up to
+ 50k/sec), thus resulting in a quicker installation.
+
+ Finally, for the fastest possible network installation,
+ an ethernet adaptor is always a good choice! FreeBSD
+ supports most common PC ethernet cards, a table of
+ supported cards (and their required settings) is
+ provided in <ref id="install:hw" name="Supported
+ Hardware">. If you are using one of the supported
+ PCMCIA ethernet cards, also be sure that it is plugged
+ in <em>before</em> the laptop is powered on! FreeBSD
+ does not, unfortunately, currently support hot
+ insertion of PCMCIA cards.
+
+ You will also need to know your IP address on the
+ network, the netmask value for your address class,
+ and the name of your machine. Your system
+ administrator can tell you which values to use for your
+ particular network setup. If you will be referring to
+ other hosts by name rather than IP address, you will also
+ need a name server and possibly the address of a
+ gateway (if you are using PPP, it is your provider's IP
+ address) to use in talking to it. If you do not know
+ the answers to all or most of these questions, then you
+ should really probably talk to your system
+ administrator <em>first</em> before trying this type of
+ installation.
+
+ Once you have a network link of some sort working, the
+ installation can continue over NFS or FTP.
<sect2><heading>Preparing for NFS installation</heading>
<p>NFS installation is fairly straight-forward: Simply
- copy the FreeBSD distribution files you're interested
- onto a server somewhere and then point the NFS media
+ copy the FreeBSD distribution files you want onto a
+ server somewhere and then point the NFS media
selection at it.
- If this server supports only "privileged port" access
+ If this server supports only ``privileged port'' access
(as is generally the default for Sun workstations),
you will need to set this option in the Options menu
before installation can proceed.
@@ -628,27 +590,26 @@ C> XCOPY /S E:\DISTS C:\FREEBSD\
wish to toggle the appropriate Options flag.
In order for NFS installation to work, the server
- must support "subdir mounts", e.g. if your FreeBSD
- 2.0.5 distribution directory lives on:
- ziggy:/usr/archive/stuff/FreeBSD Then ziggy will have
+ must support subdir mounts, e.g., if your FreeBSD
+ 2.1 distribution directory lives on:
+ <bf>ziggy:/usr/archive/stuff/FreeBSD</bf> Then ziggy will have
to allow the direct mounting of
- /usr/archive/stuff/FreeBSD, not just /usr or
- /usr/archive/stuff.
+ <bf>/usr/archive/stuff/FreeBSD</bf>, not just <bf>/usr</bf> or
+ <bf>/usr/archive/stuff</bf>.
- In FreeBSD's /etc/exports file, this is controlled by
- the ``-alldirs'' option. Other NFS servers may have
+ In FreeBSD's <bf>/etc/exports</bf> file, this is controlled by
+ the ``<tt>-alldirs</tt>'' option. Other NFS servers may have
different conventions. If you are getting
`Permission Denied' messages from the server then
- it's likely that you don't have this enabled
- properly!
-
+ it is likely that you do not have this enabled
+ properly.
<sect2><heading>Preparing for FTP Installation</heading>
<p>FTP installation may be done from any mirror site
containing a reasonably up-to-date version of FreeBSD
- 2.0.5, a full menu of reasonable choices from almost
- anywhere in the world being provided by the FTP site
+ 2.1. A full menu of reasonable choices from almost
+ anywhere in the world is provided by the FTP site
menu.
If you are installing from some other FTP site not
@@ -657,101 +618,131 @@ C> XCOPY /S E:\DISTS C:\FREEBSD\
also specify your own URL by selecting the ``Other''
choice in that menu. A URL can also be a direct IP
address, so the following would work in the absence
- of a name server: <tscreen>
- ftp://192.216.222.4/pub/FreeBSD/2.0.5-RELEASE</tscreen>
+ of a name server:
+
+<tscreen><verb>
+ftp://192.216.222.4/pub/FreeBSD/2.1.0-RELEASE
+</verb></tscreen>
- <em><bf>NOTE:</bf> Substitute "ALPHA" for "RELEASE"
- during the ALPHA test period!</em>
+ There are two FTP installation modes you can use:
- If you are installing through a firewall then you
- should probably select ``Passive mode'' ftp, which is
- the default. If you are talking to a server which
- does not support passive mode for some reason, see
- the Options menu to select Active mode transfers.
+ <descrip>
+ <tag>FTP Active</tag>
+ For all FTP transfers, use ``Active'' mode. This
+ will not work through firewalls, but will often
+ work with older ftp servers that do not support
+ passive mode. If your connection hangs with
+ passive mode (the default), try active!
+
+ <tag>FTP Passive</tag>
+
+ For all FTP transfers, use ``Passive'' mode. This
+ allows the user to pass through firewalls that do
+ not allow incoming connections on random port
+ addresses.
+
+ </descrip>
+
+ <quote><bf>Note:</bf> ACTIVE AND PASSIVE MODES ARE
+ NOT THE SAME AS A `PROXY' CONNECTION, WHERE A PROXY
+ FTP SERVER IS LISTENING ON A DIFFERENT PORT!</quote>
+
+ In such instances, you should specify the URL as something like:
+<tscreen><verb>
+ftp://foo.bar.com:1234/pub/FreeBSD
+</verb></tscreen>
+
+ Where ``1234'' is the port number of the proxy ftp server.
<sect><heading>Installing FreeBSD</heading>
- <p>Once you've taken note of the appropriate
+ <p>Once you have taken note of the appropriate
preinstallation steps, you should be able to install
FreeBSD without any further trouble.
Should this not be true, then you may wish to go back and
- re-read the relevant preparation section (section 2.x)
- for the installation media type you're trying to use -
- perhaps there's a helpful hint there that you missed the
- first time? If you're having hardware trouble, or
+ re-read the relevant preparation section above
+ for the installation media type you are trying to use,
+ perhaps there is a helpful hint there that you missed the
+ first time? If you are having hardware trouble, or
FreeBSD refuses to boot at all, read the Hardware Guide
provided on the boot floppy for a list of possible
solutions.
The FreeBSD boot floppy contains all the on-line
documentation you should need to be able to navigate
- through an installation and if it doesn't then I'd like
- to know what you found most confusing! It is the
- objective of the FreeBSD installation program
- (sysinstall) to be self-documenting enough that painful
- "step-by-step" guides are no longer necessary. It may
- take us a little while to reach that objective, but
- that's the objective!
-
- Meanwhile, you may also find the following "typical
- installation sequence" to be helpful:
+ through an installation and if it does not then we would
+ like to know what you found most confusing. Send your
+ comments to <htmlurl url="mailto:doc@freebsd.org"
+ name="doc@freebsd.org">. It is the objective of the
+ FreeBSD installation program (sysinstall) to be
+ self-documenting enough that painful ``step-by-step''
+ guides are no longer necessary. It may take us a little
+ while to reach that objective, but that is the objective!
+
+ Meanwhile, you may also find the following ``typical
+ installation sequence'' to be helpful:
<enum>
-
<item>Boot the boot floppy. After a boot sequence
which can take anywhere from from 30 seconds to 3
minutes, depending on your hardware, you should be
presented with a menu of initial choices. If the
- floppy doesn't boot at all, or the boot hangs at some
+ floppy does not boot at all, or the boot hangs at some
stage, go read the Q&amp;A section of the Hardware Guide
for possible causes.
<item>Press F1. You should see some basic usage
instructions on the menu system and general
- navigation. If you haven't used this menu system
+ navigation. If you have not used this menu system
before then PLEASE read this thoroughly!
- <item>If English is not your native language, you may
- wish to proceed directly to the Language option and
- set your preferred language. This will bring up some
- of the documentation in that language instead of
- English.
-
<item>Select the Options item and set any special
preferences you may have.
- <item>Select Proceed, bringing you to the Installation Menu.
-
+ <item>Select a Custom or Express install, depending on
+ whether or not you would like the installation to give
+ you a high degree of control over each step of the
+ installation or simply lead you through it, chosing
+ reasonable defaults when possible. See details on
+ both installation types below.
+
+ <item>The Configure menu choice allows you to furthur
+ configure your FreeBSD installation by giving you
+ menu-driven access to various system defaults. Some
+ items, like networking, may be especially important
+ if you did a CDROM/Tape/Floppy installation and have
+ not yet configured your network interfaces (assuming
+ you have any). Properly configuring such interfaces
+ here will allow FreeBSD to come up on the network
+ when you first reboot from the hard disk.
</enum>
- <sect1><heading>The installation menu</heading>
-
- <p>You can do anything you like in this menu without
- altering your system <em>except</em> for "Commit",
- which will perform any requests to alter your system
- you may have made.
+ <sect1><heading>Express installation</heading>
- If you're confused at any point, the F1 key usually
- pulls up the right information for the screen you're
- in.
+ <p>The express installation is not too much different than
+ the Custom one except that it leads you through the
+ required stages in the proper order and presents you
+ with various helpful prompts along the way.
<enum>
-
- <item>The first step is generally `Partition', which
+ <item>The first step is the `Partition Editor', which
allows you to chose how your drives will be used
- for FreeBSD.
+ for FreeBSD. If you are dedicating an entire drive
+ to FreeBSD, the `A' command is probably all you
+ need to type here.
- <item>Next, with the `Label' editor, you can specify
+ <item>Next, with the `Label Editor', you can specify
how the space in any allocated FreeBSD partitions
should be used by FreeBSD, or where to mount a
- non-FreeBSD partition (such as DOS).
+ non-FreeBSD partition (such as DOS). If you want
+ the standard layout, simply type `A' here.
<item>Next, the `Distributions' menu allows you to
specify which parts of FreeBSD you wish to load. A
- good choice is "User" for a small system or
- "Developer" for someone wanting a bit more out of
+ good choice is ``User'' for a small system or
+ ``Developer'' for someone wanting a bit more out of
FreeBSD. If none of the existing collections sound
applicable, select Custom.
@@ -759,43 +750,115 @@ C> XCOPY /S E:\DISTS C:\FREEBSD\
what kind of media you wish to install from. If a
desired media choice is found and configured
automatically then this menu will simply return,
- otherwise you'll be asked for additional details on
+ otherwise you will be asked for additional details on
the media device type.
- <item>Finally, the Commit command will actually
- perform all the actions at once (nothing has been
- written to your disk so far, nor will it until you
- give the final confirmation). All new or changed
- partition information will be written out, file
- systems will be created and/or non-destructively
- labelled (depending on how you set their newfs
- flags in the Label editor) and all selected
- distributions will be extracted.
-
- <item>The Configure menu choice allows you to further
- configure your FreeBSD installation by giving you
- menu-driven access to various system defaults.
- Some items, like networking, may be especially
- important if you did a CDROM/Tape/Floppy
- installation and have not yet configured your
- network interfaces (assuming you have some).
- Properly configuring your network here will allow
- FreeBSD to come up on the network when you first
- reboot from the hard disk.
-
- <item>Exit returns you to the top menu.
-
+ <item>Finally, you will be prompted to commit all of
+ these actions at once (nothing has been written to
+ your disk so far, nor will it until you give the
+ final confirmation). All new or changed partition
+ information will be written out, file systems will
+ be created and/or non-destructively labelled
+ (depending on how you set their newfs flags in the
+ Label Editor) and all selected distributions will
+ be extracted.
</enum>
- At this point, you're generally done with the
+ At this point, you are generally done with the
sysinstall utility and can select the final `Quit'. If
- you're running it as an installer (e.g. before the
+ you are running it as an installer (e.g., before the
system is all the way up) then the system will now
- reboot. If you selected the boot manager option, you
- will see a small boot menu with an `F?' prompt. Press
- the function key for BSD (it will be shown) and you
- should boot up into FreeBSD off the hard disk.
+ reboot after you press return one last time. If you
+ selected the boot manager option, you will see a small
+ boot menu with an `F?' prompt. Press the function key
+ for BSD (it will be shown) and you should boot up into
+ FreeBSD off the hard disk.
If this fails to happen for some reason, see the Q&amp;A
section of the Hardware Guide for possible clues!
+ <sect1><heading>Custom installation</heading>
+
+ <p>You can do anything you like in this menu without
+ altering your system <em>except</em> for ``Commit'',
+ which will perform any requests to alter your system
+ you may have made. Some of the menu options will also
+ have direct `Write' commands available for commiting an
+ operation immediately, but they should only be used if
+ you are absolutely sure it is necessary. It is generally
+ better to make your changes and then commit them all at
+ once so that you are left with the option of changing
+ your mind up to the very last minute.
+
+ If you are confused at any point, the F1 key usually
+ pulls up the right information for the screen you are
+ in.
+
+
+ <sect><heading>MS-DOS user's Questions and Answers</heading>
+
+ <p>Many FreeBSD users wish to install FreeBSD on PCs inhabited
+ by MS-DOS. Here are some commonly asked questions about
+ installing FreeBSD on such systems.
+
+ <p><bf>Help! I have no space! Do I need to delete
+ everything first?</bf>
+
+ If your machine is already running MS-DOS and has little
+ or no free space available for FreeBSD's installation,
+ all is not lost! You may find the FIPS utility, provided
+ in the <tt>tools</tt> directory on the FreeBSD CDROM or
+ on the various FreeBSD ftp sites, to be quite useful.
+
+ FIPS allows you to split an existing MS-DOS partition
+ into two pieces, preserving the original partition and
+ allowing you to install onto the second free piece. You
+ first defragment your MS-DOS partition, using the DOS
+ 6.xx DEFRAG utility or the Norton Disk tools, then run
+ FIPS. It will prompt you for the rest of the information
+ it needs. Afterwards, you can reboot and install FreeBSD
+ on the new free slice. See the <em>Distributions</em>
+ menu for an estimation of how much free space you will need
+ for the kind of installation you want.
+
+
+ <bf>Can I use compressed MS-DOS filesystems from
+ FreeBSD?</bf>
+
+ No. If you are using a utility such as Stacker(tm) or
+ DoubleSpace(tm), FreeBSD will only be able to use
+ whatever portion of the filesystem you leave
+ uncompressed. The rest of the filesystem will show up as
+ one large file (the stacked/dblspaced file!). <bf>Do not
+ remove that file!</bf> You will probably regret it
+ greatly!
+
+ It is probably better to create another uncompressed
+ MS-DOS primary partition and use this for communications
+ between MS-DOS and FreeBSD.
+
+
+<!-- XXX Status???
+ <bf>Can I mount my MS-DOS extended partitions?</bf>
+
+ This feature is not in FreeBSD 2.0.5 but should be in 2.1.
+ We have laid all the groundwork for making this happen, now
+ we just need to do the last 1 percent of the work involved.
+-->
+
+ <bf>Can I run MS-DOS binaries under FreeBSD?</bf>
+
+ Not yet! We would like to add support for this someday, but
+ are still lacking anyone to actually do the work.
+ Ongoing work with Linux's DOSEMU utility may bring this
+ much closer to being a reality sometime soon. Send mail
+ to hackers@freebsd.org if you're interested in joining
+ this effort!
+
+ However, there is a nice application available in the
+ <ref id="ports" name="The Ports Collection"> called pcemu,
+ that allows you to run many basic MS-DOS text-mode binaries
+ by entirely emulating an 8088 CPU.
+
+
+
diff --git a/handbook/mirrors.sgml b/handbook/mirrors.sgml
index 53ce4721b0..2e5e4bb96c 100644
--- a/handbook/mirrors.sgml
+++ b/handbook/mirrors.sgml
@@ -1,4 +1,4 @@
-<!-- $Id: mirrors.sgml,v 1.7 1995-11-19 19:51:43 jkh Exp $ -->
+<!-- $Id: mirrors.sgml,v 1.8 1995-11-20 01:10:25 jfieber Exp $ -->
<!-- The FreeBSD Documentation Project -->
<!--
@@ -123,8 +123,8 @@ and on CD-ROM from Walnut Creek CDROM:
<itemize>
<item>
-<htmlurl url="ftp://ftp.hk.super.net/pub/mirror/FreeBSD"
- name="g ftp://ftp.hk.super.net/pub/mirror/FreeBSD"><newline>
+<htmlurl url="ftp://ftp.hk.super.net/pub/FreeBSD"
+ name="g ftp://ftp.hk.super.net/pub/FreeBSD"><newline>
Contact: <htmlurl url="mailto:ftp-admin@HK.Super.NET"
name="ftp-admin@HK.Super.NET">.
@@ -178,18 +178,6 @@ and on CD-ROM from Walnut Creek CDROM:
</itemize>
-<tag>Poland</tag>
-
-<itemize>
-
-<item>
-<htmlurl url="ftp://SunSITE.icm.edu.pl/pub/FreeBSD/ftp.freebsd.org"
- name="ftp://SunSITE.icm.edu.pl/pub/FreeBSD/ftp.freebsd.org"><newline>
- Contact: <htmlurl url="mailto:archive@nl.net"
- name="archive@nl.net">.
-
-</itemize>
-
<tag>Russia</tag>
<itemize>
diff --git a/handbook/relnotes.sgml b/handbook/relnotes.sgml
index d2d778be24..2357ec323f 100644
--- a/handbook/relnotes.sgml
+++ b/handbook/relnotes.sgml
@@ -1,4 +1,4 @@
-<!-- $Id: relnotes.sgml,v 1.6 1995-10-22 00:42:14 jfieber Exp $ -->
+<!-- $Id: relnotes.sgml,v 1.7 1995-11-20 01:10:28 jfieber Exp $ -->
<!-- The FreeBSD Documentation Project -->
<!--
@@ -7,6 +7,95 @@
-->
<sect><heading>About this release<label id="relnotes"></heading>
+ <p>FreeBSD is a freely available, full source 4.4 BSD
+ Lite based release for Intel i386/i486/Pentium (or
+ compatible) based PC's. It is based primarily on
+ software from U.C. Berkeley's CSRG group, with some
+ enhancements from NetBSD, 386BSD, and the Free Software
+ Foundation.
+
+ Since our release of FreeBSD 2.0 one year ago, the
+ performance, feature set, and stability of FreeBSD has
+ improved dramatically. The largest change is a
+ revamped VM system with a merged VM/file buffer cache
+ that not only increases performance, but reduces
+ FreeBSD's memory footprint, making a 5MB configuration
+ a more acceptable minimum. Other enhancements include
+ full NIS client and server support, transaction TCP
+ support, dial-on-demand PPP, an improved SCSI
+ subsystem, early ISDN support, support for FDDI and
+ Fast Ethernet (100Mbit) adapters, improved support for
+ the Adaptec 2940 (WIDE and narrow) and many hundreds of
+ bug fixes.
+
+ We've also taken the comments and suggestions of many
+ of our users to heart and have attempted to provide
+ what we hope is a more sane and easily understood
+ installation process. Your feedback on this
+ (constantly evolving) process is especially welcome!
+
+ In addition to the base distributions, FreeBSD offers a
+ new ported software collection with some 350 commonly
+ sought-after programs. The list of ports ranges from
+ http (WWW) servers, to games, languages, editors and
+ almost everything in between. The entire ports
+ collection requires only 10MB of storage, all ports
+ being expressed as ``deltas'' to their original sources.
+ This makes it much easier for us to update ports, and
+ greatly reduces the disk space demands made by the
+ older 1.0 ports collection. To compile a port, you
+ simply change to the directory of the program you wish
+ to install, type make and let the system do the rest.
+ The full original distribution for each port you build
+ is retrieved dynamically off of CDROM or a local ftp
+ site, so you need only enough disk space to build the
+ ports you want. (Almost) every port is also provided
+ as a pre-compiled "package" which can be installed with
+ a simple command (pkg_add) by those who do not wish to
+ compile their own ports from source.
+
+ A number of additional documents which you may find
+ very helpful in the process of installing and using
+ FreeBSD may now also be found in the
+ <bf>/usr/share/doc</bf> directory. You may view the
+ manuals with any HTML capable browser with the
+ following URLs:
+
+ <descrip>
+ <tag>The FreeBSD handbook</tag>
+ <htmlurl url="file:/usr/share/doc/handbook/handbook.html">
+
+ <tag>The FreeBSD FAQ</tag>
+ <htmlurl url="file:/usr/share/doc/FAQ/freebsd-faq.html">
+ </descrip>
+
+ You can also visit the master (and most frequently
+ updated) copies at <htmlurl
+ url="http://www.freebsd.org"
+ name="http://www.freebsd.org">.
+
+ The core of FreeBSD does not contain DES code which
+ would inhibit its being exported outside the United
+ States. There is an add-on package to the core
+ distribution, for use only in the United States, that
+ contains the programs that normally use DES. The
+ auxiliary packages provided separately can be used by
+ anyone. A freely (from outside the U.S.) exportable
+ European distribution of DES for our non-U.S. users
+ also exists and is described in the <htmlurl
+ url="../FAQ/freebsd-faq.html" name="FreeBSD FAQ">.
+
+ If password security for FreeBSD is all you need, and
+ you have no requirement for copying encrypted passwords
+ from different hosts (Suns, DEC machines, etc) into
+ FreeBSD password entries, then FreeBSD's MD5 based
+ security may be all you require! We feel that our
+ default security model is more than a match for DES,
+ and without any messy export issues to deal with. If
+ you're outside (or even inside) the U.S., give it a
+ try!
+
+<![ IGNORE [
<p>Since our first release of FreeBSD 1.0 nearly two
years ago, FreeBSD has changed dramatically. Since
release 2.0, FreeBSD has been based on the Berkeley BSD
@@ -75,7 +164,7 @@
by anyone. A freely exportable European distribution
of DES for our non-U.S. users also exists and is
described in the <url
- url="http://www.freebsd.org/How/faq" name="FreeBSD
+ url="http://www.freebsd.org/FAQ" name="FreeBSD
FAQ">. If password security for FreeBSD is all you
need, and you have no requirement for copying encrypted
passwords from other hosts using DES into FreeBSD
@@ -501,3 +590,4 @@
ask about them!
-->
+]]>
diff --git a/handbook/scsi.sgml b/handbook/scsi.sgml
index 280483518e..f69478965b 100644
--- a/handbook/scsi.sgml
+++ b/handbook/scsi.sgml
@@ -1,4 +1,4 @@
-<!-- $Id: scsi.sgml,v 1.6 1995-10-07 04:31:46 jfieber Exp $ -->
+<!-- $Id: scsi.sgml,v 1.7 1995-11-20 01:10:30 jfieber Exp $ -->
<!-- The FreeBSD Documentation Project -->
<!--
@@ -464,7 +464,7 @@ Feb 9 19:33:46 yedi /386bsd: sd0: 636MB (1303250 total sec), 1632 cyl, 15 head,
The multi level design allows a decoupling of low-level bit
banging and more high level stuff. Adding support for another
- piece of hardware is a much more manageable problem.
+ piece of hardware is a much more managable problem.
<sect2><heading>Kernel configuration</heading>
<p>
@@ -484,7 +484,7 @@ Feb 9 19:33:46 yedi /386bsd: sd0: 636MB (1303250 total sec), 1632 cyl, 15 head,
system boot messages will be displayed to indicate whether
the configured hardware was actually found.
- An example based on the FreeBSD 2.0.5-Release kernel config
+ An example loosely based on the FreeBSD 2.0.5-Release kernel config
file LINT with some added comments (between &lsqb;&rsqb;):
<verb>
@@ -501,12 +501,6 @@ Feb 9 19:33:46 yedi /386bsd: sd0: 636MB (1303250 total sec), 1632 cyl, 15 head,
# sea: Seagate ST01/02 8 bit controller (slow!)
# wds: Western Digital WD7000 controller (no scatter/gather!).
#
-# Note that the order is important in order for Buslogic cards to be
-# probed correctly.
-#
-
-&lsqb;For a Bustek controller&rsqb;
-controller bt0 at isa? port "IO_BT0" bio irq ? vector btintr
&lsqb;For an Adaptec AHA274x, 284x etc controller&rsqb;
controller ahc0 at isa? bio irq ? vector ahcintr # port??? iomem?
@@ -514,29 +508,30 @@ controller ahc0 at isa? bio irq ? vector ahcintr # port??? iomem?
&lsqb;For an Adaptec AHA174x controller&rsqb;
controller ahb0 at isa? bio irq ? vector ahbintr
-&lsqb;For an Adaptec AHA154x controller&rsqb;
-controller aha0 at isa? port "IO_AHA0" bio irq ? drq 5 vector ahaintr
-
&lsqb;For an Ultrastor adapter&rsqb;
controller uha0 at isa? port "IO_UHA0" bio irq ? drq 5 vector uhaintr
-controller scbus0 #base SCSI code
+# Map SCSI buses to specific SCSI adapters
+controller scbus0 at ahc0
+controller scbus2 at ahb0
+controller scbus1 at uha0
+# The actual SCSI devices
disk sd0 at scbus0 target 0 unit 0 [SCSI disk 0 is at scbus 0, LUN 0]
disk sd1 at scbus0 target 1 [implicit LUN 0 if omitted]
-disk sd2 at scbus0 target 3
-disk sd3 at scbus0 target 4
+disk sd2 at scbus1 target 3 [SCSI disk on the uha0]
+disk sd3 at scbus2 target 4 [SCSI disk on the ahb0]
tape st1 at scbus0 target 6 [SCSI tape at target 6]
device cd0 at scbus? [the first ever CDROM found, no wiring]
</verb>
- The example above tells the kernel to look for a bt (Bustek)
- controller, then for an Adaptec 274x, 284x etc board, and
+ The example above tells the kernel to look for a ahc (Adaptec 274x)
+ controller, then for an Adaptec 174x board, and
so on. The lines following the controller specifications
tell the kernel to configure specific devices but
<em>only</em> attach them when they match the target ID and
- LUN specified.
+ LUN specified on the corresponding bus.
So, if you had a SCSI tape at target ID 2 it would not be
configured, but it will attach when it is at target ID 6.
diff --git a/handbook/slips.sgml b/handbook/slips.sgml
index 3e86504010..cd12038c8b 100644
--- a/handbook/slips.sgml
+++ b/handbook/slips.sgml
@@ -54,7 +54,7 @@ configured the appropriate system files to allow logins through your
modems. If you haven't prepared your system for this yet, please see
the tutorial for configuring dialup services; if you have a World-Wide
Web browser available, browse the list of tutorials at
-<tt>http://www.freebsd.org/How</tt>; otherwise, check the place
+<tt>http://www.freebsd.org/</tt>; otherwise, check the place
where you found this document for a document named <tt/dialup.txt/ or
something similar. You may also want to check the manual pages for
<tt/sio(4)/ for information on the serial port device driver and