Date: Fri, 4 Sep 1998 17:02:19 -0700 (PDT) From: Greg Lehey <grog> To: FreeBSD-questions@FreeBSD.ORG Subject: "The Complete FreeBSD", first edition: errata and addenda Message-ID: <199809050002.RAA00925@hub.freebsd.org>
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. If you have this book, please check this list. If you have the second edition (16 December 1997), please check the parallel posting or get the file at ftp://www.lemis.com/pub/cfbsd/errata-2. 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 (grog@freebsd.org). --- 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 book. --- 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 system. 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 information). 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 MICROP 2112-15MQ1094802 HQ48 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: <UNUSED> 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 disk. 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 insert 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 read: 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 bugs. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199809050002.RAA00925>