OpenSolaris Developer's Reference

The contents of this Documentation are subject to the Public Documentation License Version 1.01 (the "License"); you may only use this Documentation if you comply with the terms of this License. A copy of the License is available at http://www.opensolaris.org/os/community/documentation/license.

July 2006


Table of Contents

1. Introduction
1.1 Overview
1.2 Getting Help
1.3 Quick Start
1.3.1 Example Environment
1.3.2 Installing a Binary Distribution
1.3.3 Building ON from Source
1.3.3.2 Performing a Basic Build
1.3.4 Upgrading to the Latest ON Bits
1.3.5 Mini-Projects
1.4 Conventions
1.5 Contributors
2. Prerequisites
2.1 Hardware
2.1.1 Development Environment
2.1.2 Build Environment
2.1.3 Test Environment
2.2 Operating Environment Packages
2.3 Obtaining and Installing Compilers
Example 1: Installing Studio 10 compilers, installed image
Example 2: Installing Studio 10 compilers, full product
2.4 Obtaining and Installing Custom Tools
Example 3: Installing the ON build tools
2.5 Environment Variables
3. The Source Tree
3.1 Retrieving the Sources
3.1.1 Obtaining Sources via Tarball
3.2 Tour of Your ON Workspace
3.2.1 Organization
3.2.2 Object Directories
3.2.3 Makefile Layout
3.2.4 Makefile Operation
3.2.5 ISA Dependencies
3.2.6 Understanding Kernel Module Installation
3.2.7 Finding Sources for a Module
3.2.8 Source Files not Included
3.3 Using Your Workspace
3.3.1 Getting Ready to Work
3.3.2 Editing Files
3.3.3 Modifying the ON Build System
3.4 Keeping Your Workspace in Sync
4. Building OpenSolaris
4.1 Environment Variables
4.2 Using nightly and bldenv
4.2.1 Options
4.2.2 Using Environment Files
4.2.3 Variables
4.3 Using Make
4.4 Build Products
4.4.1 Proto Area
4.4.2 BFU Archives
4.4.3 Packages
5. Installing and Testing ON
5.1 Installation Overview
5.1.1 Cap-Eye-Install
5.1.2 BFU
5.1.3 Flag Days and Other Hazards
5.2 Using Cap-Eye-Install to Install Kernels
5.2.1 Caveats
5.2.2 Platform-Specific Information
5.3 Using BFU to Install ON
5.3.1 Caveats
5.3.2 Resolving Conflicts
5.3.3 BFU and Zones
5.4 Test Suites
6. Integration Procedure
6.1 Code Review Process
6.2 Licensing Requirements
7. Best Practices and Requirements
7.1 Compatibility and Visibility Constraints
7.1.1 Interface Stability Taxonomy
7.1.2 Library Considerations
7.2 Style Guide
7.2.1 Automated Style Tools
7.2.3 Non-Formatting Considerations
7.2.4 Integration Requirements
7.3 Testing Guidelines
7.4 Using Lint
7.5 Tips and Suggestions
A. Glossary