1/*! 2 \page storage_intro Introduction to the storage kit 3 4\section Filesystem hierarchy 5 6The filesystems are organized in a hierarchy starting at the root directory (which has the path 7'/'). Unlike on typical UNIX systems, the root filsystem is not a mass storage filesystem that 8the OS was booted from. Instead, it is a virtual filesystem that can only contain directories, 9symbolic links, and mountpoints. 10 11All the other filesystems are mounted as subdirectories of the root filesystem or further down 12in the file hierarchy. 13 14The booted filesystem (what would be the rootfs in a typical UNIX) is mounted in '/boot'. For 15convenience, several links are created in the rootfs to well-known directories ('/bin', '/var', 16etc). These point into the corresponding directories in /boot/system, which are managed by 17packagefs. 18 19The packagefs is a read-only union filesystem that makes available the content of various software 20packages (installed as .hpkg files) to constitute the entire /boot/system directory. The files can 21be accessed either as a complete filesystem hierarchy directly in /boot/system, or by referencing 22specific packages exposed in /boot/system/package-links (each directory is a view of the packagefs, 23containing only the files for a given package and all its dependencies). In theory, this allows 24packages to be exposed in the package-links directory even while they are not actually "activated" 25in the main system hierarchy. It also allows to access a version of a file provided by a specific 26package, in the case that two packages provide identically named files. 27 28While packagefs is mostly read-only, some directories (called "shine-through") are actually 29exposing the content of the underlying filesystem. This includes for example the "config" directory 30(for configuration files) and the "non-packaged" directory, where a mirror of the standard 31filesystem hierarchy is available for non packaged software. This can be used to install software 32locally that is not available yet in HPKG form (for example, as a destination for "make install"). 33 34For a complete list of directories and how to access them in a way that is safe to future 35filesystem reorganizations, see \link find_directory, \link find_path, and \link BPathFinder. 36 37*/ 38 39/*! 40\addtgroup storage 41 42See \link storage_intro for general concepts and filesystem hierarchy description. 43 44*/ 45