iankelling.org
/
git
/
automated-distro-installer
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
various fixes
[automated-distro-installer]
/
chboot
diff --git
a/chboot
b/chboot
index 426fd9a2cef87b83d8fbf22fc6fc146cd7223b38..2a357e6d2f1dba5e01d92bdd8fa597a3958cbfd0 100755
(executable)
--- a/
chboot
+++ b/
chboot
@@
-39,6
+39,9
@@
EOF
exit $1
}
exit $1
}
+
+grub_extn=4
+
###### begin command line parsing #####
reboot=true
temp=$(getopt -l opt o "$@") || usage 1
###### begin command line parsing #####
reboot=true
temp=$(getopt -l opt o "$@") || usage 1
@@
-58,7
+61,8
@@
distro=$1
if [[ ! $distro ]]; then
echo "available distros:"
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
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
# 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
e umount $mount_point
e rmdir $mount_point