summaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
authorJon Clausen <jac@nordu.net>2018-07-16 14:52:56 +0200
committerJon Clausen <jac@nordu.net>2018-07-16 14:52:56 +0200
commitf7c422941f67c7df60724368c0e3770b94faa491 (patch)
treea9a68ca4030c7a35c28c0e452ab9a5bae83bbec6 /README
parent09632c0f8b69528f238bd850be27afa33fc1206b (diff)
added README
Diffstat (limited to 'README')
-rw-r--r--README63
1 files changed, 63 insertions, 0 deletions
diff --git a/README b/README
new file mode 100644
index 0000000..bac3235
--- /dev/null
+++ b/README
@@ -0,0 +1,63 @@
+This is all very proof of concept, so assumptions about things are everywhere.
+
+The main goal is to be able to bootstrap the Supermicro SYS-5018D-FN8T 1U
+servers from scratch, with as little human intervention as possible.
+
+The kickstart template and scripts here accomplish that, up to and including
+cosmos bootstrap.
+
+c02vp1:ndn-boot-img-stuffs jac$ tree
+.
+|-- adapt-ks-template
+|-- create-boot-floppy
+|-- ks-template
+| `-- hw
+| `-- supermicro
+| `-- SYS-5018D-FN8T
+| `-- dtn-10g.ks
+`-- prep-boot-floppy-and-ks-config
+
+Run the wrapper script with options, something like this:
+
+jac@u1804-01:~$ ./bin/prep-boot-floppy-and-ks-config --host dtn-10g-01 \
+ -D nordu.net -I 109.105.122.136 -M 255.255.255.192 -G 109.105.122.129 \
+ --sec-ip 10.10.10.4 --sec-nm 255.255.255.0
+
+and out come the floppy image and a tailor made kickstart config:
+
+jac@u1804-01:~$ ls -l /var/www/html/install/dtn-10g-01.d/
+total 576
+-rw-rw-r-- 1 jac jac 1474560 Jul 16 13:53 dtn-10g-01.img
+jac@u1804-01:~$ ls -l /var/www/html/install/ks/dtn-10g-01.ks
+-rw-rw-r-- 1 jac jac 3161 Jul 16 13:54 /var/www/html/install/ks/dtn-10g-01.ks
+
+
+The floppy image can now be uploaded to the SYS-5018D IPMI, and the system be
+set to boot from this image.
+
+When the system boots, it will now retrieve kernel+initrd from the install
+server - in this case the same as the kickstart server - as well as the
+kickstart config, and run the install accordingly.
+
+In order to have some sort of verification that things have not been tampered
+with, the 'cosmos hash' is built into the boot floppy. If the boot floppy is
+copied from the web server using scp, and uploaded to the IPMI using https,
+it is reasonable to assume that integrity is preserved.
+
+When the install kernel is booted, it is given the cosmos hash as a cmdline
+option.
+
+The kernel does not recognize this option, and therefore ignores it, but;
+
+When the install comes to an end, the hash can be read from the kernel command
+line and passed to cosmos bootstrap. The nifty thing is that this ensures that
+the hash cannot be lost or mangled, since the kernel commandline cannot be
+changed once the kernel is running.
+
+Hence integrity is ensured all the way from the generation of the boot floppy,
+through system install, right up to cosmos bootstrap.
+
+Cosmos boostrap can be skipped by passing --cosmos-hash=disabled to the script,
+when generating the boot image.
+
+