Welcome to Haiku internals’s documentation!¶
Target audience¶
This documentation is aimed at people who want to contribute to Haiku by modifying the operating system itself. It covers various topics, both technical (how things work) and organizational (patch submission process, for example).
This document might also be useful to application developers trying to understand the behavior of the operating system in some specific cases, however, the API documentation should answer most of the questions in this area already.
This documentation assumes basic knowledge of C++ and the Be API, if you need more information about that, please see the Learning to program with Haiku book.
Status of this document¶
The work on this book has just started, many sections are incomplete or missing. Here is a list of other resources that could be useful:
- The Haiku website has several years of blog posts and articles documenting many aspects of the system,
- The Coding guidelines describes how code should be formatted,
- The User guide documents Haiku from the users’ point of view and can be useful to understand how things are supposed to work,
- The Haiku Interface Guidelines document graphical user interface conventions,
- The Haiku Icon Guidelines gives some rules for making icons fitting with the style of the existing ones.
Table of contents¶
- The configure script
- Building Haiku with Jam
- HaikuPorts build-packages repository
- HaikuDepot and Server Interactions
- Package Management
- Building Packages
- Boot Volume Directory Structure
- Haiku Package File Format
- Hybrid Builds
- Package Management Infrastructure
- Migration to Package Management
- Packaging Policy
- Bootstrapping Haiku
- packagefs
- Package Daemon
- Package building
- Package kit/manager
- Boot loader
- Package/package repository format
- Miscellaneous
- Package Management Ideas
- Device Driver Architecture
- Plug and Play Manager
- Notes on long double support
- Filesystem drivers
- Disk driver ioctls
- Intel video hardware generations
- AGP (and PCI-express) Graphics Address Re-Mapping Table
- Bluetooth overview
- SDHCI MMC Driver
- The USB stack
- Using PCI serial ports for debugging