X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=README;h=5e09791e75d4c320ecb0a752f7090c9fa8e6a475;hb=7f77555b3d92709034fe41919358053c650c71e1;hp=125d5d4f2f3abb94710debc0291309e08bf5bf88;hpb=dff5d53b917601ff9f0d66a2aed397a9deb1d61e;p=automated-distro-installer diff --git a/README b/README index 125d5d4..5e09791 100644 --- a/README +++ b/README @@ -1,19 +1,39 @@ -Multi boot/distro bare metal provisioning +Multi-boot/distro btrfs provisioning -Some things are specific to my home network. Also provisions vms. +Some things are specific to my home network, and uses files with secrets +that are not in this repo. Uses pxe or pxe-kexec (on libreboot, I have +not added a pxe rom, I use a minimal debian stable subvolume which acts +like a pxe rom). I use this for bare metal and vms, and two scripts +which can run post boot so I use them on vps distributed image as well. -Features people may find useful: installs encrypted arch, debian stable, -& debian testing all on the same btrfs filesystem, smartly utilizing -multiple disks, with scripts to automatically decrypt on reboots. Other -debian based distros should work fine, and I'm planning to add Fedora +Features people may find useful: installs encrypted trisquel belanos, , +debian jessie, debian stretch, ubuntu 16.04, and arch (havne't done +recently, probably a bit broken), in a multi-boot setup using multiple +subvolumes of a single btrfs filesystem. Utilizes multiple disks, with +scripts to automatically decrypt on intentional reboots, but not after +shutdown or power loss. + +The partititioning and filesystem script is at +fai/config/hooks/partition.DEFAULT. Other debian based distros at least +as new as ubuntu 14.04 should work fine, and I'm planning to add Fedora support. Disks are grouped as ssd or hdd and raided in raid 1 or raid 0 -per configuration. The os raid is partitioned into boot, swap, and root, -(only boot is unencrypted) and there are scripts to resize those -partitions post-install if needed. +per configuration. The base partitions are divided into boot, swap, and +root, (only boot is unencrypted). There are scripts to resize those +partitions post-provision and while the system is running. + +People who use fai may find these things as useful examples: it uses +dnsmasq (on a openwrt machine) for dhcp instead of the isc +dhcp. fai-wrapper is a small script to use basic fai classes outside of +fai. It does not use the fai partitioning tool, but the script is +inspired from it and works outside of fai. -It also fully automates configuration of an openwrt router after manual +It also automates configuration of an openwrt router after manual initial installation. +After provisionining is done, I sync files using btrfs, or unison for +vps, then automate further setup using a different set of scripts, +https://iankelling.org/git/?p=distro-setup;a=tree. + My network is a wndr3700v2 router with openwrt on it and a few pcs/laptops. Since fai requires a debian server as the fai server, there are also @@ -28,13 +48,22 @@ Main scripts meant to be called interactively: arch-init-remote # install arch (after it's been booted into it's setup env) chboot # Set grub to boot into a different distro (installed earlier) +install-chboot # reinstall chboot to /boot subvols, for when it changes dsfull # install & setup a new fai distro (if data partition already synced) +eboot # reboot without automatic disk decryption +fai-kexec # kexec to fai tftp server that pxe would normally point to +fai-redep # Deploy fai configuration to host "faiserver" fai-revm # test fai on a fresh vm -faiserver-revm # create a vm which is a fai server -faiserver-uninstall +fai-wrapper # Evaluate and use fai classes outside of fai. +faiserver-revm # create a vm which is a fai server using pxe & preseed file +faiserver-uninstall # uninstall fai-server +faiserver-setup # install fai-server on the current machine fresize # resize swap or boot partitions in a host +myfai-chboot # Sets up tftp pxe config on fai server pxe-server # temporarily enable (usually) fai or arch boot server wrt-setup-remote # setup my router +ubuntu-xenial-live-fai-kexec # do fai install from xenial live cd using kexec +myfai-chboot # use instead of pxe-server for fai kexec based install License stuff: The license for the project is GPLv2 or later, mostly because fai is