diff options
author | Christos.K <freedomrfox@gmail.com> | 2017-08-29 17:58:44 +0300 |
---|---|---|
committer | Christos.K <freedomrfox@gmail.com> | 2017-08-29 17:58:44 +0300 |
commit | d55908c449f87cb07bd5cd54af53520e589c3ee5 (patch) | |
tree | d08944bb11895fa7c2614dd531c2f48edbcaee23 /docs | |
parent | Wiki (diff) | |
download | GSE-d55908c449f87cb07bd5cd54af53520e589c3ee5.tar.gz GSE-d55908c449f87cb07bd5cd54af53520e589c3ee5.tar.bz2 GSE-d55908c449f87cb07bd5cd54af53520e589c3ee5.zip |
wiki && moved Guides under docs
Diffstat (limited to 'docs')
-rw-r--r-- | docs/Examples-TBU | 5 | ||||
-rw-r--r-- | docs/Guides-TBU | 9 | ||||
-rw-r--r-- | docs/guides/Guide-Builder | 16 | ||||
-rw-r--r-- | docs/guides/Guide-Controller | 60 |
4 files changed, 90 insertions, 0 deletions
diff --git a/docs/Examples-TBU b/docs/Examples-TBU new file mode 100644 index 0000000..3170f4f --- /dev/null +++ b/docs/Examples-TBU @@ -0,0 +1,5 @@ +# Examples TBU + +The examples will include extra subparts for the guides + +For example setting the arch, defining new distdir, setting controller's modules diff --git a/docs/Guides-TBU b/docs/Guides-TBU new file mode 100644 index 0000000..a6e07c3 --- /dev/null +++ b/docs/Guides-TBU @@ -0,0 +1,9 @@ +# Guides that will be added soon are: + - Guide for configuring system's builder areas + Example: - Configuring the minimum space requirement during the checks prior to initiating the builder + - Configuring the builder's warp time functions + - Configuring the builder's system configuration files + - Configuring the controller's configuration files + - Using the controller's cmdline arguments + - Using the --build-controller arguments + diff --git a/docs/guides/Guide-Builder b/docs/guides/Guide-Builder new file mode 100644 index 0000000..1fc1c7f --- /dev/null +++ b/docs/guides/Guide-Builder @@ -0,0 +1,16 @@ +# Guide for System Builder +The system builder is consisted from a number of scripts that take atvantage of Gentoo features to build a system that is prepared for stateless boot and function. + +To read more about the project, read the gse.5 under docs directory + +To build a system, run: + - cd bin (it's under the projects git directory) + 1) ./gse --base=base_arg --option1 --option2 --option3 + To read more about command line options from gse.1 under docs directory + 2) ./gse + This option, without any cmdline arguments will bring up the gse text menu for a guide + +Whatever the method of build is, at the end you will end up with a stage3 tarball under dist.d inside the project's directory. + +The above image will be used by the initramfs functions (controller) to fetch it, extract, configure it and boot it at the end. + diff --git a/docs/guides/Guide-Controller b/docs/guides/Guide-Controller new file mode 100644 index 0000000..d618c36 --- /dev/null +++ b/docs/guides/Guide-Controller @@ -0,0 +1,60 @@ +# Guide for controller build + +The controller is a set of functions and scripts inside the initramfs image which is a product created by dracut package +To read more about the controller's concep read man gse.5, while to read more about the controllers options read man ctfse.1 +Both of those man pages are under t he docs directory inside the project's git directory + +Note: Before you attempt to build the controller, your system (the one you use for the build) must support (include) the following packages: + - sys-apps/pciutils + - sys-fs/btrfs-progs + - sys-fs/cryptsetup + - app-crypt/gnupg + - sys-block/open-iscsi + - sys-block/nbd + - net-fs/nfs-utils + - net-nds/rpcbind + - dev-libs/openssl + - app-admin/syslog-ng + - sys-fs/device-mapper + - net-misc/dhcp + - sys-apps/iproute2 + +The above packages are required for the dracut modules to function. A guid and detailed list about those can be found at: https://wiki.gentoo.org/wiki/Dracut + + +To build the controller, run + - Create a kernel image with the modules and builtins you wish + - Build the controller: + - cd bin + - ./gse --build-controller --opt1 --opt2 --opt3 ... + +The created image will be saved inside dist.d directory. To use this image you need to create a bootable device. +The device can be any physical medium that can be made bootable and support bootloader functions. + +The methos based on the drive's interface variate +You can find a guide about configuring the devices for boot at the Gentoo wiki: https://wiki.gentoo.org/wiki/Handbook:AMD64/Full/Installation#Introduction_to_block_devices +And you can find more informations about grub(if you choose grub as the bootloader) at: https://www.gnu.org/software/grub/manual/grub.html + +When you have a bootable medium there are only 4 steps left. + 1) Move the kernel & controller image to the bootable medium + 2) Update the grub.cfg entries to link on those images + 3) Pass the following parameters at grub.cfg kernels cmdline: + - root=LABEL=SYSFS + - rd.neednet=1 + - ip=dhcp + - ctetc=1 + Example: linux /vmlinuz-4.12.5-gentoo root=LABEL=SYSFS rd.neednet=1 ip=dhcp + 4) Create 3 partitions on the device/s you want with the following labels: SYSFS BACKUPFS BOOTFS + The BOOTFS label must be given to the bootable partition you created. + Example, if you wish to use /dev/sdb2 for system, /dev/sdc2 for backup partition + and your bootloader is on /dev/sda2 and all those partitions host ext4 filesystem, then: + e2label /dev/sda2 BOOTFS && mkfs.ext4 -L SYSFS /dev/sdb2 && mkfs.ext4 -L BACKUPFS /dev/sdc2 + + There is 1 more Label that can be created on anextra partition, but it is not essential for the boot process + + This is: USERDATAFS. The USERDATAFS should be given at any drive that you wish to use for storage. + The USERDATAFS label provides an extra security layer from the controller, since all controller's actions are shielded on a device with such a label. + +When done, plug the bootable medium to a machine and boot it. If everything was done as should, the process should fetch an image, configure it and boot it. + + |