|Version 2 (modified by 8 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 etc include 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 apps -> common/apps preferences -> common/preferences
The structure mostly equals the pre-package management directory structure with the following changes:
developdirectory has been removed and it's contents has been moved to the
common/developdirectories as appropriate.
optionalhas been removed. Optional features can just be installed via the package manager.
common/sharehas been removed. It's contents goes to
preferenceshave been moved to
commonfor consistency, though symlinks remain for convenience.
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).