Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 13 Jul 1997 17:02:02 -0700 (PDT)
From:      Greg Lehey <grog>
Subject:   Errata and addenda in "The Complete FreeBSD"
Message-ID:  <>

Next in thread | Raw E-Mail | Index | Archive | Help
The trouble with books is that you can't update them the way you can a
web page or any other online documentation.  The result is that most
leading edge computer books are out of date almost before they are
printed.  Unfortunately, "The Complete FreeBSD", published by Walnut
Creek, is no exception.  Since going to press, a number of anomalies
have surfaced.  

The following is a list of modifications which go beyond simple typos.
They relate to the first edition, formatted on 19 July 1996 (at the
time of writing the only edition that is available).  If you have this
book, please check this list.  I apply these changes to the current
source of the book, so if you buy a later edition, they will be in it
as well.  If you find a bug or a suspected bug in the book, please
contact me (

  --- Changes: 5 December 1996 ---

Page 192: Middle of the page, the indented small print comment.
Replace with:

   If your system doesn't have the directory /usr/src/sys, then the kernel
   source has not been installed.  To install from the CD-ROM, perform the
   following steps:
   # mkdir -p /usr/src/sys
   # ln -s /usr/src/sys /sys
   # cd /
   # cat /cdrom/dists/src/sys.* | tar xzvf -
   The symbolic link /sys for /usr/src/sys is not strictly
   necessary, but it's a good idea: some software uses it, and otherwise you may
   end up with two different copies of the sources.

  --- Changes: 28 November 1996 ---

Page 135, second paragraph:  replace with

   In addition, you may need to create the device nodes if they don't
   already exist.  By default, the system contains four virtual
   terminal devices in the /dev directory.  If you use more than this
   number, you must create them, either with MAKEDEV (see page 162),
   or with mknod (see page 573).  When calculating how many devices
   you need, note that if you intend to run X11, you need a terminal
   device without a getty for the X server.  For example, if you have
   enabled /dev/ttyv3, /dev/ttyv4, and /dev/ttyv5, and you also want
   to run X, you will need a total of 7 virtual terminals (/dev/ttyv0
   through /dev/ttyv6).  With MAKEDEV, you specify how many virtual
   terminals you need:

   # cd /dev
   # ./MAKEDEV vty7		make 7 vtys

   Alternatively, you can do this with mknod:

   # cd /dev
   # ls -l ttyv0
   crw-------  1 root  wheel   12,   0 Nov 28 10:25 ttyv0
   # mknod ttyv3 c 12 3
   # mknod ttyv4 c 12 4
   # mknod ttyv5 c 12 5
   # mknod ttyv6 c 12 6

   In this example, you list the entry for /dev/ttyv0 in order to
   check the major device number of the virtual terminals (that's the
   12, in this example; it may change from one release to another).
   You need to specify this number to mknod.  For more details about
   major and minor device numbers, see page 160.

  --- Changes: 20 November 1996 ---

Figure 10-4, page 172:  The devices in the FreeBSD slice are called
/dev/sd1s2a through /dev/sd1s2h, not /dev/sd1s3a through /dev/sd1s3h
as shown.

Figure 10-6, page 176: The devices in the FreeBSD slice are *still*
called /dev/sd1s2a through /dev/sd1s2h, not /dev/sd1s1a through
/dev/sd1s1h as shown.  (Well, at least the average turned out right :-)

The man page section (pages 225 to 766) was sorted by ASCII name of
the man page, with the result that the man pages whose names start
with upper-case letters come before those whose names start with
lower-case letters.  Sorry about that.  If you're looking for a man
page, probably the best place to start is in the Table of Contents on
page vi.

The man pages are really just excerpts.  The total FreeBSD man pages
format to some 6,000 pages, far more than I could possibly put in this

    --- Changes: 1 November 1996 ---

Major changes:

1.  No difference in installation from ATAPI CD-ROM drives.

    When "The Complete FreeBSD" was written, you still needed a
    separate installation procedure for installing from ATAPI CD-ROM
    drives.  This is no longer the case.  The following modifications
    to the text come as a result:

    Page 14, table: Remove references to atapiflp.bat and
    inst_ide.bat.  FreeBSD 2.1.5 no longer has separate boot floppies
    and installation procedures for ATAPI CD-ROM drives.

    Page 29: Remove the text "You will also need a different boot disk
    (/cdrom/floppies/atapi.flp).  If you are creating the boot floppy
    with MS-DOS, you can use the file ATAPIFLP.BAT to create the
    floppy."  The resultant text reads:

        IDE CD-ROM drives, more properly called ATAPI CD-ROM drives,
	are a new kind of CD-ROM drive which connect to the same
	controller as your IDE hard disk.  Currently, FreeBSD 2.1.5
	support for ATAPI CD-ROM drives is in alpha test.  In order to
	install from an ATAPI CD-ROM, the drive must be jumpered as
	slave device.  The installation may or may not work--please
	let us know if it doesn't, especially if you can give us some
	indication about the cause of the trouble.  You can also
	create this boot diskette with the aid of the VIEW program
	(see Chapter 4, Installing FreeBSD, page 38).

    Page 35:  Remove the points referring to atapi.flp.  The text for
    the third box from the bottom of the page should read:

         If the direct boot doesn't work, you will need to make a boot
	 floppy, which may be either a 3 1/2" or a 5 1/4" diskette.
	 Create a boot floppy by copying the image /cdrom/boot.flp to
	 diskette.  Refer to Chapter 2, Installing FreeBSD, page 39.
	 If you have an IDE (ATAPI) CD-ROM drive, see also the section
	 on this kind of drive in Chapter 2, Installation Concepts,
	 page 29.

    Page 43, after first example: remove references to ATAPI.  The
    resultant text should read:

         Don't try this from MS Windows--the installation will fail
	 with the message not enough memory.  The boot will progress
	 in the same way as if you had booted from floppy.  The
	 advantage of starting VIEW is that you get more
	 documentation: ultimately VIEW will start INSTALL to boot the

	 INSTALL doesn't always work.  It depends on what drivers or
	 TSRs are in your system.  There's no reason to try changing
	 your MS-DOS configuration to get it to work: it's a lot
	 easier just to boot from floppy (see page 38 for further

2.  Changes to section on installing a second disk.

    Page 170:  The bottom paragraph should read:

	 When the message Three seconds until format
	 begins... appears, you can still change your mind by hitting
	 CTRL-C before the message Formatting... appears.  After that,
	 you can't stop the format: most disks can perform a format by
	 themselves, so scsiformat just issues the command to format
	 the disk.  Since there is no SCSI bus activity, the disk
	 activity lamp will also not light up, and since the
	 scsiformat program will just be waiting and not using any CPU
	 time, you could easily get the impression the nothing is
	 going on.  The disk format can take a long time--depending on
	 the disk, up to 90 minutes.

    Page 173, after table 10-5:  Add the text

         If you're unlucky, fdisk will give you a completely different
         idea of the disk geometry from what scsiformat did.  Possibly
         you can decide by examination which program is wrong, or
         maybe you can look at the dmesg output for a tie-breaker.  In
         all cases I have seen, it has been fdisk that returned the
         incorrect information, and only when the disk did not have a
         valid partition table.  For example, this happened with a
         disk formatted for BSD/OS:

         # scsiformat sd1

         Mode data length:  35
         Medium type:  0
         Device Specific Parameter:  0
         Block descriptor length:  8
         Density code:  0
         Number of blocks:  2051615
         Reserved:  0
         Block length:  512
         PS:  1
         Reserved:  0
         Page code:  4
         Page length:  22
         Number of Cylinders:  1760
         Number of Heads:  15
         Starting Cylinder-Write Precompensation:  0
         Starting Cylinder-Reduced Write Current:  0
         Drive Step Rate:  0
         Landing Zone Cylinder:  0
         Reserved:  0
         RPL:  0
         Rotational Offset:  0
         Reserved:  0
         Medium Rotation Rate:  5400
         Reserved:  0
         Reserved:  0
         # fdisk sd1
         ******* Working on device /dev/rsd1 *******
         parameters extracted from in-core disklabel are:
         cylinders=160 heads=256 sectors/track=50 (12800 blks/cyl)

          Figures below won't work with BIOS for partitions not in cyl 1
         parameters to be used for BIOS calculations are:
         cylinders=160 heads=256 sectors/track=50 (12800 blks/cyl)

         Warning: BIOS sector numbering starts with sector 1
         Information from DOS bootblock is:
         The data for partition 0 is:
         sysid 255,(BBT (Bad Blocks Table))
             start 1023744, size 2108293151 (1029440 Meg), flag 0
                 beg: cyl 768/ sector 15/ head 147;
                 end: cyl 0/ sector 0/ head 255
         The data for partition 1 is:
         sysid 101,(Novell Netware 3.xx)
             start 1646292846, size 1814062195 (885772 Meg), flag 0
                 beg: cyl 356/ sector 50/ head 0;
                 end: cyl 256/ sector 50/ head 114
         The data for partition 2 is:
         sysid 0,(unused)
             start 0, size 0 (0 Meg), flag 61
                 beg: cyl 364/ sector 37/ head 98;
                 end: cyl 0/ sector 0/ head 0
         The data for partition 3 is:

         Looking at the output from dmesg, we see:

         (aha0:1:0): "MICROP 2112-15MQ1094802 HQ48" type 0 fixed SCSI 2
         sd1(aha0:1:0): Direct-Access 1001MB (2051615 512 byte sectors)
         sd1(aha0:1:0): with 1760 cyls, 15 heads, and an average 77 sectors/track

         In this case, then, you should use the parameters 1760
         cylinders, 15 heads, and 77 sectors per track.  What's less
         obvious here is the number of cylinders: fdisk doesn't have
         an opinion, and scsiformat and dmesg decided it has 2,051,615
         sectors.  Unfortunately, if you calculate the number
         according to the formula cylinders x heads x sectors, you'll
         come up with a different result: in this case 1760 x 15 x 77
         = 2,032,800.  How come?  The disks report the total number of
         sectors, including spare tracks and such, but you can't use
         them all.  The 2,032,800 is the correct number, and if you
         try to specify 2,051,615 to disklabel, it will spit out lots
         of messages about partitions which go beyond the end of the

    Page 173, middle of page.  Change the text after the "no magic"
    message to:

         The message no magic doesn't mean that fdisk is out of purple
	 smoke.  It refers to the fact that it didn't find the
	 so-called magic number, which identifies the partition table.
	 Since we don't have a partition table yet, this message isn't
	 surprising. It's also completely harmless.

    Page 173, last example.  Remove the first 22 lines, from

	 ******* Working on device /dev/rsd1 *******

    to, but not including the next occurrence of this line.

    Page 177, bulleted list: add the bullet

	 * The total number of sectors in the partition.  Calculate
	   the number from the the formula cylinders x heads x
	   sectors, even if you are using the whole disk: the output
	   from dmesg or scsiformat is not correct here.

    Page 178, middle of page: after

	 # disklabel -w -r /dev/sd1c cdc94161


         When you do this, expect a kernel message (in high-intensity
	 display) saying ``Cannot find disk label''.  Since there
	 isn't any label, it can't be found.  This is another harmless
	 chicken and egg problem.

    Page 182:  In the section "Creating the file systems", add the
    first line to the example:

	 # newfs /dev/rsd1h

    Further down the page, the last example should also read

	 # newfs /dev/rsd1h

3.  Other changes

    Page 41, after the heading "Installing from an MS-DOS partition".
    Add the text:

         It's also possible to install from a primary MS-DOS partition
         on the first disk.  At the moment, it's not possible to
         install from extended partitions.

    Page 136, bottom:  Add the text

	 If you are changing the root password, be careful: it's easy
	 enough to lock yourself out of the system if you mess things
	 up, which could happen if, for example, you mistyped the
	 password twice in the same way (don't laugh, it happens).  If
	 you're running X, open another window and use su to become
	 root.  If you're running in character mode, select another
	 virtual terminal and log in as root there.  Only when you're
	 sure you can still access root should you log out.

    Page 152, just before the heading "The online manual".  Add:

	 Yes, you really need to run latex three times in order to
	 build the cross-references.

    Page 199, the end of the multipage table is garbled.  It should

         ze0	214      IBM/National Semiconductor PCMCIA ethernet controller
	 zp0	214	 3Com PCMCIA Etherlink III

    Page 205:  Change the section titled "lpt0" to:

	 lpt0 through lpt2 are the three printer ports you could
	 conceivably have.  Most people don't have three printers: you
	 can comment out the definitions of the printers which you
	 don't have.

    Page 208, bottom of page: swap the italicized headings "Adaptec
    274X controller" and "Adaptec 1274X controller"

Many thanks to Paul DuBois and Jerry Dunham for finding many of these

Want to link to this message? Use this URL: <>