X-Git-Url: https://iankelling.org/git/?p=automated-distro-installer;a=blobdiff_plain;f=chboot;h=b311a15959954bc2009672eb35470417c0beed0d;hp=b90b9261187bd5ab6aaff97110a88cb819ad822e;hb=cfe7d2a4eb0e0af4cd59df420f76ea4d5ee755fd;hpb=114c4b67d43d7fa1cd7b5014153b82aa8492c74d diff --git a/chboot b/chboot deleted file mode 100755 index b90b926..0000000 --- a/chboot +++ /dev/null @@ -1,110 +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 umount $mount_point - -e mount $boot_disk$grub_extn $mount_point -e grub-editenv $mount_point/grubenv set last_boot=/boot_$distro -e grub-editenv $mount_point/grubenv set did_fai_check=true -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