summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorroberto <roberto@FreeBSD.org>1996-04-07 17:23:34 +0000
committerroberto <roberto@FreeBSD.org>1996-04-07 17:23:34 +0000
commit20b5c8f9a647c6eb187977f0ccd47f48658e5547 (patch)
tree669f2d2ba181ed8580c8e2a05c706770463a65c6
parent53619b445e362ef9dd34c48e94397c00ae5be51e (diff)
downloadFreeBSD-src-20b5c8f9a647c6eb187977f0ccd47f48658e5547.zip
FreeBSD-src-20b5c8f9a647c6eb187977f0ccd47f48658e5547.tar.gz
Add several entries for ISA PnP cards (from Frank Durda IV), for using the NT
loader to boot, Jörg answer for slow printers and Dave Walton's answer to hang during vty switches.
-rw-r--r--share/doc/FAQ/freebsd-faq.sgml167
1 files changed, 166 insertions, 1 deletions
diff --git a/share/doc/FAQ/freebsd-faq.sgml b/share/doc/FAQ/freebsd-faq.sgml
index c76f5c0..0d9e3f5 100644
--- a/share/doc/FAQ/freebsd-faq.sgml
+++ b/share/doc/FAQ/freebsd-faq.sgml
@@ -4,7 +4,7 @@
<title>Frequently Asked Questions for FreeBSD 2.X
<author>The FreeBSD FAQ Team, <tt/FAQ@FreeBSD.ORG/
-<date> $Id: freebsd-faq.sgml,v 1.38 1996/03/05 23:48:02 joerg Exp $
+<date> $Id: freebsd-faq.sgml,v 1.39 1996/03/24 22:24:10 joerg Exp $
<abstract>
This is the FAQ for FreeBSD systems version 2.X All entries are
assumed to be relevant to FreeBSD 2.0.5+, unless otherwise noted.
@@ -1338,7 +1338,95 @@ pseudo-device vn #Vnode driver (turns a file into a device)
<verb>
mount_cd9660 /dev/cd0c /mnt
</verb>
+
+ <sect1>
+ <heading>How can I use the NT loader to boot Linux, FreeBSD, or whatever ?</heading>
+ <p>
+ The general idea is that one copies the first sector of your
+ native root Linux or FreeBSD partition into a file in the DOS/NT
+ partition. Assuming one names that file something like
+ <tt>c:&bsol;bootsect.lnx</tt> or <tt>c:&bsol;bootsect.bsd</tt>
+ (inspired by <tt>c:&bsol;bootsect.dos</tt>) one can then edit the
+ <tt>c:&bsol;boot.ini</tt> file to come up with something like
+ this:
+ <verb>
+ [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.LNX="Linux"
+ C:\BOOTSECT.BSD="FreeBSD"
+ C:\="DOS"
+ </verb>
+ This procedure assumes that DOS, NT, Linux, FreeBSD, or whatever
+ have been installed into their respective fdisk partitions on the
+ <bf/same/ disk. In my case DOS &amp; NT are in the first fdisk
+ partition, Linux in the second, and FreeBSD in the third. I also
+ installed Linux and FreeBSD to boot from their native partitions,
+ not the disk MBR, and without delay.
+
+ Mount a DOS-formatted floppy (if you've converted to NTFS) or the
+ FAT partition, under, say, <tt>/mnt</tt>.
+
+ In Linux:
+ <verb>
+ dd if=/dev/sda2 of=/mnt/bootsect.lnx bs=512 count=1
+ </verb>
+
+ In FreeBSD:
+ <verb>
+ dd if=/dev/rsd0a of=/mnt/bootsect.bsd bs=512 count=1
+ </verb>
+
+ Reboot into DOS or NT. NTFS users copy the <tt/bootsect.lnx/
+ and/or the <tt/bootsect.bsd/ file from the floppy to
+ <tt/C:&bsol;/. Modify the attributes (permissions) on
+ <tt/boot.ini/ with:
+ <verb>
+ attrib -s -r c:\boot.ini
+ </verb>
+
+ Edit to add the appropriate entries from the example
+ <tt/boot.ini/ above, and restore the attributes:
+
+ <verb>
+ attrib -r -s c:\boot.ini
+ </verb>
+
+ If Linux or FreeBSD are booting from the MBR, restore it with the
+ DOS ``<tt>fdisk /mbr</tt>'' command after you reconfigure them to
+ boot from their native partitions.
+
+ <sect1>
+ <heading>Hey! My printer is slow as a dog. What can I do ?</heading>
+ <p>
+ If it's parallel, and all your problem is that it's terribly
+ slow, try setting your printer port into ``polled'' mode:
+
+ <verb>
+ lptcontrol -p
+ </verb>
+
+ Some newer HP printers are told to not work correctly in
+ interrupt mode, apparently due to some (not yet exactly
+ understood) timing problem. Slowaris is also affected by this
+ (and that's probably the reason why the HP support does rather
+ act like an ``unsupport'' here).
+
+ <sect1>
+ <heading>I Installed FreeBSD on my XYZ-brand PC, and my keyboard (and probably bus mouse, too) is locking up after switching between vtys (or even spontaneous). What's wrong?</heading>
+ <p>
+ Try adding the following option in your kernel configuration file
+ and recompile it.
+ <verb>
+ options ASYNCH
+ </verb>
+
+ See the section on <ref id="make-kernel" name="about building a
+ kernel"> if you've no experience with building kernels.
+
<sect1>
<heading>When I try to mount a CDROM, I get a ``Device not configured'' error. What's going on?</heading>
<p>
@@ -1704,6 +1792,80 @@ pseudo-device vn #Vnode driver (turns a file into a device)
</sect1>
+ <sect1>
+ <heading>How does one detect and initialize a Plug N Play ISA card?</heading>
+ <p>
+ By: Frank Durda IV <tt>&lt;uhclem@nemesis.lonestar.org&gt;</tt>
+
+ 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, he asks if there are any PnP boards
+ present, and all the PnP boards respond with their model &num; 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 ``<tt/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&circ;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 &num;, 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 don't really do geniune 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 can't 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 + <tt/0x800/, and a third I/O port for reading
+ that can be located anywhere between <tt/0x200/ and <tt/0x3ff/.
+
+
<sect>
<heading>Kernel Configuration</heading>
<p>
@@ -2200,6 +2362,9 @@ disable pred1
tcp_extensions=NO
</verb>
+ Xylogic's Annex boxes are also broken in this regard and you must
+ use the above change to connect thru them.
+
<sect1>
<heading>I want to enable IP multicast support on my FreeBSD box, how do I do it? (Alternatively: What the heck IS multicasting and what applications make use of it?)</heading>
OpenPOWER on IntegriCloud