FreeBSD Handbook
- 1. Introduction
- 1.1. FreeBSD in a Nutshell
- 1.2. A Brief History of FreeBSD
- 1.3. FreeBSD Project Goals
- 1.4. The FreeBSD Development Model
- 1.5. About the Current Release
- 2. Installing FreeBSD
- 2.1. Supported Configurations
- 2.1.1. Disk Controllers
- 2.1.2. Ethernet cards
- 2.1.3. Miscellaneous devices
- 2.2. Preparing for the Installation
- 2.2.1. Before installing from CDROM
- 2.2.2. Before installing from Floppy
- 2.2.3. Before installing from a MS-DOS partition
- 2.2.4. Before installing from QIC/SCSI Tape
- 2.2.5. Before installing over a network
- 2.2.5.1. Preparing for NFS installation
- 2.2.5.2. Preparing for FTP Installation
- 2.3. Installing FreeBSD
- 2.4. MS-DOS User's Questions and Answers
- 3. Unix Basics
- 3.1. The Online Manual
- 3.2. GNU Info Files
- 4. Installing Applications: The Ports collection
- 4.1. Why Have a Ports Collection?
- 4.2. How Does the Ports Collection Work?
- 4.3. Getting a FreeBSD Port
- 4.3.1. Compiling ports from CDROM
- 4.3.2. Compiling ports from the Internet
- 4.4. Skeletons
- 4.4.1. Makefile
- 4.4.2. The files directory
- 4.4.3. The patches directory
- 4.4.4. The pkg directory
- 4.5. What to do when a port does not work.
- 4.6. Some Questions and Answers
- 4.7. Making a port yourself
- 4.7.1. Quick Porting
- 4.7.1.1. Writing the Makefile
- 4.7.1.2. Writing the description files
- COMMENT
- DESCR
- PLIST
- 4.7.1.3. Creating the checksum file
- 4.7.1.4. Testing the port
- 4.7.1.5. Checking your port with portlint
- 4.7.1.6. Submitting the port
- 4.7.2. Slow Porting
- 4.7.2.1. How things work
- 4.7.2.2. Getting the original sources
- 4.7.2.3. Modifying the port
- 4.7.2.4. Patching
- 4.7.2.5. Configuring
- 4.7.2.6. Handling user input
- 4.7.3. Configuring the Makefile
- 4.7.3.1. The original source
- 4.7.3.2. DISTNAME
- 4.7.3.3. PKGNAME
- 4.7.3.4. CATEGORIES
- 4.7.3.5. MASTER_SITES
- 4.7.3.6. PATCHFILES
- 4.7.3.7. MAINTAINER
- 4.7.3.8. Dependencies
- LIB_DEPENDS
- RUN_DEPENDS
- BUILD_DEPENDS
- FETCH_DEPENDS
- DEPENDS
- Common dependency variables
- Notes on dependencies
- 4.7.3.9. Building mechanisms
- 4.7.4. Special Considerations
- 4.7.4.1.
ldconfig
- 4.7.4.2. ELF support
- Moving a.out libraries out of the way
- Format
- PORTOBJFORMAT
- Building shared libraries
-
LIB_DEPENDS
-
PLIST
-
ldconfig
- 4.7.4.3.
MASTERDIR
- 4.7.4.4. Shared library versions
- 4.7.4.5. Manpages
- 4.7.4.6. Ports that require Motif
- REQUIRES_MOTIF
- ${MOTIFLIB}
- 4.7.4.7. X11 fonts
- 4.7.4.8. Info files
- 4.7.5. The
pkg
Subdirectory
- 4.7.5.1.
MESSAGE
- 4.7.5.2.
INSTALL
- 4.7.5.3.
REQ
- 4.7.5.4. Changing
PLIST
based on make variables
- 4.7.5.5. Changing the names of files in the
pkg
subdirectory
- 4.7.6. Licensing Problems
- 4.7.7. Upgrading
- 4.7.8. Do's and Dont's
- 4.7.8.1. Strip Binaries
- 4.7.8.2. INSTALL_* macros
- 4.7.8.3.
WRKDIR
- 4.7.8.4.
WRKDIRPREFIX
- 4.7.8.5. Differentiating operating systems and OS versions
- 4.7.8.6. Writing something after
bsd.port.mk
- 4.7.8.7. Install additional documentation
- 4.7.8.8. DIST_SUBDIR
- 4.7.8.9. RCS strings
- 4.7.8.10. Recursive diff
- 4.7.8.11. PREFIX
- 4.7.8.12. Subdirectories
- 4.7.8.13. Cleaning up empty directories
- 4.7.8.14. UIDs
- 4.7.8.15. Do things rationally
- 4.7.8.16. Respect CFLAGS
- 4.7.8.17. Configuration files
- 4.7.8.18. Portlint
- 4.7.8.19. Feedback
- 4.7.8.20. Miscellanea
- 4.7.8.21. If you are stuck....
- 4.7.9. A Sample Makefile
- 4.7.10. Package Names
- 4.7.11. Categories
- 4.7.11.1. Current list of categories
- 4.7.11.2. Choosing the right category
- 4.7.12. Changes to this document and the ports system
- 4.7.13. That is It, Folks!
- 5. Configuring the FreeBSD Kernel
- 5.1. Why Build a Custom Kernel?
- 5.2. Building and Installing a Custom Kernel
- 5.3. The Configuration File
- 5.3.1. Mandatory Keywords
- 5.3.2. General Options
- 5.3.3. Filesystem Options
- 5.3.4. Basic Controllers and Devices
- 5.3.5. SCSI Device Support
- 5.3.6. Console, Bus Mouse, and X Server Support
- 5.3.7. Serial and Parallel Ports
- 5.3.8. Networking
- 5.3.9. Sound cards
- 5.3.10. Pseudo-devices
- 5.3.11. Joystick, PC Speaker, Miscellaneous
- 5.4. Making Device Nodes
- 5.5. If Something Goes Wrong
- 6. Security
- 6.1. DES, MD5, and Crypt
- 6.1.1. Recognizing your `
crypt
' mechanism
- 6.2. S/Key
- 6.2.1. Secure connection initialization
- 6.2.2. Insecure connection initialization
- 6.2.3. Diversion: a login prompt
- 6.2.4. Generating a single one-time password
- 6.2.5. Generating multiple one-time passwords
- 6.2.6. Restricting use of UNIX passwords
- 6.3. Kerberos
- 6.3.1. Creating the initial database
- 6.3.2. Making it all run
- 6.3.3. Creating the server file
- 6.3.4. Populating the database
- 6.3.5. Testing it all out
- 6.3.6. Adding
su
privileges
- 6.3.7. Using other commands
- 6.4. Firewalls
- 6.4.1. What is a firewall?
- 6.4.1.1. Packet filtering routers
- 6.4.1.2. Proxy servers
- 6.4.2. What does IPFW allow me to do?
- 6.4.3. Enabling IPFW on FreeBSD
- 6.4.4. Configuring IPFW
- 6.4.4.1. Altering the IPFW rules
- 6.4.4.2. Listing the IPFW rules
- 6.4.4.3. Flushing the IPFW rules
- 6.4.4.4. Clearing the IPFW packet counters
- 6.4.5. Example commands for ipfw
- 6.4.6. Building a packet filtering firewall
- 7. Printing
- 7.1. What the Spooler Does
- 7.2. Why You Should Use the Spooler
- 7.3. Setting Up the Spooling System
- 7.4. Simple Printer Setup
- 7.4.1. Hardware Setup
- 7.4.1.1. Ports and Cables
- 7.4.1.2. Parallel Ports
- 7.4.1.3. Serial Ports
- 7.4.2. Software Setup
- 7.4.2.1. Kernel Configuration
- Adding
/dev
Entries for the Ports
- Setting the Communication Mode for the Parallel Port
- Checking Printer Communications
- Checking a Parallel Printer
- Checking a Serial Printer
- 7.4.2.2. Enabling the Spooler: The
/etc/printcap
File
- Naming the Printer
- Suppressing Header Pages
- Making the Spooling Directory
- Identifying the Printer Device
- Configuring Spooler Communication
- Installing the Text Filter
- Trying It Out
- Troubleshooting
- 7.5. Using Printers
- 7.5.1. Printing Jobs
- 7.5.2. Checking Jobs
- 7.5.3. Removing Jobs
- 7.5.4. Beyond Plain Text: Printing Options
- 7.5.4.1. Formatting and Conversion Options
- 7.5.4.2. Job Handling Options
- 7.5.4.3. Header Page Options
- 7.5.5. Administrating Printers
- 7.6. Advanced Printer Setup
- 7.6.1. Filters
- 7.6.1.1. How Filters Work
- 7.6.1.2. Accommodating Plain Text Jobs on PostScript Printers
- 7.6.1.3. Simulating PostScript on Non-PostScript Printers
- 7.6.1.4. Conversion Filters
- Why Install Conversion Filters?
- Which Conversions Filters Should I Install?
- Installing Conversion Filters
- More Conversion Filter Examples
- Automated Conversion: An Alternative To Conversion Filters
- 7.6.1.5. Output Filters
- 7.6.1.6.
lpf
: a Text Filter
- 7.6.2. Header Pages
- 7.6.2.1. Enabling Header Pages
- 7.6.2.2. Controlling Header Pages
- 7.6.2.3. Accounting for Header Pages
- 7.6.2.4. Header Pages on PostScript Printers
- 7.6.3. Networked Printing
- 7.6.3.1. Printers Installed on Remote Hosts
- 7.6.3.2. Printers with Networked Data Stream Interfaces
- 7.6.4. Restricting Printer Usage
- 7.6.4.1. Restricting Multiple Copies
- 7.6.4.2. Restricting Access To Printers
- 7.6.4.3. Controlling Sizes of Jobs Submitted
- 7.6.4.4. Restricting Jobs from Remote Printers
- 7.6.5. Accounting for Printer Usage
- 7.6.5.1. Quick and Dirty Printer Accounting
- 7.6.5.2. How Can You Count Pages Printed?
- 7.7. Alternatives to the Standard Spooler
- 7.8. Acknowledgments
- 8. Disks
- 8.1. Using sysinstall
- 8.2. Using command line utilities
- 8.2.1. * Using Slices
- 8.2.2. Dedicated
- 8.3. * Non-traditional Drives
- 8.3.1. * Zip Drives
- 8.3.2. * Jazz Drives
- 8.3.3. * Sequest Drives
- 9. Backups
- 9.1. * What about backups to floppies?
- 9.2. Tape Media
- 9.2.1. 4mm (DDS: Digital Data Storage)
- 9.2.2. 8mm (Exabyte)
- 9.2.3. QIC
- 9.2.4. * Mini-Cartridge
- 9.2.5. DLT
- 9.2.6. Using a new tape for the first time
- 9.3. Backup Programs
- 9.3.1. Dump and Restore
- 9.3.2. Tar
- 9.3.3. Cpio
- 9.3.4. Pax
- 9.3.5. Amanda
- 9.3.6. Do nothing
- 9.3.7. Which Backup Program is Best?
- 9.3.8. Emergency Restore Procedure
- 9.3.8.1. Before the Disaster
- 9.3.8.2. After the Disaster
- 9.3.8.3. * I did not prepare for the Disaster, What Now?
- 10. Disk Quotas
- 10.1. Configuring Your System to Enable Disk Quotas
- 10.2. Setting Quota Limits
- 10.3. Checking Quota Limits and Disk Usage
- 10.4. * Quotas over NFS
- 11. The X Window System
- 12. PC Hardware compatibility
- 12.1. Resources on the Internet
- 12.2. Sample Configurations
- 12.2.1. Jordan's Picks
- 12.2.1.1. Motherboards
- 12.2.1.2. Disk Controllers
- 12.2.1.3. Disk drives
- 12.2.1.4. CDROM drives
- 12.2.1.5. CD Recordable (WORM) drives
- 12.2.1.6. Tape drives
- 12.2.1.7. Video Cards
- 12.2.1.8. Monitors
- 12.2.1.9. Networking
- 12.2.1.10. Serial
- 12.2.1.11. Audio
- 12.2.1.12. Video
- 12.3. Core/Processing
- 12.3.1. Motherboards, busses, and chipsets
- 12.3.1.1. * ISA
- 12.3.1.2. * EISA
- 12.3.1.3. * VLB
- 12.3.1.4. PCI
- 12.3.2. CPUs/FPUs
- 12.3.2.1. P6 class (Pentium Pro/Pentium II)
- 12.3.2.2. Pentium class
- Clock speeds
- The AMD K6 Bug
- 12.3.2.3. * 486 class
- 12.3.2.4. * 386 class
- 12.3.2.5. 286 class
- 12.3.3. * Memory
- 12.3.4. * BIOS
- 12.4. Input/Output Devices
- 12.4.1. * Video cards
- 12.4.2. * Sound cards
- 12.4.3. Serial ports and multiport cards
- 12.4.3.1. The UART: What it is and how it works
- Synchronous Serial Transmission
- Asynchronous Serial Transmission
- Other UART Functions
- The RS232-C and V.24 Standards
- RS232-C Bit Assignments (Marks and Spaces)
- RS232-C Break Signal
- RS232-C DTE and DCE Devices
- RS232-C Pin Assignments
- Bits, Baud and Symbols
- The IBM Personal Computer UART
- National Semiconductor UART Family Tree
- The NS16550AF and the PC16550D are the same thing
- National Semiconductor Part Numbering System
- Other Vendors and Similar UARTs
- 8250/16450/16550 Registers
- Beyond the 16550A UART
- 12.4.3.2. Configuring the
sio
driver
- Digi International (DigiBoard) PC/8
- Boca 16
- 12.4.3.3. Configuring the
cy
driver
- 12.4.4. * Parallel ports
- 12.4.5. * Modems
- 12.4.6. * Network cards
- 12.4.7. * Keyboards
- 12.4.8. * Mice
- 12.4.9. * Other
- 12.5. Storage Devices
- 12.5.1. Using ESDI hard disks
- 12.5.1.1. Concepts of ESDI
- Physical connections
- Device addressing
- Termination
- 12.5.1.2. Using ESDI disks with FreeBSD
- ESDI speed variants
- Stay on track
- Hard or soft sectoring
- Low level formatting
- Translations
- Spare sectoring
- Bad block handling
- Kernel configuration
- 12.5.1.3. Particulars on ESDI hardware
- Adaptec 2320 controllers
- Western Digital WD1007 controllers
- Ultrastor U14F controllers
- 12.5.1.4. Further reading
- 12.5.1.5. Thanks to...
- 12.5.2. What is SCSI?
- 12.5.2.1. Components of SCSI
- 12.5.2.2. SCSI bus types
- Single ended buses
- Differential buses
- Terminators
- Terminator power
- Device addressing
- Bus layout
- 12.5.2.3. Using SCSI with FreeBSD
- About translations, BIOSes and magic...
- SCSI subsystem design
- Kernel configuration
- Tuning your SCSI kernel setup
- Rogue SCSI devices
- Multiple LUN devices
- Tagged command queueing
- Busmaster host adapters
- 12.5.2.4. Tracking down problems
- 12.5.2.5. Further reading
- 12.5.3. * Disk/tape controllers
- 12.5.3.1. * SCSI
- 12.5.3.2. * IDE
- 12.5.3.3. * Floppy
- 12.5.4. Hard drives
- 12.5.4.1. SCSI hard drives
- Rotational speed
- Form factor
- Interface
- 12.5.4.2. * IDE hard drives
- 12.5.5. Tape drives
- 12.5.5.1. General tape access commands
- 12.5.5.2. Controller Interfaces
- 12.5.5.3. SCSI drives
- 4mm (DAT: Digital Audio Tape)
- 8mm (Exabyte)
- QIC (Quarter-Inch Cartridge)
- DLT (Digital Linear Tape)
- Mini-Cartridge
- Autoloaders/Changers
- 12.5.5.4. * IDE drives
- 12.5.5.5. Floppy drives
- 12.5.5.6. * Parallel port drives
- 12.5.5.7. Detailed Information
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 12.5.5.8. * Problem drives
- 12.5.6. CD-ROM drives
- 12.5.7. * Other
- 12.6. * Other
- 12.6.1. * PCMCIA
- 13. Localization
- 13.1. Russian Language (KOI8-R encoding)
- 13.1.1. Console Setup
- 13.1.2. Locale Setup
- 13.1.2.1. Login Class Method
- How to do it with vipw(8)
- How to do it with adduser(8)
- How to do it with pw(8)
- 13.1.2.2. Shell Startup Files Method
- 13.1.3. Printer Setup
- 13.1.4. MSDOS FS and Russian file names
- 13.1.5. X Window Setup
- 13.2. German Language (ISO 8859-1)
- 14. Serial Communications
- 14.1. Serial Basics
- 14.2. Terminals
- 14.2.1. Uses and Types of Terminals
- 14.2.1.1. Dumb Terminals
- 14.2.1.2. PCs Acting As Terminals
- 14.2.1.3. X Terminals
- 14.2.2. Cables and Ports
- 14.2.2.1. Cables
- Null-modem cables
- Standard RS-232C Cables
- 14.2.2.2. Ports
- Kinds of Ports
- Port Names
- 14.2.3. Configuration
- 14.2.3.1. Adding an Entry to
/etc/ttys
- 14.2.3.2. Specifying the
getty
Type
- 14.2.3.3. Specifying the Default Terminal Type
- 14.2.3.4. Enabling the Port
- 14.2.3.5. Specifying Secure Ports
- 14.2.3.6. Force
init
to Reread
- 14.2.4. Debugging your connection
- 14.3. Dialin Service
- 14.3.1. Prerequisites
- 14.3.1.1. FreeBSD Version
- 14.3.1.2. Terminology
- 14.3.1.3. External vs. Internal Modems
- 14.3.1.4. Modems and Cables
- 14.3.1.5. Serial Interface Considerations
- 14.3.2. Quick Overview
- 14.3.3. Kernel Configuration
- 14.3.4. Device Special Files
- 14.3.4.1. Making Device Special Files
- 14.3.5. Configuration Files
- 14.3.5.1. /etc/gettytab
- Locked-Speed Config
- Matching-Speed Config
- 14.3.5.2. /etc/ttys
- Locked-Speed Config
- Matching-Speed Config
- 14.3.5.3. /etc/rc.serial or /etc/rc.local
- 14.3.6. Modem Settings
- 14.3.6.1. Locked-speed Config
- 14.3.6.2. Matching-speed Config
- 14.3.6.3. Checking the Modem's Configuration
- 14.3.7. Troubleshooting
- 14.3.7.1. Checking out the FreeBSD system
- 14.3.7.2. Try Dialing In
- 14.3.8. Acknowledgments
- 14.4. Dialout Service
- 14.4.1. Why cannot I run
tip
or cu
?
- 14.4.2. My stock Hayes modem is not supported, what can I do?
- 14.4.3. How am I expected to enter these AT commands?
- 14.4.4. The
@
sign for the pn capability does not work!
- 14.4.5. How can I dial a phone number on the command line?
- 14.4.6. Do I have to type in the bps rate every time I do that?
- 14.4.7. I access a number of hosts through a terminal server.
- 14.4.8. Can tip try more than one line for each site?
- 14.4.9. Why do I have to hit CTRL+P twice to send CTRL+P once?
- 14.4.10. Suddenly everything I type is in UPPER CASE??
- 14.4.11. How can I do file transfers with
tip
?
- 14.4.12. How can I run zmodem with
tip
?
- 15. PPP and SLIP
- 15.1. Setting up User PPP
- 15.1.1. Before you start
- 15.1.2. Building a ppp ready kernel
- 15.1.3. Check the tun device
- 15.1.4. Name Resolution Configuration
- 15.1.4.1. Edit the /etc/host.conf file
- 15.1.4.2. Edit the /etc/hosts(5) file
- 15.1.4.3. Edit the /etc/resolv.conf file
- 15.1.5. PPP Configuration
- 15.1.5.1. PPP and Static IP addresses
- 15.1.5.2. PPP and Dynamic IP addresses
- 15.1.5.3. Receiving incoming calls with PPP
- Which getty?
- PPP permissions
- Setting up a PPP shell for dynamic-IP users
- Setting up a PPP shell for static-IP users
- Setting up ppp.conf for dynamic-IP users
- Setting up ppp.conf for static-IP users
- More on mgetty, AutoPPP, and MS extensions
- Mgetty and AutoPPP
- MS extentions
- 15.1.5.4. PAP and CHAP authentication
- 15.1.5.5. Changing your ppp configuration on the fly
- 15.1.6. Final system configuration
- 15.1.7. Summary
- 15.1.8. Acknowledgments
- 15.2. Setting up Kernel PPP
- 15.2.1. Working as a PPP client
- 15.2.2. Working as a PPP server
- 15.3. Setting up a SLIP Client
- 15.3.1. Things you have to do only once
- 15.3.2. Making a SLIP connection
- 15.3.3. How to shutdown the connection
- 15.3.4. Troubleshooting
- 15.4. Setting up a SLIP Server
- 15.4.1. Prerequisites
- 15.4.2. Quick Overview
- 15.4.2.1. An Example of a SLIP Server Login
- 15.4.3. Kernel Configuration
- 15.4.4. Sliplogin Configuration
- 15.4.4.1. slip.hosts Configuration
- 15.4.4.2. slip.login Configuration
- 15.4.4.3. slip.logout Configuration
- 15.4.5. Routing Considerations
- 15.4.5.1. Static Routes
- 15.4.5.2. Running gated
- 15.4.6. Acknowledgments
- 16. Advanced Networking
- 16.1. Gateways and Routes
- 16.1.1. An example
- 16.1.2. Default routes
- 16.1.3. Dual homed hosts
- 16.1.4. Routing propagation
- 16.1.5. Troubleshooting
- 16.2. NFS
- 16.3. Diskless Operation
- 16.3.1. Setup Instructions
- 16.3.2. Using Shared
/
and /usr
filesystems
- 16.3.3. Compiling netboot for specific setups
- 16.4. ISDN
- 16.4.1. ISDN Cards
- 16.4.2. ISDN Terminal Adapters
- 16.4.3. Standalone ISDN Bridges/Routers
- 17. Electronic Mail
- 17.1. Basic Information
- 17.1.1. User program
- 17.1.2. Mailhost Server Daemon
- 17.1.3. DNS - Name Service
- 17.1.4. POP Servers
- 17.2. Configuration
- 17.2.1. Basic
- 17.2.2. Mail for your Domain (Network).
- 17.2.3. Setting up UUCP.
- 17.3. FAQ
- 17.3.1. Why do I have to use the FQDN for hosts on my site?
- 17.3.2. Sendmail says ``mail loops back to myself''
- 17.3.3. How can I do E-Mail with a dialup PPP host?
- 18. The Cutting Edge: FreeBSD-current and FreeBSD-stable
- 18.1. Staying Current with FreeBSD
- 18.2. Staying Stable with FreeBSD
- 18.3. Synchronizing Source Trees over the Internet
- 18.3.1. Anonymous CVS
- 18.3.1.1. Introduction
- 18.3.1.2. Using Anonymous CVS
- 18.3.1.3. Examples
- 18.3.1.4. Other Resources
- 18.3.2. CTM
- 18.3.2.1. Why should I use
CTM
?
- 18.3.2.2. What do I need to use
CTM
?
- 18.3.2.3. Starting off with
CTM
for the first time
- 18.3.2.4. Using
CTM
in your daily life
- 18.3.2.5. Keeping your local changes
- 18.3.2.6. Other interesting CTM options
- Finding out exactly what would be touched by an update
- Making backups before updating
- Restricting the files touched by an update
- 18.3.2.7. Future plans for
CTM
- 18.3.2.8. Miscellaneous stuff
- 18.3.2.9. Thanks!
- 18.3.3. CVSup
- 18.3.3.1. Introduction
- 18.3.3.2. Installation
- 18.3.3.3. Configuration
- 18.3.3.4. Running CVSup
- 18.3.3.5. CVSup File Collections
- 18.3.3.6. Announcements, Questions, and Bug Reports
- 18.4. Using make world to rebuild your system
- 19. Contributing to FreeBSD
- 19.1. What Is Needed
- 19.1.1. High priority tasks
- 19.1.2. Medium priority tasks
- 19.1.3. Low priority tasks
- 19.1.4. Smaller tasks
- 19.2. How to Contribute
- 19.2.1. Bug reports and general commentary
- 19.2.2. Changes to the documentation
- 19.2.3. Changes to existing source code
- 19.2.4. New code or major value-added packages
- 19.2.5. Money, Hardware or Internet access
- 19.2.5.1. Donating funds
- 19.2.5.2. Donating hardware
- 19.2.5.3. Donating Internet access
- 19.3. Donors Gallery
- 19.4. Core Team Alumnus
- 19.5. Derived Software Contributors
- 19.6. Additional FreeBSD Contributors
- 19.7. 386BSD Patch Kit Patch Contributors
- 20. Source Tree Guidelines and Policies
- 20.1. MAINTAINER on Makefiles
- 20.2. Contributed Software
- 20.3. Shared Libraries
- 21. Adding New Kernel Configuration Options
- 21.1. What's a Kernel Option, Anyway?
- 21.2. Now What Do I Have to Do for it?
- 22. Kernel Debugging
- 22.1. Debugging a Kernel Crash Dump with KGDB
- 22.1.1. Debugging a crash dump with DDD
- 22.2. Post-mortem Analysis of a Dump
- 22.3. On-line Kernel Debugging Using DDB
- 22.4. On-line Kernel Debugging Using Remote GDB
- 22.5. Debugging a Console Driver
- 23. Linux Emulation
- 23.1. How to Install the Linux Emulator
- 23.1.1. Installing Linux Emulation in 2.1-STABLE
- 23.1.2. Installing Linux Emulation in 2.2.2-RELEASE and later
- 23.1.3. Installing Linux Runtime Libraries
- 23.1.3.1. Installing using the linux_lib port
- 23.1.3.2. Installing libraries manually
- 23.1.3.3. How to install additional shared libraries
- 23.1.3.4. Configuring the ld.so -- for FreeBSD 2.2-RELEASE and later
- 23.1.4. Installing Linux ELF binaries
- 23.1.5. Configuring the host name resolver
- 23.1.6. Finding the necessary files
- 23.2. How to Install Mathematica on FreeBSD
- 23.2.1. Unpacking the Mathematica distribution
- 23.2.2. Obtaining your Mathematica Password
- 23.2.3. Bugs
- 23.2.4. Acknowledgments
- 24. FreeBSD Internals
- 24.1. The FreeBSD Booting Process
- 24.1.1. Loading a kernel
- 24.1.2. Determine the root filesystem
- 24.1.3. Initialize user-land things
- 24.1.4. Interesting combinations
- 24.2. PC Memory Utilization
- 24.3. DMA: What it Is and How it Works
- 24.3.1. A Sample DMA transfer
- 24.3.2. DMA Page Registers and 16Meg address space limitations
- 24.3.3. DMA Operational Modes and Settings
- 24.3.4. Programming the DMA
- 24.3.5. DMA Port Map
- 24.3.5.1. 0x00 - 0x1f DMA Controller #1 (Channels 0, 1, 2 and 3)
- 24.3.5.2. 0xc0 - 0xdf DMA Controller #2 (Channels 4, 5, 6 and 7)
- 24.3.5.3. 0x80 - 0x9f DMA Page Registers
- 24.3.5.4. 0x400 - 0x4ff 82374 Enhanced DMA Registers
- 24.4. The FreeBSD VM System
- 24.4.1. Management of physical memory - vm_page_t
- 24.4.2. The unified buffer cache - vm_object_t
- 24.4.3. Filesystem I/O - struct buf
- 24.4.4. Mapping Page Tables - vm_map_t, vm_entry_t
- 24.4.5. KVM Memory Mapping
- 24.4.6. Tuning the FreeBSD VM system
- 25. Obtaining FreeBSD
- 25.1. CD-ROM Publishers
- 25.2. FTP Sites
- 25.3. CTM Sites
- 25.4. CVSup Sites
- 25.5. AFS Sites
- 26. Bibliography
- 26.1. Books & Magazines Specific to FreeBSD
- 26.2. Users' Guides
- 26.3. Administrators' Guides
- 26.4. Programmers' Guides
- 26.5. Operating System Internals
- 26.6. Security Reference
- 26.7. Hardware Reference
- 26.8. UNIX History
- 26.9. Magazines and Journals
- 27. Resources on the Internet
- 27.1. Mailing lists
- 27.1.1. List summary
- 27.1.2. How to subscribe
- 27.1.3. List charters
- 27.2. Usenet newsgroups
- 27.2.1. BSD specific newsgroups
- 27.2.2. Other Unix newsgroups of interest
- 27.2.3. X Window System
- 27.3. World Wide Web servers
- 28. FreeBSD Project Staff
- 28.1. The FreeBSD Core Team
- 28.2. The FreeBSD Developers
- 28.3. The FreeBSD Documentation Project
- 28.4. Who Is Responsible for What
- 29. PGP keys
- 29.1. Officers
- 29.1.1. FreeBSD Security Officer <security-officer@freebsd.org>
- 29.1.2. Warner Losh
- 29.2. Core Team members
- 29.2.1. Satoshi Asami
- 29.2.2. Jonathan M. Bresler
- 29.2.3. Andrey A. Chernov
- 29.2.4. Jordan K. Hubbard
- 29.2.5. Poul-Henning Kamp
- 29.2.6. Rich Murphey
- 29.2.7. John Polstra
- 29.2.8. Guido van Rooij
- 29.2.9. Peter Wemm
- 29.2.10. Jörg Wunsch
- 29.3. Developers
- 29.3.1. Wolfram Schneider
- 29.3.2. Brian Somers