From: Ian Kelling Date: Tue, 12 Jul 2016 17:07:38 +0000 (-0700) Subject: don't have distros we aren't booting waiting to boot without pass X-Git-Url: https://iankelling.org/git/?a=commitdiff_plain;h=896f57cc86a9babea7bdb2bf39d95ba2c77beca6;p=automated-distro-installer don't have distros we aren't booting waiting to boot without pass --- diff --git a/README b/README index e1ceffd..309d5ff 100644 --- a/README +++ b/README @@ -8,9 +8,15 @@ 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) +dsfull # install & setup a new distro (if data partition already synced) fai-revm # test fai on a fresh vm faiserver-revm # create a vm which is a fai server faiserver-uninstall -fresize # resize swap or boot partitions in a host created with my fai setup +fresize # resize swap or boot partitions in a host pxe-server # temporarily enable (usually) fai or arch boot server wrt-setup-remote # setup my router + + + PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND +24412 nobody 30 10 33.209g 0.014t 1192 R 96.0 91.2 45:27.66 find \ No newline at end of file diff --git a/chboot b/chboot index 64e499f..609b41d 100755 --- a/chboot +++ b/chboot @@ -11,6 +11,8 @@ trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR [[ $EUID == 0 ]] || exec sudo "$BASH_SOURCE" "$@" + +###### begin command line parsing ##### reboot=true while [[ $1 == -* ]]; do case $1 in @@ -23,20 +25,25 @@ done distro=$1 -###### end command line parsing ##### - if [[ ! $distro ]]; then echo "available distros:" btrfs subvolume list /boot | sed -rn 's/^.*boot_(.*)/\1/p' exit 0 fi +###### end command line parsing ##### + + +#### begin initial error checking ##### + if ! btrfs subvolume list /boot | grep "_$distro$" &>/dev/null; then echo "$0: error: _$distro$ not found in btrfs subvolume list /boot:" btrfs subvolume list /boot exit 1 fi +#### end initial error checking ##### + e() { echo "$@"; "$@"; } boot_dev=$(mount | sed -rn "s#^(\S+) on /boot .*#\1#p") @@ -56,5 +63,6 @@ e umount $mount_point e rmdir $mount_point if $reboot; then + systemctl stop keyscriptoff.service reboot now fi