aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristos.K <freedomrfox@gmail.com>2017-08-29 15:07:29 +0300
committerChristos.K <freedomrfox@gmail.com>2017-08-29 15:07:29 +0300
commit79d0f6e96ce952f85b02c4279f8b40ea3927e487 (patch)
tree980b2afa10428374b4afc3f57e5698a9fdce1f3f
parentBug report entry (diff)
downloadGSE-79d0f6e96ce952f85b02c4279f8b40ea3927e487.tar.gz
GSE-79d0f6e96ce952f85b02c4279f8b40ea3927e487.tar.bz2
GSE-79d0f6e96ce952f85b02c4279f8b40ea3927e487.zip
Updated guides
-rw-r--r--Guide-Builder (renamed from Guide)5
-rw-r--r--Guide-Controller54
2 files changed, 57 insertions, 2 deletions
diff --git a/Guide b/Guide-Builder
index 82a14f8..1fc1c7f 100644
--- a/Guide
+++ b/Guide-Builder
@@ -2,8 +2,9 @@
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 /path/to/"gse git dir"i/bin
+ - 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
@@ -11,5 +12,5 @@ To build a system, run:
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.
-TBU
+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/Guide-Controller b/Guide-Controller
new file mode 100644
index 0000000..47b02a5
--- /dev/null
+++ b/Guide-Controller
@@ -0,0 +1,54 @@
+# 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
+ Example: linux /vmlinuz-4.12.5-gentoo root=LABEL=SYSFS rd.neednet=1 ip=dhcp
+ 4) Create 2 partitions on the device/s you want with the following labels: SYSFS BACKUPFS
+ Example: mkfs.ext4 -L SYSFS /dev/sdb4 && mkfs.ext4 -L BACKUPFS /dev/sdc2
+
+ There are 2 more Labels that can be created on 2 extra partitions, but those are not essential for the boot process.
+ Those are: BOOTFS and USERDATAFS. The BOOTFS should be given at the bootloaders partition while the USERDATAFS 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.
+