|Version 5 (modified by 7 years ago) ( diff ),|
Boot Volume Directory Structure
This is the directory layout of the boot volume:
common add-ons apps bin boot cache* data develop documentation lib non-packaged* packages* preferences settings* var* home/config <like common> system add-ons apps bin boot data demos develop documentation lib packages* preferences servers haiku_loader** kernel_<arch> runtime_loader trash
The structure mostly equals the pre-package management directory structure with the following changes:
developdirectory has been removed and its contents has been moved to the
common/developdirectories as appropriate.
includedirectory has been removed. Its contents lives in
optionalhas been removed. Optional features can just be installed via the package manager.
common/etchave been removed. Their contents goes to
preferenceshave been moved to
systemeach sport a
packagesdirectory, which contains the activated packages.
systemthemselves are mount points for three instances of the packagefs, i.e. each contains the virtually extracted contents of the activated packages in the respective
packagessubdirectories. The directories marked with
*are "shine-through" directories. They are not provided by the packagefs, but are the underlying directories of the boot volume. Unlike the other directories they are writable.
home/configeach contain a directory
non-packagedwhich has the same structure as their parent directory minus the shine-through directories. In the
non-packageddirectories software can be installed the traditional -- non-packaged -- way.
haiku_loaderrequires special treatment. While it is contained in the system package, it also needs to be extracted to the boot volume (also to
system), since otherwise the stage one boot loader wouldn't be able to load it (that would theoretically be possible, but there's just not enough space in the boot block for the code dealing with the package format).