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 build system
- Release engineering
- The standard C library
- The Debugger kit
- The MIDI Kit
- The Network Stack
- 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
- Application Server
- Registrar Protocols
- Kernel
- Filesystem drivers
- Device drivers
- Bus drivers
- HaikuDepot and Server Interactions