*BSD News Article 15143


Return to BSD News archive

Xref: sserve comp.os.386bsd.announce:40 comp.os.386bsd.questions:1994
Path: sserve!newshost.anu.edu.au!munnari.oz.au!constellation!osuunx.ucc.okstate.edu!moe.ksu.ksu.edu!zaphod.mps.ohio-state.edu!howland.reston.ans.net!agate!agate!usenet
From: burgess@hrd769.brooks.af.mil (Dave Burgess)
Newsgroups: comp.os.386bsd.announce,comp.os.386bsd.questions
Subject: FAQ_02
Followup-To: comp.os.386bsd.questions
Date: 25 Apr 1993 16:11:30 -0700
Organization: University of California, Berkeley
Lines: 586
Sender: cgd@agate.berkeley.edu
Approved: 386bsd-announce-request@agate.berkeley.edu
Message-ID: <9304212128.AA25506@hrd769.brooks.af.mil>
NNTP-Posting-Host: agate.berkeley.edu
Content-Type: text
X-Mailer: ELM [version 2.4 PL20]
Content-Length: 25648     




Section 2.	(Common installation questions)
  
2.0	Install process
  
  The bsd386 system is distributed in many ways.  One of the most common is 
  via DOS diskettes, (either 3 1/2 or 5 1/4, both high density) with the
  actual distribution being a 'cpio archive' broken into 240K pieces.  This 
  allows the distribution to fit onto a minimum number of floppies and still 
  be unchanged when it comes time to actually install.
  
  Once the files are on floppies, thoughts usually turn to questions about
  how to install the boot image on a floppy.  The rawrite program (for DOS)
  is used to write the bootable images (distbin and fixitbin) onto floppies.
  The same image is used for 3 1/2 and 5 1/4 high density diskettes.  Low 
  density diskettes are not supported in this version of 386bsd.
  
  Once the binary distributions are loaded onto floppies, put the install
  disk into the A: drive and reboot.  If the system does not boot, see section
  2.5 below for more information.
  
  If the disk boots, type install and proceed to use the INSTALL.NOTES
  to get more information.
  
  Problems with the install are either related to hardware (i.e. Do you want
  to install on your T.V.?) or software.  Of the hardware issues, the most 
  common FAQs are usually straight out of the installation notes.  Of the 
  software issues, there are only two that really concern us.  The first is 
  bad files.
  
  On some systems, files that are loaded from floppy appear to 'go bad' when
  they arrive on the hard disk.  Try some of these solutions:
  
  - You forgot binary.  Don't get insulted.  Those of us that FTP for a living
  forget sometimes.  If so, the distribution will come out with all different
  sizes and install will complain about every disk.
  
  - One or two of the files are no good.  Try getting them again.  As a 
  precaution, rename the bad files on your hard drive to names like foo.1 and
  bob.23.  Copy the files again from floppy.  If they are still bad, rename the
  file immediately before the first bad file (bin01.23 if bin02.24 is bad) and
  reget it.  If they are still bad, re FTP those files (including the
  one before and after the bad one) and try again.
    The reason for renaming the files is that sometimes, especially with
  drive that do not automagically record bad sectors, you could copy a distri-
  bution file onto a bad spot on the disk.  If this happens, you want to isolate 
  the bad spot.  The easiest way to do that is just leave the bad file on it.
  
  - Keep trying, these same files have been used by literally thousands of 
  people to install 386bsd.
  

2.0.1	Tiny boot disk  (versions and media formats)
  
  There is currently one official boot disk, referred to as the "Tiny" boot 
  disk.  In addition, there is at least one pacthed unofficial boot disk
  available from agate and its mirror sites.
  
  There are a few FAQs from the boot/install disk.
  
2.0.1.1	Where does extract go when I reboot?
  
  It was in /tmp, which is cleaned the first time you reboot the system.  If you
  have just booted from the hard drive for the second time, chances are you just
  wiped out extract.  It is not really needed, since the instructions for 
  building your own install are included in section 2.5.2 of the FAQ, under custom
  installation.

  
2.0.1.2	I put the floppy in and try to boot, and nothing happens.  What now?
  
  This is usually referred to as the Compaq boot problem.  The easiest solution is
  to get a patched boot disk.  The normal source for this disk is agate (also
  known by its real name agate.berkeley.edu) in the directory 
  /pub/386BSD/386bsd-0.1/unofficial/{something}.

  
2.0.1.3a	The floppy booted, but now the hard disk won't boot?
2.0.1.3b	I am trying to reinstall.  I run install and it loops asking
		me if I want to use the whole disk?
  
  The most likely culprit is your hard disk controller.  It is probably doing
  some type of disk translation for you.  If this is the case (assume it is)
  then you will need to find out the real disk controller geometry, and
  rewrite your disk label.  See section  2.6.2, but not before you get the 
  program fdisk.exe from agate (It is out there, somewhere in the 
  ~unofficial/ref-tfs stuff).  This program will tell you what the controller 
  geometry is (right before it reboots your computer).  Make the disklabel 
  agree with this program and your system should boot.  You may have to 
  reinstall, but at least your disklabel will be right.

  
2.0.1.4	There are a bunch of flashing colored things on the screen.  Now what?
  
  See section 2.6.3 below.  It gives a rather detailed description of the
  cause and solution.

  
2.0.2	Fix-it boot disk 
  
  The fix-it disk contains a series of programs that are particularly
  handy for 'fixing' your disk in case you can't get logged in.  It includes
  the disklabel program and other utilities for system maintenance.

  
2.1	Binary distribution
  
  The binary distribution consists of virtually all of the programs that a
  typical Unix system would be expected to have.  The include mail, uucp, 
  GCC version 1.39, and others.
  
  Known problems with the binary distribution include the following:
  
  1.  Mtools as shipped in the bindist does not always work.  The ones on
  the install disk seem to work fine.
  
  2.  The install script built into the binary distribution does not correctly
  install all of the files and symbolic links that it should.  For example, 
  some of the symbolic links to the /usr/include directory are botched up.
  
  3.  'tip', the modem control program, does not always work right out of 
  the box.
  
  4.  Any program that relies on a valid symbol table in the kernel (e.g. ps)
  will not work because the kernel is stripped so that it will fit onto the 
  disk.

  
2.2	Source distribution
  
  The source distribution contains all of the source code for every program in
  the bindist.  Known problems (which are fixed in the patchkit) include the 
  following:
  
  1.  There is an error message during install about install.src01 not being
  found.  It is not an error, there isn't an install.src01.  Think of it as
  Bill and Lynne's idea of a practical joke.
  
  2.  There are several symbolic links that are not made correctly.  In 
  addition, there are several files that should have been deleted (to 
  ensure clean 'make's) before the files were packed.
  
  3.  The /usr/src tree does not compile cleanly.
  

2.3	Additional software distribution
  
  The etc distribution contains source trees for many programs that are of 
  interest to 386bsd users.  The complete ISO software development environment,
  as well as many additional software packages (and all of the games) are 
  included in this distribution.
  
  The most common problem with the etc distribution is the error "too many 
  files open".  Followed closely by "install.etc01 not found".  The latter
  is a annoyance (see above) but the former can be easily overcome in a couple
  of ways.
  
  The "too many files open" is a result of the "cat" command leaving
  files open after it has read a file.   Dwight E. Cass (email address at
  dec@lazarus.nrtc.northrop.com) has provided us with this anecdotal
  work around for his own experiences:
  
  --------------------------------------------------------------------
  So - back to installation.  This time, when I get to the etc01
  partition, I am a bit more awake, so I run it from csh (with the
  open file limit at 256).  Works pretty well - but complains at the end
  that it could not do the final configuration because it could not find
  the configuration file - I checked the MANIFEST and the file is not
  there, so I finally decided to ignore the message (but it was
  bothersome!)  Once etc01 was done - source was easy ... and I am now
  up and running, and quite impressed!!!
  --------------------------------------------------------------------
  
  Another method is to use a loop construct in the Bourne shell.  For example:
  
  for i in (etc01.*)
  do
    cat $i
  done | compress -d | cpio -idalmu
  
  will also solve the problem handily.
  
2.4	Patch-kit
  
  Rod Grimes is the patchkit coordinator.  It is his job to ensure that
  patches suggested by the 386bsd user community integrate into the current
  patchkit and do not cause new problems.  His cadre of dedicated and 
  professional patch writers and testers work at a fever pitch preparing and
  disseminating patches.
  
  There are two mailing lists dedicated to the patchkit.  They are as follows:
  
  386bsd-patchkit@foo.cs.montana.edu  which is primarily for discussion of
  upcoming patches and patchkit philosophy.
  
  patches@foo.cs.montana.edu, which is dedicated to disseminating new, untested
  patches.
  
  The current version of the patchkit is 0.2.2, which by the way has 
  absolutely no relationship with the new version of 386bsd.  The next 
  version of the patchkit (0.2.3) is in alpha testing and will be released 
  when it is fully tested.
  

2.5	Configuration
  
  By far, the most common configuration questions are partitioning, followed
  closely by all of the other software in the system.  Sendmail and named are
  also problems occasionally, but the documentation that comes with them usually
  gets you through.  If you run into a problem, post a question to 
  comp.os.386bsd.questions.  
  
  A less frequently asked question is "Where can I get info on how to configure 
  a kernel?"  The answer to this question has been provided by Richard Murphey
  (email address rich@Rice.edu).  
  
  --------------------------------------------------------------------
  Ready-to-print PostScript files for each section of the net2 system
  maintainer's manual are on nova.cc.purdue.edu in
  pub/386bsd/submissions/bsd.manuals.
  
  smm.02.config.ps.Z describes kernel configuration for the vax, however
  some of it is relevant to 386BSD.  There is no freely available
  rewrite for 386BSD that I know of.
  --------------------------------------------------------------------

  
2.5.1	Partitions
  
  This section describes many of the questions that people ask about hard disk
  partitioning.
  
  The first is a brief explanation of the BSD system disk partitions.
  
  It important to understand how the BSD partitions the disk.  There are two
  partition tables on the disk.  The first is the DOS partition table, with
  it's four partitions and obscure partition types.  These partitions are fixed
  at a specific location on the disk and are maintained by the DOS program,
  fdisk, and its Unix relatives.  This partition has four numbered partitions, 
  with the bootable DOS partition being partition 1, etc.  These are also the 
  partitions with the partition types like 0xA5.
  
  The BSD partition table supplements the DOS partition table.  The entries in
  this table are meaningful to BSD.  There are eight partitions in the BSD
  partition table, and they are normally lettered from a: to h:.  This partition
  table is not only usable by BSD, but it is also the only one that BSD uses.
  
  The two different partition tables can happily coexist on the disk drive.
  An example might help explain it.
  
  A DOS partition table has four partitions:
  1:  DOS
  2:  DOS-extended
  3:  Linux
  4:  386bsd
  
  Within partition 4:, there are eight BSD partitions:
  a:	/
  b:	swap
  c:	Describes the same area as 4: (above)
  d:	Describes the WHOLE DISK, including the other partition areas.
  e:	/usr
  f:	/something
  g:	/something-else
  h:	/some_third_thing
  
  If the disk is a 100Meg Disk, and is divided equally among the 4 DOS 
  partitions, That means that 25Meg is available for 386bsd.  Let's look at
  an extended example:
  
  DOS occupies tracks 0-24
  DOS-extended occupies tracks 25-49
  Linux occupies tracks 50-74
  386bsd occupies tracks 75-99
  
  In the BSD partition table, a: will start at track 75, as will c:.  The a:
  partition is generally considered to be the root (/) partition, and is
  usually considered the  first physical partition.  The d: partition will 
  start at track 0 (since that is where the disk starts) and the other bsd 
  partitions will start between 75 and 99.
  
  Cgd posted a description of how to manually install 386bsd and create 'real'
  BSD partitions.  It is excerpted below:
  
  --------------------------------------------------------------------
  HOW TO GET 386bsd 0.1 INSTALLED WITH "REAL" PARTITONING:
  
  (remember, if things don't work, they might be in places that aren't
  normally looked in... things should work as below, but you might have
  to use explicit paths occasionally... the 'better' stuff -- mount,
  umount, cp, etc... is in /usr/distbin on the fixit floppy...  even
  mknod is there, if the devices you need aren't on the fixit floppy...)
  
  (1) boot the fixit floppy
  (2) disklabel the disk as appropriate
  (3) newfs the partitions
  (4) mount the new root partition under /mnt
  (5) mkdir /mnt/usr
  (6) mount the new /usr partition under /mnt/usr
  (7) cpio directory-by-directory (recursively -- by hand!) the entire
  	contents of the fixit floppy to the hard drive
  
  	you'll do something like:
  
  	cd /
  	ls | cpio -pdalmu /mnt
  	cd /sbin
  	ls | cpio -pdalmu /mnt/sbin
  	cd /usr
  	ls | cpio -pdalmu /mnt/usr
  	cd /usr/bin
  	ls | cpio -pdalmu /mnt/usr/bin
  
  	etc.  yes, it's tiring.
  
  (8) copy /usr/distbin/mount and /usr/distbin/umount to /mnt (so that
  	they'll be in the new root partition, so you can mount the
  	new /usr partition...)
  (9) shutdown
  	and the eject the floppy.
  (10) reboot off the hard drive, the fsck -p <root raw device>
  	If there are any errors, after the fsck is done, hit
  	ctl-alt-delete, and repeat this step.
  (11) fsck -p <usr raw device>
  (12) mount -u <root device> /
  (13) mount <usr device> /usr
  (14) insert 0.1 boot/install floppy (dist.fs) into floppy drive
  	and "mount /dev/fd0a /mnt"
  (15) cd /mnt
  	and then
  	usr/bin/zcat etc/baselist.Z | usr/bin/cpio -pdalmu /
  (16) cd /
  	and then
  /mnt/usr/bin/zcat /mnt/etc/baseutils.cpio.Z | /mnt/usr/bin/cpio -idalmu
  (17) umount /mnt	then eject the floppy
  (18) umount /usr
  (19) shutdown
  (20) reboot off the hard drive, and get all of the various files (the
  	bindist files, srcdist files, etc...).
  	I put them into /usr/tmp, because there wasn't enough space
  	in /tmp (because it was on a small root partition...).
  (21) cd / ; cat <all the binary files> | uncompress | cpio -idalmu
  (22) rm <all the binary files>
  (23) put your hostname into "/etc/myname" and put your ip addr/hostname
  	into /etc/hosts.
  (24) make an fstab for yourself.  specifically, you want something like:
  	<root device name>	/	ufs rw 1 1
  	<usr device name>	/usr	ufs rw 1 2
  
  congrats.  you now have a working system!
  
  you can repeat step 21 for the srcdist and etcdist files, as well,
  if you wish...
  
  
2.5.2	Swap space (increasing, second partition)
  
  Nate Williams provides a short tutorial on swap space in 386bsd, excerpted
  below:
  
  To be able to use additional swap partitions, you need to specify them
  in the config (/sys/i386/conf/WHATEVER) file.
  
  Ex:
  
  config          "386bsd"        root on sd0 swap on sd0 and sd1
  
  Allows swap on sd0 and sd1
  
  config          "386bsd"        root on wd0 swap on wd0 and sd0
  
  This would allow swap on both wd0 and sd0  OR  whichever (both/either) of 
  the two had a valid disklabel.  Note, you can really screw yourself up with 
  this, if you should happen to not want to swap to this partition, and it 
  happens to be the first one found...
  
  The problem of not being able to swap was from the config file not having 
  wd1 in it.
  
  controller      wd0     at isa? port "IO_WD1" bio irq 14 vector wdintr
  disk            wd0     at wd0 drive 0
  disk            wd0     at wd0 drive 1
                  ^^^
  This should have been wd1, and that's why it didn't get added, as far as
  I know.  I may be wrong, but I have swapped to two different partitions
  w/out any problems since patchkit 0.1, and I don't remember seeing any
  patches in it to patch swap386bsd.c
     
  Once the install is complete, swapping will not be enabled correctly.
  The following steps can be used to make sure that it is enabled correctly.
  
  If there is a 'b' partition in your root disk 386bsd partition, it will 
  be used automatically (MAKE SURE B is not the start of the disk, and 
  MAKE SURE b doesn't contain any data you wish to keep).  If b starts at 
  disk offset 0, it will promptly hose your boot sectors and other important
  disk stuff. 
  
  If you want an additional partition, put an entry similar to this in
  /etc/fstab:
  
  /dev/sd1b                       none                    swap    sw
  
  I'm swapping on sd0b and sd1b, and 'swapon' is run on this partition on
  bootup.
  
  Swapping to a file is still not implemented.  Rumor has it 0.2 will have 
  such things.  If someone wanted to add it, the vnops_* files would have
  to be radically modified to get it to work correctly.
  

2.5.3	Dual boot possibilities
  
  There are many people that wish to be able to boot DOS or 386bsd at will.
  There are several programs that allow this.  os-bs is one such program, and
  there are three or four others.  There are problems in some configurations
  using the os/2 boot manager for this, so beware.  
  
  In addition to being able to boot from either of two partitions, some people
  want to operate more than one disk drive (and perhaps boot from either as 
  well).  Christoph Robitschko provided one description of this.  Since
  there are virtually limitless possibilities for configurations for BSD
  systems, it will be impossible to answer all of the possible questions about
  these features.  Many people operate with multiple disk drives on one or more
  controllers.  Below is a description of one of the ways that the multiple
  drive configuration can be accomplished.
  
2.6	Common installation problems (include pointer to section 9).
2.6.1	Swap space not identified correctly.
  
  There are several levels of problems associated with swap space.  The
  first is that the swap space allocated on the disk label (partition b:)
  is only 5 Meg and is not correctly marked as a swap partition.  Your
  disk label should have the swap partition marked as 'swap' instead of 
  'unused'.  In addition, your /etc/fstab should have the swap space
  identified.  The following is a representative fstab:
  
  /dev/wd0a		/		ufs  rw 1 1
  /dev/wd0b		swap		swap sw 0 0
   

2.6.2	Endless reboot cycles.
  
  Endless reboot cycles are the single most vexing aspect of 386bsd.
  Part of the problem is that the 0.1 distribution boot routines were
  never checked against many types of computers and have bugs.  Most 
  of the bugs are fixed in the patchkit, but that doesn't do the
  average novice user any good.
  
  In general, this will show up as a "bad disk label" error, and
  can result in in not booting from the hard drive "most of the time".
  You may be able to partially (or even completely) work around this
  problem by making your machine run at a lower clock rate.
  
  This problem is the result of the kernel reading the wrong register
  waiting for the drive controller to come ready.  On some controllers,
  this isn't a problem; on others, it's fatal.
  
  The correct soloution is to use a patched "dist.fs" or "fixit.fs"
  boot disk.  These have been provided by Chris G. Demetriou, and
  are located on the machine agate.berkeley.edu in the directory
  pub/386BSD/386bsd-0.1/unofficial/newbootables.cgd.  There are a
  number of other bootables ther for WD8003 and Isolan ethernet cards,
  since the probing for both can cause problems.
  
  Another incarnation of this symptom is that the disk geometry on
  your disk label (as installed by install) is different than the
  geometry that your hard drive controller thinks it is using.  This
  will most often manifest itself on controllers that insist on
  operating in some type of translation mode.  Normally the fix is
  to find out what the controller geometry is and make the disk label
  agree.  There are programs available to help with this problem.
  
  Julian's new boot blocks may also solve this problem.  They are
  available where fine precompiled kernels may be found.
  

2.6.3	The computer just sits there, or 'that isn't right'.
  
  This class of problems is sometimes caused by an incorrect FTP of the
  boot disk.  Make sure that the files were grabbed in 'binary' mode and
  that the size reported back is 1244000 bytes.  Use the Unix program 'dd'
  or the DOS program RAWRITE to put these files onto the disk.

  
2.6.3.1	The boot disk works all right on one computer but not another. 

  This could be a problem with many different pieces, some of which are:
  
  - Misconfigured hardware.  The iomem, IRQ, and other board settings must
  match the ones listed in the INSTALL.NOTES.  Unfortunately, the 
  INSTALL.NOTES are on the disk that will not boot.  You can grab them via
  FTP from /pub/386BSD/386bsd-0.1/filesystem.

  
2.6.3.2 The screen has "flashing multicolored characters and ptdi81061 
prompt" error?
  
  The problem is that the code checking the return from the read of the CMOS 
  RAM value falls through in the case of an invalid value.  What really is 
  needed is the non-existance "else" case for a bad CMOS setup, which goes 
  and probes memory to see it's size.  What currently happens is that the 
  code falls through, the Maxmem is set to zero, and the maxmem and physmem 
  are set to -1 (this is a bad thing).
  
  To solve this, Terry Lambert wrote a program in (forgive him!) Turbo C to 
  read and write CMOS values, so that he could force the memory count to the 
  correct value.  For a machine with a base memory of 640K, the expected 
  value in CMOS is 0280 (in bytes x16 and x15, respectively).  What the 
  AT&T boxes and the HP vectra have is 027f, so it falls through to the 
  default case and blows up.
  
  The quick and dirty workaround:  If you download dist.fs from
  Chris G. Demetriou's upload on agate.berkeley.edu for the hard disk
  boot problem (this MUST be dist.fs, and not one of the other dist.fs
  files modified for Isolan or WD ethernet and named something else!),
  you can use uzap (available for anon ftp from wuarchive.wustl.edu,
  located at mirrors2/unix-c/editors/uzap.tar-z) to binary edit the
  dist.fs at byte offset 946834; it should be changed from 81FE8002
  to 81FE7F02.  This is the compare for 640K in the bogus code.  You
  can look for the pattern 81FE8002 in the other *.fs files, including
  fixit.fs, and change it there, if you MUST use one of them instead.
  
  Terry has uploaded a patched version of dist.fs, and mailed Chris, but
  don't know how long this will take to become FTP'able.  Realize
  that you *MUST* fix the sources if you are going to build a kernel
  which is bootable!
  
  It should be noted that, if you download uzap, you should "touch"
  uzap.c, as otherwise, make will try to use lex to create it, and
  will probably fail.  This is due to the tar extraction order from
  the uzap tar archive.
  

2.6.3.3a	I get the error "isr 15 and error: isr 17" on an NE2000 card.
2.6.3.3b	I have some card on IRQ2 and it dosn't work; why?
  
  The description of this problem is that one of the cards in your system;
  most likely the VGA card, is either generating interrupts or is causing
  the IRQ 2 to be actively disabled.

  One solution would be to plan on not using your ethernet card until you 
  have rebuilt the kernel so that it expects it at an interrupt other than 
  IRQ 2 or 9, rejumper or reconfigure the card to match the IRQ you have 
  selected, and enable it.  
  
  James Van Artsdalen (email at james@bigtex.cactus.org) has given
  us another answer:
  
  --------------------------------------------------------------------
  Some VGA cards use IRQ 2 for a vertical retrace interrupt.  Even when
  the interrupt is not enabled in the VGA, some cards drive IRQ 2
  inactive instead of leaving the signal tristate.
  
  If this is the problem, you can use Scotch tape to cover the IRQ 2
  signal on the VGA's ISA connector.
  --------------------------------------------------------------------
  
  There has been some discussion as to whether scotch tape is really
  appropriate inside a card slot.  My answer would be "yes".  This is
  because the alternate soloution of cutting the trace on the video
  board seems, to my mind, to reduce the value of the board.  It is
  possible that, in the future, with a bi-partite driver, you would
  want to catch the retrace interrupt to get rid of "sparklies" or to
  implement a driver for a very high resoloution monitor for X.  In
  this happens, given a choice between alcohol and solder, I vote for
  alcohol.
  
2.6.3.4	Some of my SCSI devices (like a tape) don't work; why?
  
  Gary Ward (gpw10@phoenixcd.amdahl.com) has seemingly discovered
  that the SCSI driver likes devices to start at 0 and work their
  way up.  That means that you should put your first device at
  LUN 0, the second at LUN 1, and so on.  The typical arrangement
  of disks at 0 and 1, and a tape at 4 will cause the tape to
  not be recognized.  Change this to disks at 0 and 1 and the tape
  at 2, and voila! the tape is suddenly there.
  
  A new and improved SCSI driver has been written by Julian Elischer
  and is available from many sources.  It includes support for many
  new types of SCSI controllers and many devices that are thereby 
  attached.
--
Please send submissions for comp.os.386bsd.announce to:
					386bsd-announce@agate.berkeley.edu