X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=README;h=157bb783391e522af3eaa7210d911568a1339e5f;hb=99b1c5bd4925a7cf5619a80a8e8bafe1b6c12cc1;hp=3993580079c321568409b7c6e8b6518451301dde;hpb=1d331faf4f315ae3356ceecb648170d3d74473df;p=automated-distro-installer diff --git a/README b/README index 3993580..157bb78 100644 --- a/README +++ b/README @@ -1,18 +1,68 @@ -Scripts for initial setup of OSes on my home network. +Multi-boot/distro btrfs provisioning -My network is a wndr3700v2 router with openwrt on it and a few pcs -with atm: arch, debian jessie and debian stretch on them. +Some things are specific to my home network. Uses pxe or pxe-kexec (on +libreboot, I have not addded 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 trisquel belanos, +arch (havne't done recently, probably a bit broken), debian stable, & +debian testing which all share the same btrfs filesystem. Smartly +utilizes multiple disks, with scripts to automatically decrypt on +reboots. 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 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. -Scripts meant to be called interactively: +The repo name fai copied from the project of the same name because it +uses it for debian based installs. People who are familiar with fai may +find these things usefull: it uses dnsmasq (on a openwrt machine) for +dhcp instead of the isc dhcp server. fai-wrapper is a small script to +use basic fai classes outside of fai. +It also fully 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 +scripts to automate a debian install using pxe and preseeding, which can +be done from any distro. + +Some of the scripts have dependencies for some simple obvious utility +scripts from https://iankelling.org/git, and of course there are some +hostnames that are specific to my network. + +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-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 +and I periodically rebase off their example setup for debian. Also, +there is a modified encrypt.upstream, which is from the cryptsetup +package in arch, which is under the same license.