Fultus Links
  Fultus: Corporate Web Site
  Fultus Writers Network
  Fultus Book Superstore
FreeBSD Documentation
  Fultus Book Superstore - FreeBSD
  Books
    List of eBooks
    A project model for the FreeBSD Project
      Table of Contents
      Foreword
      Overview
      Definitions
        Table of Contents
        Activity
        Process
        Hat
        Outcome
        FreeBSD
      Organisational structure
      Methodology model
        Development model
        Release branches
        Model summary
      Hats
        General Hats
        Official Hats
        Process dependent hats
      Processes
        Adding new and removing old committers
        Adding/Removing an official CVSup Mirror
        Committing code
        Core election
        Development of new features
        Maintenance
        Problem reporting
        Reacting to misbehaviour
        Release engineering
      Tools
        Concurrent Versions System (CVS)
        CVSup
        GNATS
        Mailman
        Perforce
        Pretty Good Privacy
        Secure Shell
      Sub-projects
        The Ports Subproject
        The FreeBSD Documentation Project
      References
    FreeBSD FAQ
      Copyright
      Table of Contents
      Introduction
      Documentation and Support
      Installation
      Hardware compatibility
        General
        Architectures and processors
        Hard drives, tape drives, and CD and DVD drives
        Keyboards and mice
        Networking and serial devices
        Sound devices
        Other hardware
      Troubleshooting
      Commercial Applications
      User Applications
      Kernel Configuration
      Disks, Filesystems, and Boot Loaders
      System Administration
      The X Window System and Virtual Consoles
      Networking
      Security
      PPP
      Serial Communications
      Miscellaneous Questions
      The FreeBSD Funnies
      Advanced Topics
      Acknowledgments
      Bibliography
    FreeBSD Handbook
      Copyright
      Table of Contents
      Preface
      Getting Started
        Table of Contents
        Introduction
          Table of Contents
          Synopsis
          Welcome to FreeBSD!
          About the FreeBSD Project
        Installing FreeBSD
          Table of Contents
          Synopsis
          Pre-installation Tasks
          Starting the Installation
          Introducing Sysinstall
          Allocating Disk Space
          Choosing What to Install
          Choosing Your Installation Media
          Committing to the Installation
          Post-installation
          Supported Hardware
          Troubleshooting
          Advanced Installation Guide
          Preparing Your Own Installation Media
        Unix Basics
          Table of Contents
          Synopsis
          Virtual Consoles and Terminals
          Permissions
          Directory Structure
          Disk Organization
          Mounting and Unmounting File Systems
          Processes
          Daemons, Signals, and Killing Processes
          Shells
          Text Editors
          Devices and Device Nodes
          Binary Formats
          For More Information
        Installing Applications: Packages and Ports
          Table of Contents
          Synopsis
          Overview of Software Installation
          Finding Your Application
          Using the Packages System
          Using the Ports Collection
          Post-installation Activities
          Dealing with Broken Ports
        The X Window System
          Table of Contents
          Synopsis
          Understanding X
          Installing X11
          X11 Configuration
          Using Fonts in X11
          The X Display Manager
          Desktop Environments
      Common Tasks
        Table of Contents
        Desktop Applications
          Table of Contents
          Synopsis
          Browsers
          Productivity
          Document Viewers
          Finance
          Summary
        Multimedia
          Table of Contents
          Synopsis
          Setting Up the Sound Card
          MP3 Audio
          Video Playback
          Setting Up TV Cards
          Image Scanners
        Configuring the FreeBSD Kernel
          Table of Contents
          Synopsis
          Why Build a Custom Kernel?
          Building and Installing a Custom Kernel
          The Configuration File
          If Something Goes Wrong
        Printing
          Table of Contents
          Synopsis
          Introduction
          Basic Setup
          Advanced Printer Setup
          Using Printers
          Alternatives to the Standard Spooler
          Troubleshooting
        Linux Binary Compatibility
          Table of Contents
          Synopsis
          Installation
          Installing Mathematica
          Installing Maple
          Installing MATLAB
          Installing Oracle
          Installing SAP R/3
          Advanced Topics
      System Administration
        Table of Contents
        Configuration and Tuning
          Table of Contents
          Synopsis
          Initial Configuration
          Core Configuration
          Application Configuration
          Starting Services
          Configuring the cron Utility
          Using rc under FreeBSD 5.X and newer
          Setting Up Network Interface Cards
          Virtual Hosts
          Configuration Files
          Tuning with sysctl
          Tuning Disks
          Tuning Kernel Limits
          Adding Swap Space
          Power and Resource Management
          Using and Debugging FreeBSD ACPI
        The FreeBSD Booting Process
          Table of Contents
          Synopsis
          The Booting Problem
          The MBR, and Boot Stages One, Two, and Three
          Kernel Interaction During Boot
          Device Hints
          Init: Process Control Initialization
          Shutdown Sequence
        Users and Basic Account Management
          Table of Contents
          Synopsis
          Introduction
          The Superuser Account
          System Accounts
          User Accounts
          Modifying Accounts
          Limiting Users
          Groups
        Security
          Table of Contents
          Synopsis
          Introduction
          Securing FreeBSD
          DES, MD5, and Crypt
          One-time Passwords
          TCP Wrappers
          KerberosIV
          Kerberos5
          OpenSSL
          VPN over IPsec
          OpenSSH
          File System Access Control Lists
          Monitoring Third Party Security Issues
          FreeBSD Security Advisories
          Process Accounting
        Mandatory Access Control
          Table of Contents
          Synopsis
          Key Terms in this Chapter
          Explanation of MAC
          Understanding MAC Labels
          Planning the Security Configuration
          Module Configuration
          The MAC bsdextended Module
          The MAC ifoff Module
          The MAC portacl Module
          The MAC partition Module
          The MAC Multi-Level Security Module
          The MAC Biba Module
          The MAC LOMAC Module
          Nagios in a MAC Jail
          User Lock Down
          Troubleshooting the MAC Framework
        Security Event Auditing
          Table of Contents
          Synopsis
          Key Terms - Words to Know
          Installing Audit Support
          Audit Configuration
          Event Audit Administration
        Storage
          Table of Contents
          Synopsis
          Device Names
          Adding Disks
          RAID
          USB Storage Devices
          Creating and Using Optical Media (CDs)
          Creating and Using Optical Media (DVDs)
          Creating and Using Floppy Disks
          Creating and Using Data Tapes
          Backups to Floppies
          Backup Strategies
          Backup Basics
          Network, Memory, and File-Backed File Systems
          File System Snapshots
          File System Quotas
          Encrypting Disk Partitions
          Encrypting Swap Space
        GEOM: Modular Disk Transformation Framework
          Table of Contents
          Synopsis
          GEOM Introduction
          RAID0 - Striping
          RAID1 - Mirroring
          GEOM Gate Network Devices
        The Vinum Volume Manager
          Table of Contents
          Synopsis
          Disks Are Too Small
          Access Bottlenecks
          Data Integrity
          Vinum Objects
          Some Examples
          Object Naming
          Configuring Vinum
          Using Vinum for the Root Filesystem
        Localization - I18N/L10N Usage and Setup
          Table of Contents
          Synopsis
          The Basics
          Using Localization
          Compiling I18N Programs
          Localizing FreeBSD to Specific Languages
        The Cutting Edge
          Table of Contents
          Synopsis
          FreeBSD-CURRENT vs. FreeBSD-STABLE
          Synchronizing Your Source
          Rebuilding "world"
          Tracking for Multiple Machines
      Network Communication
        Table of Contents
        Serial Communications
          Table of Contents
          Synopsis
          Introduction
          Terminals
          Dial-in Service
          Dial-out Service
          Setting Up the Serial Console
        PPP and SLIP
          Table of Contents
          Synopsis
          Using User PPP
          Using Kernel PPP
          Troubleshooting PPP Connections
          Using PPP over Ethernet (PPPoE)
          Using PPP over ATM (PPPoA)
          Using SLIP
        Electronic Mail
          Table of Contents
          Synopsis
          Using Electronic Mail
          sendmail Configuration
          Changing Your Mail Transfer Agent
          Troubleshooting
          Advanced Topics
          SMTP with UUCP
          Setting Up to Send Only
          Using Mail with a Dialup Connection
          SMTP Authentication
          Mail User Agents
          Using fetchmail
          Using procmail
        Network Servers
          Table of Contents
          Synopsis
          The inetd "Super-Server"
          Network File System (NFS)
          Network Information System (NIS/YP)
          Automatic Network Configuration (DHCP)
          Domain Name System (DNS)
          BIND9 and FreeBSD
          Apache HTTP Server
          File Transfer Protocol (FTP)
          File and Print Services for Microsoft Windows clients (Samba)
          Clock Synchronization with NTP
        Firewalls
          Introduction
          Firewall Concepts
          Firewall Packages
          The OpenBSD Packet Filter (PF) and ALTQ
          The IPFILTER (IPF) Firewall
          IPFW
        Advanced Networking
          Table of Contents
          Synopsis
          Gateways and Routes
          Wireless Networking
          Bluetooth
          Bridging
          Diskless Operation
          ISDN
          Network Address Translation
          Parallel Line IP (PLIP)
          IPv6
          Asynchronous Transfer Mode (ATM)
      Appendices
        Table of Contents
        Obtaining FreeBSD
          Table of Contents
          CDROM and DVD Publishers
          FTP Sites
          Anonymous CVS
          Using CTM
          Using CVSup
          Using Portsnap
          CVS Tags
          AFS Sites
          rsync Sites
        Bibliography
          Table of Contents
          Books & Magazines Specific to FreeBSD
          Users' Guides
          Administrators' Guides
          Programmers' Guides
          Operating System Internals
          Security Reference
          Hardware Reference
          UNIX History
          Magazines and Journals
        Resources on the Internet
          Table of Contents
          Mailing Lists
          Usenet Newsgroups
          World Wide Web Servers
          Email Addresses
          Shell Accounts
        PGP Keys
          Table of Contents
          Officers
          Core Team Members
          Developers
      FreeBSD Glossary
      Index
      Colophon
    FreeBSD Developer's Handbook
      Copyright
      Table of Contents
      Basics
        Table of Contents
        Introduction
          Table of Contents
          Developing on FreeBSD
          The BSD Vision
          Architectural Guidelines
          The Layout of /usr/src
        Programming Tools
          Table of Contents
          Synopsis
          Introduction
          Introduction to Programming
          Compiling with cc
          Make
          Debugging
          Using Emacs as a Development Environment
          Further Reading
        Secure Programming
          Table of Contents
          Synopsis
          Secure Design Methodology
          Buffer Overflows
          SetUID issues
          Limiting your program's environment
          Trust
          Race Conditions
        Localization and Internationalization - L10N and I18N
          Localization and Internationalization - L10N and I18N
        Source Tree Guidelines and Policies
          Table of Contents
          MAINTAINER on Makefiles
          Contributed Software
          Encumbered Files
          Shared Libraries
        Regression and Performance Testing
          Micro Benchmark Checklist
      Interprocess Communication
        Table of Contents
        * Signals
        Sockets
          Table of Contents
          Synopsis
          Networking and Diversity
          Protocols
          The Sockets Model
          Essential Socket Functions
          Helper Functions
          Concurrent Servers
        IPv6 Internals
          IPv6/IPsec Implementation
      Kernel
        Table of Contents
        DMA
          DMA: What it is and How it Works
        Bulding and Installing a FreeBSD Kernel
          Building a Kernel the "Traditional" Way
          Building a Kernel the "New" Way
        Kernel Debugging
          Table of Contents
          Obtaining a Kernel Crash Dump
          Debugging a Kernel Crash Dump with gdb
          Debugging a Crash Dump with DDD
          Post-Mortem Analysis of a Dump
          On-Line Kernel Debugging Using DDB
          On-Line Kernel Debugging Using Remote GDB
          Debugging Loadable Modules Using GDB
          Debugging a Console Driver
          Debugging Deadlocks
      Architectures
        Table of Contents
        x86 Assembly Language Programming
          Table of Contents
          Synopsis
          The Tools
          System Calls
          Return Values
          Creating Portable Code
          Our First Program
          Writing Unix Filters
          Buffered Input and Output
          Command Line Arguments
          Unix Environment
          Working with Files
          One-Pointed Mind
          Using the FPU
          Caveats
          Acknowledgements
      Appendices
        Bibliography
        Index
    FreeBSD Architecture Handbook
      Copyright
      Table of Contents
      Kernel
        Table of Contents
        Bootstrapping and kernel initialization
          Table of Contents
          Synopsis
          Overview
          BIOS POST
          boot0 stage
          boot2 stage
          loader stage
          Kernel initialization
        Locking Notes
          Table of Contents
          Mutexes
          Shared Exclusive Locks
          Atomically Protected Variables
        Kernel Objects
          Table of Contents
          Terminology
          Kobj Operation
          Using Kobj
        The Jail Subsystem
          Table of Contents
          Architecture
          Restrictions
        The Sysinit Framework
          Table of Contents
          Terminology
          SYSINIT Operation
          Using SYSINIT
        The TrustedBSD MAC Framework
          Table of Contents
          MAC Documentation Copyright
          Synopsis
          Introduction
          Policy Background
          MAC Framework Kernel Architecture
          MAC Policy Architecture
          MAC Policy Entry Point Reference
          Userland Architecture
          Conclusion
        Virtual Memory System
          Table of Contents
          Management of physical memory--vm_page_t
          The unified buffer cache--vm_object_t
          Filesystem I/O--struct buf
          Mapping Page Tables--vm_map_t, vm_entry_t
          KVM Memory Mapping
          Tuning the FreeBSD VM system
        SMPng Design Document
          Table of Contents
          Introduction
          Basic Tools and Locking Fundamentals
          General Architecture and Design
          Specific Locking Strategies
          Implementation Notes
          Miscellaneous Topics
          Glossary
      Device Drivers
        Table of Contents
        Writing FreeBSD Device Drivers
          Table of Contents
          Introduction
          Dynamic Kernel Linker Facility - KLD
          Accessing a device driver
          Character Devices
          Block Devices (Are Gone)
          Network Drivers
        ISA device drivers
          Table of Contents
          Synopsis
          Basic information
          Device_t pointer
          Configuration file and the order of identifying and probing during auto-configuration
          Resources
          Bus memory mapping
          DMA
          xxx_isa_probe
          xxx_isa_attach
          xxx_isa_detach
          xxx_isa_shutdown
          xxx_intr
        PCI Devices
          Table of Contents
          Probe and Attach
          Bus Resources
        Common Access Method SCSI Controllers
          Table of Contents
          Synopsis
          General architecture
          Polling
          Asynchronous Events
          Interrupts
          Errors Summary
          Timeout Handling
        USB Devices
          Table of Contents
          Introduction
          Host Controllers
          USB Device Information
          Device probe and attach
          USB Drivers Protocol Information
        Newbus
          Table of Contents
          Device Drivers
          Overview of Newbus
          Newbus API
        Sound subsystem
          Table of Contents
          Introduction
          Files
          Probing, attaching, etc.
          Interfaces
        PC Card
          Adding a device
      Appendices
        Bibliography
      Index
    FreeBSD Porter's Handbook
      Copyright
      Table of Contents
      Introduction
      Making a port yourself
      Quick Porting
        Table of Contents
        Writing the Makefile
        Writing the description files
          pkg-descr
          pkg-plist
        Creating the checksum file
        Testing the port
        Checking your port with portlint
        Submitting the port
      Slow Porting
        Table of Contents
        How things work
        Getting the original sources
        Modifying the port
        Patching
        Configuring
        Handling user input
      Configuring the Makefile
        Table of Contents
        The original source
        Naming
          PORTNAME and PORTVERSION
          PORTREVISION and PORTEPOCH
          PKGNAMEPREFIX and PKGNAMESUFFIX
          Package Naming Conventions
        Categorization
          CATEGORIES
          Current list of categories
          Choosing the right category
          Proposing a new category
          Proposing reorganizing all the categories
        The distribution files
          DISTVERSION/DISTNAME
          MASTER_SITES
          EXTRACT_SUFX
          DISTFILES
          EXTRACT_ONLY
          PATCHFILES
          Multiple distribution files or patches from different sites and subdirectories (MASTER_SITES:n)
          DIST_SUBDIR
          ALWAYS_KEEP_DISTFILES
        MAINTAINER
        COMMENT
        Dependencies
          LIB_DEPENDS
          RUN_DEPENDS
          BUILD_DEPENDS
          FETCH_DEPENDS
          EXTRACT_DEPENDS
          PATCH_DEPENDS
          DEPENDS
          USE_*
          Minimal version of a dependency
          Notes on dependencies
          Circular dependencies are fatal
        MASTERDIR
        Manpages
        Info files
        Makefile Options
          KNOBS
          OPTIONS
        Specifying the working directory
          WRKSRC
          NO_WRKSUBDIR
        CONFLICTS
      Special considerations
        Table of Contents
        Shared Libraries
        Ports with distribution restrictions
          NO_PACKAGE
          NO_CDROM
          NOFETCHFILES
          RESTRICTED
          RESTRICTED_FILES
        Building mechanisms
          make, gmake, and imake
          configure script
          Using scons
        Using GNU autotools
          Introduction
          libtool
          libltdl
          autoconf and autoheader
          automake and aclocal
        Using GNU gettext
          Basic usage
          Optional usage
          Handling message catalog directories
        Using Perl
        Using X11
          Variable definitions
          Ports that require Motif
          X11 fonts
          Getting fake DISPLAY using Xvfb
          Desktop entries
        Using GNOME
        Using KDE
        Using Java
          Variable definitions
          Building with Ant
          Best practices
        Using Apache and PHP
          Apache
          PHP
          PEAR modules
        Using Python
        Using Emacs
        Using Ruby
        Using SDL
        Using wxWidgets
        Using Lua
          Introduction
          Version selection
          Component selection
          Detecting installed versions
          Defined variables
          Processing in bsd.port.pre.mk
        Starting and stopping services (rc scripts)
      Advanced pkg-plist practices
        Changing pkg-plist based on make variables
        Empty directories
          Cleaning up empty directories
          Creating empty directories
        Configuration files
        Dynamic vs. static package list
        Automated package list creation
      The pkg-* files
        Table of Contents
        pkg-message
        pkg-install
        pkg-deinstall
        pkg-req
        Changing the names of pkg-* files
        Making use of SUB_FILES and SUB_LIST
      Testing your port
        Table of Contents
        Running make describe
        Portlint
        PREFIX and DESTDIR
        Tinderbox
      Upgrading
      Ports security
        Table of Contents
        Why security is so important
        Fixing security vulnerabilities
        Keeping the community informed
          The VuXML database
          A short introduction to VuXML
          Testing your changes to the VuXML database
          If VuXML still scares you...
      Dos and Don'ts
        Table of Contents
        Introduction
        Stripping Binaries
        INSTALL_* macros
        WRKDIR
        WRKDIRPREFIX
        Differentiating operating systems and OS versions
        __FreeBSD_version values
        Writing something after bsd.port.mk
        Install additional documentation
        Subdirectories
        Use the exec statement in wrapper scripts
        UIDs and GIDs
        Do things rationally