unix/dualinit

readme.md in master
Repositories | Summary | Log | Files | LICENSE

readme.md (2470B) download


 1# DualINIT
 2
 3A meta-init system for Linux to 'dualboot' multiple Linux distributions in user-space sharing one Linux kernel
 4
 5> :warning: Work in progress!
 6
 7## Installation
 8
 9### Building the executable
10
11You are required to have:
12
13-   [Git](https://git-scm.com/)
14-   [GCC for your Linux-architecture](https://www.gnu.org/software/gcc/)
15-   [GNU make](https://www.gnu.org/software/make/)
16
17> If you are building DualINIT for an other architecture than your host, grab a cross-compiler and set the environment-variable `CC` to your compiler-path.
18
19Now you can invoke the commands to clone this repository and compile `bin/dualinit`:
20
21```
22$ git clone https://github.com/friedelschoen/dualinit.git
23$ cd dualinit
24$ make bin/dualinit
25```
26
27Congratulations! :tada: You have a fresh built of DualINIT, you can continue to set up a running dualinit-system.
28
29If something went wrong, feel free to open an issue!
30
31### Getting Started
32
33Some dictionaries and files in the filesystem-root are required for DualINIT and Linux to work:
34
35-   `/boot` - the Linux kernel and bootloader
36-   `/dev` - an empty dictionary filled by the kernel with various devices
37-   `/proc` - an empty dictionary filled by the kernel with process information
38-   `/sys` - an empty dictionary filled by the kernel with various kernel files
39-   `/sbin/init` - the dualinit executable
40-   `/etc/dualinit.conf` - dualinit configuration
41-   `/<section>` - a section to be loaded
42-   `/<section>/{dev,sys,proc}` - pseudo-filesystems binded from root
43-   `/<section>/{run,tmp}` - temporary dictionaries for services and applications
44-   `/<section>/dualinit` - the filesystem-root to configure DualINIT
45-   `/<section>/boot` - can be mounted to `/boot` to update the kernel, bootloader, etc.
46
47Resulting in a structure like that:
48
49```
50/
51├── boot/
52│  ├── initramfs-x.x.img
53│  ├── vmlinuz-x.x
54│  └── ...
55├── dev/
56├── etc/
57│  └── dualinit.conf
58├── proc/
59├── sbin/
60│  └── init
61├── sys/
62└── <section>/
63   ├── dev/
64   ├── sys/
65   ├── proc/
66   ├── run/
67   ├── tmp/
68   ├── dualinit/
69   └── (boot/)
70```
71
72## Configuration
73
74Move the [basic configuration-file](/docs/dualinit.conf) to `/etc/dualinit.conf` and edit it to fit your needs.
75
76A reference to all commands can be found [here](/docs/config.md).
77
78## License
79
80This whole project is licensed under the beautiful terms of the [`zlib-license`](LICENSE).