X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=iboot;h=32992add31442470f994a04c01fe7bdfdda96ed6;hb=refs%2Fheads%2Fmaster;hp=78805bfa189dc7c9cdd8732a5bbb6fa750c021d6;hpb=12cab163424e3a7b0815646d1d4407f9b5839bcb;p=distro-setup diff --git a/iboot b/iboot index 78805bf..32992ad 100644 --- a/iboot +++ b/iboot @@ -1,6 +1,28 @@ #!/bin/bash +# I, Ian Kelling, follow the GNU license recommendations at +# https://www.gnu.org/licenses/license-recommendations.en.html. They +# recommend that small programs, < 300 lines, be licensed under the +# Apache License 2.0. This file contains or is part of one or more small +# programs. If a small program grows beyond 300 lines, I plan to switch +# its license to GPL. -[[ $EUID == 0 ]] || exec sudo -E "$script" "$@" +# Copyright 2024 Ian Kelling + +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at + +# http://www.apache.org/licenses/LICENSE-2.0 + +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +## in development, meant to be run manually +[[ $EUID == 0 ]] || exec sudo -E "${BASH_SOURCE[0]}" "$@" if ! test "$BASH_VERSION"; then echo "error: shell is not bash" >&2; exit 1; fi shopt -s inherit_errexit 2>/dev/null ||: # ignore fail in bash < 4.4 @@ -9,16 +31,19 @@ trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" exit status: $?, PIPESTATUS: ${P set -x +da=(/dev/mapper/crypt_dev*) +d=${da[0]} + +mount -o subvol=root_trisquelnabia $d /mnt -boot_part=$(awk '$2 == "/boot" {print $1}' /etc/mtab) -boot_dev=${boot_part%[0-9]*} -# from partition.DEFAULT -new_boot_part=${boot_dev}4 -mount -o subvol=debianbuster_bootstrap $new_boot_part /mnt +boot_part=$(awk '$2 == "/" {print $1}' /etc/mtab) +mount -o subvol=boot_trisquelnabia $boot_part /mnt/boot cd /mnt mount -o bind /dev dev mount -o bind /proc proc mount -o bind /sys sys mkdir -p boot/efi -mount $(awk '$2 == "/boot/efi" {print $1}' /etc/mtab) boot/efi +mount "$(awk '$2 == "/boot/efi" {print $1}' /etc/mtab)" boot/efi +chroot . +# then run zboot-chroot