X-Git-Url: https://iankelling.org/git/?p=automated-distro-installer;a=blobdiff_plain;f=chboot;h=b90b9261187bd5ab6aaff97110a88cb819ad822e;hp=426fd9a2cef87b83d8fbf22fc6fc146cd7223b38;hb=114c4b67d43d7fa1cd7b5014153b82aa8492c74d;hpb=bf19e9969f50a637c8fabf724eb9e292da472e01 diff --git a/chboot b/chboot index 426fd9a..b90b926 100755 --- a/chboot +++ b/chboot @@ -39,9 +39,12 @@ EOF exit $1 } + +grub_extn=4 + ###### begin command line parsing ##### reboot=true -temp=$(getopt -l opt o "$@") || usage 1 +temp=$(getopt -l help hdr "$@") || usage 1 eval set -- "$temp" while true; do case $1 in @@ -58,7 +61,8 @@ distro=$1 if [[ ! $distro ]]; then echo "available distros:" - btrfs subvolume list /boot | sed -rn 's/^.*boot_(.*)/\1/p' + cur=$(btrfs subvol show /boot| sed -rn 's/^.*Name:\s*(\S*).*/\1/p') + btrfs subvolume list /boot | awk '{print $9}' | sed "s/$cur/$cur (current)/" exit 0 fi @@ -90,6 +94,13 @@ boot_disk=${boot_dev%%[0-9]*} # 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