Document Actions

DANIX modules

Discover best DANIX feature! Customizable system modules.


Unioning 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  

Dependency between modulesEvery 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.
You should try to create DANIX modules on filesystems friendly to Linux. It is not required to use all partition, DANIX will use only one directory named 'danix' in the disk partition you selected. It will not delete other files or format enything. If you have only NTFS filesystem, for now it is required to create another partition for DANIX. Best is ext3, but ext2, reiserfs, xfs, reiser4 or vfat should also work. If you have USB flashdisk, this is ideal for a module storage - you can take DVD and this USB  flashdisk with you to have your system with you all the time.

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.