710 lines
		
	
	
	
		
			30 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			710 lines
		
	
	
	
		
			30 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| <!-- $Id: install.sgml,v 1.18 1999-05-20 12:28:17 jesusr Exp $ -->
 | |
| <!-- The FreeBSD Documentation Project -->
 | |
| 
 | |
|   <sect>
 | |
|     <heading>Installation<label id="install"></heading>
 | |
| 
 | |
|     <sect1>
 | |
|       <heading>Which file do I download to get FreeBSD?</heading>
 | |
| 
 | |
|       <p>You generally need just one floppy image, the <em>floppies/boot.flp
 | |
|       </em> file, which you image-copy onto a 1.44MB floppy and then boot from
 | |
|       in order to download the rest (and the installation will manage your
 | |
|       TCP/IP connection, deal with tapes, CDROMs, floppies, DOS
 | |
|       partitions, whatever's necessary to get the rest of the bits
 | |
|       installed).
 | |
| 
 | |
|       <p>If you need to download the distributions yourself (for a DOS
 | |
|       filesystem install, for instance), below are some recommendations
 | |
|       for distributions to grab:
 | |
| 
 | |
|       <itemize>
 | |
|       <item> bin/<newline>
 | |
|       <item> manpages/<newline>
 | |
|       <item> compat*/<newline>
 | |
|       <item> doc/ <newline>
 | |
|       <item> src/ssys.* <newline>
 | |
|       </itemize>
 | |
| 
 | |
|       <p>Full instructions on this procedure and a little bit more about
 | |
|       installation issues in general can be found in the <url
 | |
|       url="../handbook/install.html"
 | |
|       name="Handbook entry on installing FreeBSD.">
 | |
| 
 | |
|     <sect1>
 | |
|       <heading>Help! The boot floppy image will not fit on a single floppy!
 | |
|       </heading>
 | |
|       <p>A 3.5 inch (1.44MB) floppy can accomodate 1474560 bytes of data.  
 | |
|       The boot image is exactly 1474560 bytes in size.
 | |
|       <p>Common mistakes when preparing the boot floppy are:
 | |
|       <itemize>
 | |
|       <item>Not downloading the floppy image in <tt>binary</tt> mode when
 | |
| 	using <tt>FTP</tt>.  
 | |
| 	<p>Some FTP clients default their transfer mode to <tt>ascii</tt>
 | |
| 	and attempt to change any end-of-line characters received to match 
 | |
| 	the conventions used by the client's system.
 | |
| 	This will almost invariably corrupt the boot image.  Check the
 | |
| 	size of the downloaded boot image:  if it is not <em>exactly</em> 
 | |
| 	that on the server, then the download process is suspect.
 | |
| 	<p>To workaround: type <tt>binary</tt> at the FTP command prompt 
 | |
| 	after getting connected to the server and before starting the 
 | |
| 	download of the image.
 | |
|       <item>Using the DOS <tt>copy</tt> command (or equivalent GUI tool) to 
 | |
|         transfer the boot image to floppy.
 | |
| 	<p>Programs like <tt>copy</tt> will not work as the boot 
 | |
| 	image has been created to be booted into directly.  The image has
 | |
| 	the complete content of the floppy, track for track, and is not
 | |
| 	meant to be placed on the floppy as a regular file.
 | |
| 	You have to transfer it to the floppy ``raw'', using the 
 | |
| 	low-level tools (e.g. <tt>fdimage</tt> or <tt>rawrite</tt>) 
 | |
| 	described in the <url url="../handbook/install.html" 
 | |
| 	name="installation guide to FreeBSD">.
 | |
|       </itemize>
 | |
| 
 | |
|     <sect1>
 | |
|       <heading>Where are the instructions for installing FreeBSD?</heading>
 | |
| 
 | |
|       <p>Installation instructions can be found in the
 | |
|       <url url="../handbook/install.html"
 | |
|       name="Handbook entry on installing FreeBSD.">
 | |
| 
 | |
|     <sect1>
 | |
|       <heading>What do I need in order to run FreeBSD?</heading>
 | |
| 
 | |
|       <p>You'll need a 386 or better PC, with 5 MB or more of RAM and at
 | |
|       least 60 MB of hard disk space.  It can run with a low end MDA
 | |
|       graphics card but to run X11R6, a VGA or better video card is needed.
 | |
| 
 | |
|       <p>See also the section on <ref id="hardware"
 | |
|       name="Hardware compatibility">
 | |
| 
 | |
|     <sect1>
 | |
|       <heading>I have only 4 MB of RAM. Can I install FreeBSD?</heading>
 | |
| 
 | |
|       <p>FreeBSD 2.1.7 was the last version of FreeBSD that could be installed
 | |
|       on a 4MB system.  Newer versions of FreeBSD, like 2.2, need at least 5MB
 | |
|       to install on a new system.
 | |
| 
 | |
|       <p>All versions of FreeBSD, including 3.0, will RUN in 4MB of ram, they
 | |
|       just can't run the installation program in 4MB.  You can add
 | |
|       extra memory for the install process, if you like, and then
 | |
|       after the system is up and running, go back to 4MB.  Or you could
 | |
|       always just swap your disk into a system which has >4MB, install onto
 | |
|       it and then swap it back.
 | |
| 
 | |
|       <p>There are also situations in which FreeBSD 2.1.7 will not install
 | |
|       in 4 MB.  To be exact: it does not install with 640 kB base + 3 MB
 | |
|       extended memory.  If your motherboard can remap some of the ``lost''
 | |
|       memory out of the 640kB to 1MB region, then you may still be able
 | |
|       to get FreeBSD 2.1.7 up.
 | |
| 
 | |
|       <p>Try to go into your BIOS setup and look for a ``remap'' option.
 | |
|       Enable it.  You may also have to disable ROM shadowing.
 | |
| 
 | |
|       <p>It may be easier to get 4 more MB just for the install. Build a
 | |
|       custom kernel with only the options you need and then get the 4
 | |
|       MB out again.
 | |
| 
 | |
|       <p>You may also install 2.0.5 and then upgrade your system to 2.1.7
 | |
|       with the ``upgrade'' option of the 2.1.7 installation program.
 | |
| 
 | |
|       <p>After the installation, if you build a custom kernel, it will run
 | |
|       in 4 MB. Someone has even succeeded in booting with 2 MB (the
 | |
|       system was almost unusable though :-))
 | |
| 
 | |
|     <sect1>
 | |
|       <heading>
 | |
|         How can I make my own custom install floppy?
 | |
|       </heading>
 | |
| 
 | |
|       <p>Currently there's no way to *just* make a custom install floppy.
 | |
|       You have to cut a whole new release, which will include your install
 | |
|       floppy. There's some code in <tt>/usr/src/release/floppies/Makefile</tt>
 | |
|       that's supposed to let you *just* make those floppies, but it's not
 | |
|       really gelled yet.
 | |
| 
 | |
|       <p>To make a custom release, follow the instructions <ref id="custrel"
 | |
|       name="here">.
 | |
| 
 | |
|     <sect1>
 | |
|       <heading>Can I have more than one operating system on my PC?</heading>
 | |
| 
 | |
|       <p>Have a look at <url url="../tutorials/multios/multios.html"
 | |
|       name="The multi-OS page.">
 | |
| 
 | |
|     <sect1>
 | |
|       <heading>Can Windows 95 co-exist with FreeBSD?</heading>
 | |
| 
 | |
|       <p>Install Windows 95 first, after that FreeBSD. FreeBSD's boot
 | |
|       manager will then manage to boot Win95 and FreeBSD.  If you
 | |
|       install Windows 95 second, it will boorishly overwrite your
 | |
|       boot manager without even asking.  If that happens, see
 | |
|       the next section.
 | |
| 
 | |
|     <sect1>
 | |
|       <heading>
 | |
|         Windows 95 killed my boot manager!  How do I get it back?
 | |
|       </heading>
 | |
| 
 | |
|       <p>You can reinstall the boot manager FreeBSD comes with in one of
 | |
|       two ways:
 | |
| 
 | |
|       <itemize>
 | |
|         <item>Running DOS, go into the tools/ directory of your FreeBSD
 | |
|         distribution and look for <bf>bootinst.exe</bf>.  You run it like so:
 | |
| 
 | |
|         <p><bf>bootinst.exe boot.bin</bf>
 | |
| 
 | |
|         <p>and the boot manager will be reinstalled.
 | |
| 
 | |
|         <item>Boot the FreeBSD boot floppy again and go to the Custom
 | |
|         installation menu item.  Choose Partition.  Select the drive which
 | |
|         used to contain your boot manager (likely the first one) and when you
 | |
|         come to the partition editor for it, as the very first thing (e.g.
 | |
|         do not make any changes) select (W)rite.  This will ask for
 | |
|         confirmation, say yes, and when you get the Boot Manager selection
 | |
|         prompt, be sure to select "Boot Manager."
 | |
|         This will re-write the boot manager to disk.  Now quit out of the
 | |
|         installation menu and reboot off the hard disk as normal.
 | |
|       </itemize>
 | |
| 
 | |
|     <sect1>
 | |
|       <heading>Can I install on a disk with bad blocks?</heading>
 | |
| 
 | |
|       <p>FreeBSD's bad block (the <htmlurl 
 | |
|       url="http://www.freebsd.org/cgi/man.cgi?bad144" name="bad144">
 | |
|       command) handling is still not 100% (to put it charitably) and
 | |
|       it must unfortunately be said that if you've got an IDE or ESDI drive
 | |
|       with lots of bad blocks, then FreeBSD is probably not for you!
 | |
|       That said, it does work on thousands of IDE based systems, so
 | |
|       you'd do well to try it first before simply giving up.
 | |
| 
 | |
|       <p>If you have a SCSI drive with bad blocks, see <ref id="awre"
 | |
|       name="this answer">.
 | |
| 
 | |
|     <sect1>
 | |
|       <heading>Strange things happen when I boot the install floppy!</heading>
 | |
| 
 | |
|       <p>If you're seeing things like the machine grinding to a halt or
 | |
|       spontaneously rebooting when you try to boot the install floppy,
 | |
|       here are three questions to ask yourself:-
 | |
| 
 | |
|       <enum>
 | |
|         <item>Did you use a new, freshly-formatted, error-free floppy
 | |
|         (preferably a brand-new one straight out of the box, as
 | |
|         opposed to the magazine coverdisk that's been lying under
 | |
|         the bed for the last three years)?
 | |
| 
 | |
|         <item>Did you download the floppy image in binary (or image) mode?
 | |
|         (don't be embarrassed, even the best of us have accidentally
 | |
|         downloaded a binary file in ASCII mode at least once!)
 | |
| 
 | |
|         <item>If you're using one of these new-fangled operating systems
 | |
|         like Windows95 or Windows NT, did you shut it down and restart
 | |
|        	the system in plain, honest DOS?  It seems these OS's can
 | |
|         interfere with programs that write directly to hardware, which
 | |
|         the disk creation program does; even running it inside a DOS
 | |
|         shell in the GUI can cause this problem.
 | |
|       </enum>
 | |
| 
 | |
|       <p>There have also been reports of Netscape causing problems when
 | |
|       downloading the boot floppy, so it's probably best to use a different
 | |
|       FTP client if you can.
 | |
| 
 | |
|     <sect1>
 | |
|       <heading>Help! I can't install from tape!</heading>
 | |
| 
 | |
|       <p>If you are installing 2.1.7R from tape, you  must create the tape
 | |
|       using a tar blocksize of 10 (5120 bytes).  The default tar
 | |
|       blocksize is 20 (10240 bytes), and tapes created using this
 | |
|       default size cannot be used to install 2.1.7R; with these tapes,
 | |
|       you will get an error that complains about  the record size being
 | |
|       too big.
 | |
| 
 | |
|     <sect1>
 | |
|       <heading>Connect two FreeBSD boxes over a parallel line (PLIP)
 | |
| 	</heading>
 | |
| 
 | |
|       <p>Get a laplink cable. Make sure both computer have a kernel
 | |
|       with lpt driver support.
 | |
| 
 | |
|       <verb>
 | |
|       $ dmesg | grep lp
 | |
|       lpt0 at 0x378-0x37f irq 7 on isa
 | |
|       lpt0: Interrupt-driven port
 | |
|       lp0: TCP/IP capable interface
 | |
|       </verb>
 | |
| 
 | |
|       <p>Plug in the laplink cable into the parallel interface.
 | |
| 
 | |
|       <p>Configure the network interface parameters for lp0 on both
 | |
|       sites as root. For example, if you want connect the host max
 | |
|       with moritz
 | |
| 
 | |
|       <verb>
 | |
|                  max <-----> moritz
 | |
| IP Address    10.0.0.1      10.0.0.2
 | |
|       </verb>
 | |
| 
 | |
|      on max start
 | |
|      <verb>
 | |
| 	# ifconfig lp0 10.0.0.1 10.0.0.2
 | |
|      </verb>
 | |
| 
 | |
| on moritz start
 | |
| 
 | |
|      <verb>
 | |
| 	# ifconfig lp0 10.0.0.2 10.0.0.1
 | |
|      </verb>
 | |
| 
 | |
|      <P>Thats all! Please read also the manpages 
 | |
|      <htmlurl url="http://www.freebsd.org/cgi/man.cgi?lp" name="lp(4)"> and
 | |
|      <htmlurl url="http://www.freebsd.org/cgi/man.cgi?lpt" name="lpt(4)">.
 | |
| 
 | |
|      <P>You should also add the hosts to /etc/hosts
 | |
| 
 | |
|      <verb>
 | |
|      127.0.0.1               localhost.my.domain localhost 
 | |
|      10.0.0.1                max.my.domain max
 | |
|      10.0.0.2                moritz.my.domain moritz
 | |
|      </verb>
 | |
| 
 | |
|      <P>To check if it works do:
 | |
| 
 | |
|      on max:
 | |
| 
 | |
| <verb>
 | |
| $ ifconfig lp0
 | |
| lp0: flags=8851<UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST> mtu 1500
 | |
|         inet 10.0.0.1 --> 10.0.0.2 netmask 0xff000000 
 | |
| </verb>
 | |
| 
 | |
| <verb>
 | |
| $ netstat -r
 | |
| Routing tables
 | |
| 
 | |
| Internet:
 | |
| Destination        Gateway            Flags     Refs     Use     Netif Expire
 | |
| moritz              max              UH          4   127592       lp0
 | |
| </verb>
 | |
| 
 | |
| <verb>
 | |
| $ ping -c 4 moritz
 | |
| PING moritz (10.0.0.2): 56 data bytes
 | |
| 64 bytes from 10.0.0.2: icmp_seq=0 ttl=255 time=2.774 ms
 | |
| 64 bytes from 10.0.0.2: icmp_seq=1 ttl=255 time=2.530 ms
 | |
| 64 bytes from 10.0.0.2: icmp_seq=2 ttl=255 time=2.556 ms
 | |
| 64 bytes from 10.0.0.2: icmp_seq=3 ttl=255 time=2.714 ms
 | |
| 
 | |
| --- moritz ping statistics ---
 | |
| 4 packets transmitted, 4 packets received, 0% packet loss
 | |
| round-trip min/avg/max/stddev = 2.530/2.643/2.774/0.103 ms
 | |
| </verb>
 | |
| 
 | |
|     <sect1>
 | |
|       <heading>
 | |
|         Can I install on my laptop over PLIP (Parallel Line IP)?
 | |
|       </heading>
 | |
| 
 | |
|       <p>Connect the two computers using a Laplink parallel cable to use
 | |
|       this feature:
 | |
| 
 | |
|       <verb>
 | |
|             +----------------------------------------+
 | |
|             |A-name A-End   B-End   Descr.  Port/Bit |
 | |
|             +----------------------------------------+
 | |
|             |DATA0  2       15      Data    0/0x01   |
 | |
|             |-ERROR 15      2               1/0x08   |
 | |
|             +----------------------------------------+
 | |
|             |DATA1  3       13      Data    0/0x02   |
 | |
|             |+SLCT  13      3               1/0x10   |
 | |
|             +----------------------------------------+
 | |
|             |DATA2  4       12      Data    0/0x04   |
 | |
|             |+PE    12      4               1/0x20   |
 | |
|             +----------------------------------------+
 | |
|             |DATA3  5       10      Strobe  0/0x08   |
 | |
|             |-ACK   10      5               1/0x40   |
 | |
|             +----------------------------------------+
 | |
|             |DATA4  6       11      Data    0/0x10   |
 | |
|             |BUSY   11      6               1/0x80   |
 | |
|             +----------------------------------------+
 | |
|             |GND    18-25   18-25   GND -            |
 | |
|             +----------------------------------------+
 | |
|       </verb>
 | |
| 
 | |
|       <p>See also <ref id="pao" name="this note"> on the Mobile Computing page.
 | |
| 
 | |
|     <sect1>
 | |
|       <heading>
 | |
|         Which geometry should I use for a disk drive?<label id="geometry">
 | |
|       </heading>
 | |
| 
 | |
|       <p>(By the "geometry" of a disk, we mean the number of cylinders,
 | |
|       heads and sectors/track on a disk - I'll refer to this as
 | |
|       C/H/S for convenience.  This is how the PC's BIOS works out
 | |
|       which area on a disk to read/write from).
 | |
| 
 | |
|       <p>This seems to cause a lot of confusion for some reason.  First
 | |
|       of all, the <tt /physical/ geometry of a SCSI drive is totally
 | |
|       irrelevant, as FreeBSD works in term of disk blocks.  In fact, there
 | |
|       is no such thing as "the" physical geometry, as the sector density
 | |
|       varies across the disk - what manufacturers claim is the "true"
 | |
|       physical geometry is usually the geometry that they've worked out
 | |
|       results in the least wasted space.  For IDE disks, FreeBSD does
 | |
|       work in terms of C/H/S, but all modern drives will convert this
 | |
|       into block references internally as well.
 | |
| 
 | |
|       <p>All that matters is the <tt /logical/ geometry - the answer that the
 | |
|       BIOS gets when it asks "what is your geometry?" and then uses to access
 | |
|       the disk.  As FreeBSD uses the BIOS when booting, it's very important
 | |
|       to get this right.  In particular, if you have more than one operating
 | |
|       system on a disk, they must all agree on the geometry, otherwise you
 | |
|       will have serious problems booting!
 | |
| 
 | |
|       <p>For SCSI disks, the geometry to use depends on whether extended
 | |
|       translation support is turned on in your controller (this is
 | |
|       often referred to as "support for DOS disks >1GB" or something
 | |
|       similar).  If it's turned off, then use N cylinders, 64 heads
 | |
|       and 32 sectors/track, where 'N' is the capacity of the disk in
 | |
|       MB.  For example, a 2GB disk should pretend to have 2048 cylinders,
 | |
|       64 heads and 32 sectors/track.
 | |
| 
 | |
|       <p>If it <tt /is/ turned on (it's often supplied this way to get around
 | |
|       certain limitations in MSDOS) and the disk capacity is more than 1GB,
 | |
|       use M cylinders, 63 sectors per track (*not* 64), and 255 heads, where
 | |
|       'M' is the disk capacity in MB divided by 7.844238 (!).  So our
 | |
|       example 2GB drive would have 261 cylinders, 63 sectors per track and
 | |
|       255 heads.
 | |
| 
 | |
|       <p>If you are not sure about this, or FreeBSD fails to detect the
 | |
|       geometry correctly during installation, the simplest way around
 | |
|       this is usually to create a small DOS partition on the disk.  The
 | |
|       correct geometry should then be detected (and you can always remove
 | |
|       the DOS partition in the partition editor if you don't want to keep
 | |
|       it, or leave it around for programming network cards and the like).
 | |
| 
 | |
|       <p>Alternatively, there is a freely available utility distributed with
 | |
|       FreeBSD called ``<tt/pfdisk.exe/'' (located in the <tt>tools</tt>
 | |
|       subdirectory on the FreeBSD CDROM or on the various FreeBSD
 | |
|       ftp sites) which can be used to work out what geometry the other
 | |
|       operating systems on the disk are using.  You can then enter this
 | |
|       geometry in the partition editor.
 | |
| 
 | |
|     <sect1>
 | |
|       <heading>Any restrictions on how I divide the disk up?</heading>
 | |
| 
 | |
|       <p>Yes. You must make sure that your root partition is below 1024
 | |
|       cylinders so the BIOS can boot the kernel from it.  (Note that this
 | |
|       is a limitation in the PC's BIOS, not FreeBSD).
 | |
| 
 | |
|       <p>For a SCSI drive, this will normally imply that the root partition
 | |
|       will be in the first 1024MB (or in the first 4096MB if extended
 | |
|       translation is turned on - see previous question).  For IDE, the
 | |
|       corresponding figure is 504MB.
 | |
| 
 | |
|     <sect1>
 | |
|       <heading>
 | |
|         What about disk managers? Or, I have a large drive!
 | |
|       </heading>
 | |
| 
 | |
|       <p>FreeBSD recognizes the Ontrack Disk Manager and makes allowances
 | |
|       for it. Other disk managers are not supported.
 | |
| 
 | |
|       <p>If you just want to use the disk with FreeBSD you don't need a
 | |
|       disk manager. Just configure the disk for as much space as the
 | |
|       BIOS can deal with (usually 504 megabytes), and FreeBSD
 | |
|       should figure out how much space you really have. If you're using
 | |
|       an old disk with an MFM controller, you may need to explicitly
 | |
|       tell FreeBSD how many cylinders to use.
 | |
| 
 | |
|       <p>If you want to use the disk with FreeBSD and another operating
 | |
|       system, you may be able to do without a disk manager: just make sure
 | |
|       the the FreeBSD boot partition and the slice for the other
 | |
|       operating system are in the first 1024 cylinders. If you're
 | |
|       reasonably careful, a 20 megabyte boot partition should be plenty.
 | |
| 
 | |
|     <sect1>
 | |
|       <heading>
 | |
|         When I boot FreeBSD I get ``Missing Operating System''
 | |
|         <label id="missing_os">
 | |
|       </heading>
 | |
| 
 | |
|       <p>This is classically a case of FreeBSD and DOS or some other OS
 | |
|       conflicting over their ideas of disk <ref id="geometry"
 | |
|       name="geometry.">  You will have to reinstall FreeBSD, but obeying the
 | |
|       instructions given above will almost always get you going.
 | |
| 
 | |
|     <sect1>
 | |
|       <heading>I can't get past the boot manager's `F?' prompt.</heading>
 | |
| 
 | |
|       <p>This is another symptom of the problem described in the preceding
 | |
|       question.  Your BIOS geometry and FreeBSD geometry settings do
 | |
|       not agree!  If your controller or BIOS supports cylinder
 | |
|       translation (often marked as ``>1GB drive support''), try
 | |
|       toggling its setting and reinstalling FreeBSD.
 | |
| 
 | |
|     <sect1>
 | |
|       <heading>
 | |
|         I have >16MB of RAM. Will this cause any problems?<label id="bigram">
 | |
|       </heading>
 | |
| 
 | |
|       <p>Apart from performance issues, no.  FreeBSD 2.X comes with bounce
 | |
|       buffers which allow your bus mastering controller access to greater
 | |
|       than 16MB. (Note that this should only be required if you are using
 | |
|       ISA devices, although one or two broken EISA and VLB devices may
 | |
|       need it as well).
 | |
| 
 | |
|       <p>Also look at the section on <ref id="reallybigram"
 | |
|       name=">64M machines"> if you have that much memory,
 | |
|       or if you're using a Compaq or other BIOS that lies about
 | |
|       the available memory.
 | |
| 
 | |
|     <sect1>
 | |
|       <heading>Do I need to install the complete sources?</heading>
 | |
| 
 | |
|       <p>In general, no.  However, we would strongly recommend that you
 | |
|       install, at a minimum, the ``<tt/base/'' source kit, which
 | |
|       includes several of the files mentioned here, and the
 | |
|       ``<tt/sys/'' (kernel) source kit, which includes sources for the
 | |
|       kernel.  There is nothing in the system which requires the
 | |
|       presence of the sources to operate, however, except for the
 | |
|       kernel-configuration program 
 | |
|       <htmlurl url="http://www.freebsd.org/cgi/man.cgi?config"
 | |
|       name="config">.  With the exception
 | |
|       of the kernel sources, our build structure is set up so that you
 | |
|       can read-only mount the sources from elsewhere via NFS and still
 | |
|       be able to make new binaries.  (Because of the kernel-source
 | |
|       restriction, we recommend that you not mount this on
 | |
|       <tt>/usr/src</tt> directly, but rather in some other location
 | |
|       with appropriate symbolic links to duplicate the top-level
 | |
|       structure of the source tree.)
 | |
| 
 | |
|       <p>Having the sources on-line and knowing how to build a system with
 | |
|       them will make it much easier for you to upgrade to future
 | |
|       releases of FreeBSD.
 | |
| 
 | |
|       <p>To actually select a subset of the sources, use the Custom
 | |
|       menu item when you are in the Distributions menu of the
 | |
|       system installation tool.  The <tt>src/install.sh</tt> script
 | |
|       will also install partial pieces of the source distribution,
 | |
|       depending on the arguments you pass it.
 | |
| 
 | |
|     <sect1>
 | |
|       <heading>Do I need to build a kernel?</heading>
 | |
| 
 | |
|       <p>Building a new kernel was originally pretty much a required
 | |
|       step in a FreeBSD installation, but more recent releases have
 | |
|       benefited from the introduction of a much friendlier kernel
 | |
|       configuration tool. When at the FreeBSD boot prompt (boot:),
 | |
|       use the "-c" flag and you will be dropped into a visual
 | |
|       configuration screen which allows you to configure the kernel's
 | |
|       settings for most common ISA cards.
 | |
| 
 | |
|       <p>It's still recommended that you eventually build a new
 | |
|       kernel containing just the drivers that you need, just to save a
 | |
|       bit of RAM, but it's no longer a strict requirement for most
 | |
|       systems.
 | |
| 
 | |
|     <sect1>
 | |
|       <heading>I live outside the US. Can I use DES encryption?</heading>
 | |
| 
 | |
|       <p>If it is not absolutely imperative that you use DES style
 | |
|       encryption, you can use FreeBSD's default encryption for even
 | |
|       <bf/better/ security, and with no export restrictions.  FreeBSD
 | |
|       2.0's password default scrambler is now <bf/MD5/-based, and is
 | |
|       more CPU-intensive to crack with an automated password cracker
 | |
|       than DES, and allows longer passwords as well. The only reason
 | |
|       for not using the <bf/MD5/-based crypt today would be to use the
 | |
|       the same password entries on FreeBSD and non-FreeBSD systems.
 | |
| 
 | |
|       <p>Since the DES encryption algorithm cannot legally be exported
 | |
|       from the US, non-US users should not download this software (as
 | |
|       part of the <tt/secrdist/ from US FTP sites.
 | |
| 
 | |
|       <p>There is however a replacement libcrypt available, based on
 | |
|       sources written in Australia by David Burren.  This code is now
 | |
|       available on some non-US FreeBSD mirror sites.  Sources for the
 | |
|       unencumbered libcrypt, and binaries of the programs which use it,
 | |
|       can be obtained from the following FTP sites:
 | |
| 
 | |
|       <descrip>
 | |
|         <tag/South Africa/
 | |
|           <tt>ftp://ftp.internat.freebsd.org/pub/FreeBSD</tt><newline>
 | |
|           <tt>ftp://storm.sea.uct.ac.za/pub/FreeBSD</tt>
 | |
| 
 | |
|         <tag/Brazil/
 | |
|           <tt>ftp://ftp.iqm.unicamp.br/pub/FreeBSD</tt>
 | |
| 
 | |
|         <tag/Finland/
 | |
|           <tt>ftp://nic.funet.fi/pub/unix/FreeBSD/eurocrypt</tt>
 | |
|       </descrip>
 | |
| 
 | |
|       <p>The non-US <tt/securedist/ can be used as a direct replacement
 | |
|       for the encumbered US <tt/securedist/.  This <tt/securedist/
 | |
|       package is installed the same way as the US package (see
 | |
|       installation notes for details).  If you are going to install DES
 | |
|       encryption, you should do so as soon as possible, before
 | |
|       installing other software.
 | |
| 
 | |
|       <p>Non-US users should please not download any encryption software
 | |
|       from the USA.  This can get the maintainers of the sites from
 | |
|       which the software is downloaded into severe legal difficulties.
 | |
| 
 | |
|       <p>A non-US distribution of Kerberos is also being developed, and
 | |
|       current versions can generally be obtained by anonymous FTP from
 | |
|       <tt>braae.ru.ac.za</tt>.
 | |
| 
 | |
|       <p>There is also a <ref id="mailing" name="mailing list"> for the
 | |
|       discussion of non-US encryption software.  For more information, send
 | |
|       an email message with a single line saying ``<tt/help/'' in the body
 | |
|       of your message to
 | |
| 
 | |
|           <tt><majordomo@braae.ru.ac.za></tt>.
 | |
| 
 | |
|    <sect1>
 | |
|     <heading>The boot floppy starts but hangs at the ``Probing Devices...''
 | |
|      screen.</heading>
 | |
| 
 | |
|     <p>If you have a IDE Zip or Jaz drive installed, remove it and try again.
 | |
|     The boot floppy can get confused by the drives.
 | |
|     After the system is installed you can reconnect the drive.  Hopefully
 | |
|     this will be fixed in a later release.
 | |
| 
 | |
|    <sect1>
 | |
|     <heading>I get a ``panic: cant mount root'' error when rebooting the system after installation.</heading>
 | |
| 
 | |
|     <p>This error comes from confusion between the boot block's and the 
 | |
|     kernel's understanding of the disk devices.  The error usually 
 | |
|     manifests on two-disk IDE systems, with the hard disks arranged as the
 | |
|     master or single device on separate IDE controllers, with FreeBSD
 | |
|     installed on the secondary IDE controller.  The boot blocks think
 | |
|     the system is installed on wd1 (the second BIOS disk) while the kernel
 | |
|     assigns the first disk on the secondary controller device wd2.  After
 | |
|     the device probing, the kernel tries to mount what the boot blocks 
 | |
|     think is the boot disk, wd1, while it is really wd2, and fails.
 | |
| 
 | |
|     <p>To fix the problem, do one of the following:
 | |
| 
 | |
|     <enum>
 | |
|      <item>At the Boot: prompt, enter
 | |
|      <tt>1:wd(2,a)kernel</tt> and press Enter. If the system starts, then
 | |
|      run the command 
 | |
| <verb>
 | |
| echo "1:wd(2,a)kernel" > /boot.config
 | |
| </verb>
 | |
|      to make it the default boot string.
 | |
|      <item>Move the FreeBSD disk onto the primary IDE controller, so the 
 | |
|      hard disks are consecutive.
 | |
|      <item><url url="../handbook/kernelconfig.html" name="Rebuild your kernel,">
 | |
|      modify the wd configuration lines to read:
 | |
| 
 | |
| <verb>
 | |
| controller      wdc0    at isa? port "IO_WD1" bio irq 14 vector wdintr
 | |
| disk            wd0     at wdc0 drive 0
 | |
| # disk            wd1     at wdc0 drive 1 # comment out this line
 | |
| 
 | |
| controller      wdc1    at isa? port "IO_WD2" bio irq 15 vector wdintr
 | |
| disk            wd1     at wdc1 drive 0 # change from wd2 to wd1
 | |
| disk            wd2     at wdc1 drive 1 # change from wd3 to wd2
 | |
| </verb>
 | |
| 
 | |
|      Install the new kernel.
 | |
|      If you moved your disks and wish to restore the previous 
 | |
|      configuration, replace the disks in the desired configuration and reboot.
 | |
|      Your system should boot successfully.
 | |
| 
 | |
|     </enum>
 | |
| 
 | |
|    <sect1>
 | |
|      <heading>What are the limits for memory?</heading>
 | |
|      
 | |
|      <p>For memory, the (theoretical) limit is 4 gigabytes.  One gigabyte
 | |
|      has been tested; you generally can't buy i386 PCs that can support
 | |
|      much more than that.
 | |
| 
 | |
|      <sect1>
 | |
|      <heading>What are the limits for ffs filesystems?</heading>
 | |
|      
 | |
|      <p>For ffs filesystems, the maximum theoretical limit is 8 terabytes
 | |
|      (2G blocks), or 16TB for the default block size of 8K.
 | |
|      In practice, there is a soft limit of 1 terabyte, but with modifications
 | |
|      filesystems with 4 terabytes are possible (and exist).
 | |
| 
 | |
|      <p>The maximum size of a single ffs file is approximately 1G blocks 
 | |
|      (4TB) if the block size is 4K.
 | |
| 
 | |
|      <verb>
 | |
|                            maxfilesize
 | |
|                 ----------------------------------
 | |
|                 2.2.7    3.0
 | |
| fs block size   -stable  -current  works  should-work
 | |
| -------------   -------  --------  -----  -----------
 | |
| 4K              4T-1       4T-1    4T-1   4+T
 | |
| 8K              32+G       8T-1    32+G   16T-1
 | |
| 16K             128+G      16T-1   128+G  32T-1
 | |
| 32K             512+G      32T-1   512+G  64T-1
 | |
| 64K             2048+G     64T-1   2048+G 128T-1
 | |
|      </verb>
 | |
| 
 | |
|      <p>When the fs block size is 4K, triple indirect blocks work and
 | |
|      everything should be limited by the maximum fs block number that can
 | |
|      be represented using triple indirect blocks (approx. 1K^3 + 1K^2 +
 | |
|      1K), but everything is limited by a (wrong) limit of 1G-1 on fs block
 | |
|      numbers.  The limit on fs block numbers should be 2G-1.  There are
 | |
|      some bugs for fs block numbers near 2G-1, but such block numbers are
 | |
|      unreachable when the fs block size is 4K.
 | |
| 
 | |
|      <p>For block sizes of 8K and larger, everything should be limited
 | |
|      by the 2G-1 limit on fs block numbers, but is actually limited by the
 | |
|      1G-1 limit on fs block numbers, except under -stable triple indirect
 | |
|      blocks are unreachable, so the limit is the maxiumum fs block number
 | |
|      that can be represented using double indirect blocks
 | |
|      (approx. (blocksize/4)^2 + (blocksize/4)), and under -current
 | |
|      exceeding this limit may cause problems.  Using the correct limit of
 | |
|      2G-1 blocks does cause problems.
 | |
| 
 | |
|      <sect1>
 | |
|      <heading>How can I put 1TB files on my floppy?</heading>
 | |
| 
 | |
|      <p>I keep several virtual ones on floppies :-).  The maxiumum
 | |
|      file size is not closely related to the maximum disk size.  The
 | |
|      maximum disk size is 1TB.  It is a feature that the file size can be
 | |
|      larger than the disk size.
 | |
| 
 | |
|      <p>The following example creates a file of size 8T-1 using a
 | |
|      whole 32K of disk space (3 indirect blocks and 1 data block) on a
 | |
|      small root partition.  The dd command requires a dd that works with
 | |
|      large files.
 | |
| 
 | |
| <verb>
 | |
| ttyv0:bde@alphplex:/tmp/q> cat foo
 | |
| df .
 | |
| dd if=/dev/zero of=z bs=1 seek=`echo 2^43 - 2 | bc` count=1
 | |
| ls -l z
 | |
| du z
 | |
| df .
 | |
| ttyv0:bde@alphplex:/tmp/q> sh foo
 | |
| Filesystem  1024-blocks     Used    Avail Capacity  Mounted on
 | |
| /dev/sd0a         64479    27702    31619    47%    /
 | |
| 1+0 records in
 | |
| 1+0 records out
 | |
| 1 bytes transferred in 0.000187 secs (5346 bytes/sec)
 | |
| -rw-r--r--  1 bde  bin  8796093022207 Sep  7 16:04 z
 | |
| 32	z
 | |
| Filesystem  1024-blocks     Used    Avail Capacity  Mounted on
 | |
| /dev/sd0a         64479    27734    31587    47%    /
 | |
| ttyv0:bde@alphplex:/tmp/q> exit
 | |
| </verb>
 | |
| 
 | |
| <p>Bruce Evans, September 1998
 | |
| 
 | |
|   <sect1>
 | |
|     <heading>I compiled a new kernel and now I get the error message "archsw.readin.failed" when booting.</heading>
 | |
|  
 | |
|     <p>You can boot by specifying the kernel directly at the second
 | |
|     stage, pressing any key when the | shows up before loader is
 | |
|     started. More specifically, you have upgraded the source for your
 | |
|     kernel, and installed a new kernel builtin from them <em>without making
 | |
|     world</em>. This is not supported. Make world.
 | |
|   </sect>
 | |
| 
 |