X-Git-Url: https://iankelling.org/git/?p=automated-distro-installer;a=blobdiff_plain;f=chboot;h=b311a15959954bc2009672eb35470417c0beed0d;hp=eb8b1183011b907165d9f7c5aba21edae0ab9e5c;hb=45578de750fb07f7a7f64181e6b3b749ef727725;hpb=ec9227898fa68bd89de454c87bce8ea051a8d783 diff --git a/chboot b/chboot deleted file mode 100755 index eb8b118..0000000 --- a/chboot +++ /dev/null @@ -1,102 +0,0 @@ -#!/bin/bash -# Copyright (C) 2016 Ian Kelling - -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - -set -eE -o pipefail -trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR - -[[ $EUID == 0 ]] || exec sudo "$BASH_SOURCE" "$@" - -usage() { - cat </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") - -mount_point=$(mktemp -d) - -e mount -o subvol=boot_$distro $boot_dev $mount_point - -boot_disk=${boot_dev%%[0-9]*} - -# arch doesn't have $mount_point/grub/device.map, accoring to the grub manual, -# it just generates one if the file doesn't exist. -# https://www.gnu.org/software/grub/manual/html_node/Device-map.html -e grub-bios-setup -d $mount_point/grub/i386-pc -s -m $mount_point/grub/device.map $boot_disk - -# todo, mount_point needs subvolid=0 -e grub-editenv $mount_point/grub2/grubenv set default_subvol=/boot_$distro - -e umount $mount_point -e rmdir $mount_point - -if $reboot; then - touch /tmp/keyscript-off - reboot now -fi diff --git a/chboot b/chboot new file mode 120000 index 0000000..b311a15 --- /dev/null +++ b/chboot @@ -0,0 +1 @@ +fai/config/files/boot/chboot/DEFAULT \ No newline at end of file