DANIX modules
Discover best DANIX feature! Customizable system modules.

DANIX is using Unionfs filesystem, which is unique way to union files from more filesystems into one. This allows to boot the system system from one medium (which can be readonly) and store changes into another medium. Unionfs creates illusion that we are having one filesystem, even if its containing many layers (similar to layers used in image manipulating applications).
Files from all unioned filesystem will be available in union.
Dependency between modules
Every DANIX module can be viewed as set of changed files. Module depends on another module, and contains files which should be different. Module named bootstrap (or bstrap) contains minimal deboostrapped Debian system (difference from nothing).
When you boot DANIX first time, you will probably use ramdisk to store changes (this is default behaviour). But if you will create your own module on medium which can be used in readwrite mode in Linux, you can store changes into your module by adding boot option mod=mymod1. You can create more custom modules which might contain different set of data, applications or settings.
Boot option mod=MODNAME will pick up selected module to be used as top layer. If there was boot option norw, or MODNAME cannot be opened for readwrite, one extra ramdisk module will be added (ramdisk contents will be lost when you reboot).
Now all modules which our selected module MODNAME depends recursively on will be mounted readonly and unioned using Unionfs.
If you choose mod=kde, you will get:
RAMDISK (readwrite) -> kde(ro) -> kdebase -> base -> bstrap.
if you create your own module work, you will get system consisting of layers:
work (readwrite) -> kde (ro) -> kdebase -> base -> bstrap.
When you will create your DANIX module, you will be asked which module to depend on. You will probably want to select module named kde, but if you want to start with minimal set of applications (in text mode), you can select base or kdebase (kdebase is better if you want to use GUI). If you want to start minimal version (for embedded systems or small filesystem devices), you might maybe want to use base.
How to create modules?
During boot, there is a message telling you to press [Enter] in next few seconds to enter Menu.The menu contains module management functions, including:
- create new module
- delete module
- pack module - this will reduce size to approximatelly 35% of used space and disables writing into the module (packed modules can be opened only as readonly for now)
- unpack module - this will unpack selected module, which allows you to write into it again.
During operations with modules you will be presented by series of dialogs, which should be easy to answer. if you do not know what module to depend on, you might want to select the one having kde in name.
If you somehow fail to create good module, nothing bad happens - in worst case you wll just delete the bad module (or directly the folder danix/modules/NAME from disk).
If you run into any problems, you can add comment to this page, or ask us on IRC.