Merge pull request #16 from wesbarnett/master

Add GRUB_BTRFS_LIMIT 
add GRUB_BTRFS_SUBVOLUME_SORT
This commit is contained in:
Antynea
2016-03-19 16:35:54 +01:00
2 changed files with 23 additions and 2 deletions

View File

@@ -72,6 +72,14 @@ nkernel=("${GRUB_BTRFS_NKERNEL[@]}")
ninit=("${GRUB_BTRFS_NINIT[@]}")
## Microcode(s) name(s)
microcode=("${GRUB_BTRFS_INTEL_UCODE[@]}")
## Limit to show in menu
limit=("${GRUB_BTRFS_LIMIT[@]:-100}")
## How to sort
subvolsort=${GRUB_BTRFS_SUBVOLUME_SORT:-"descending"}
case "${subvolsort}" in
ascending) btrfssubvolsort=("--sort=+rootid");;
*) btrfssubvolsort=("--sort=-rootid")
esac
########################
### variables script ###
@@ -156,7 +164,7 @@ snapshots_entry()
## List of snapshots on filesystem
snapshot_list()
{
for snap in $(btrfs subvolume list -sa /); do
for snap in $(btrfs subvolume list -sa "${btrfssubvolsort}" /); do
IFS=$oldIFS
snap=($snap)
local snap_path_name=${snap[@]:13:${#snap[@]}}
@@ -249,6 +257,7 @@ title_format()
list_kernels_initramfs()
{
IFS=$'\n'
c=0
for item in $(snapshot_list); do
IFS=$oldIFS
item=($item)
@@ -276,6 +285,10 @@ list_kernels_initramfs()
title_format
# echo "${title_menu[*]}"
snapshots_entry
c=$((1+$c))
if [[ $c -gt $limit ]]; then
break;
fi
done
IFS=$oldIFS
}
@@ -292,4 +305,4 @@ if [ ${choise_of_method} = "1" ] ; then
umount $gbgmp
gettext_printf "###### - Grub-btrfs: Auto-detect - ######\n" >&2 ;
fi
### End choice of method ###
### End choice of method ###

View File

@@ -54,7 +54,15 @@ Add this lines to /etc/default/grub:
(Use only if you have custom intel-ucode or auto-detect failed.)
* GRUB_BTRFS_LIMIT=("100")
(Limit the number of snapshots populated in the GRUB menu.)
* GRUB_BTRFS_SUBVOLUME_SORT=("descending")
(Sort the found subvolumes by newest first ("descending") or oldest first
("ascending"). If "ascending" is chosen then the $GRUB_BTRFS_LIMIT oldest
subvolumes will populate the menu.)
Generate grub.cfg (on Archlinux use grub-mkconfig -o /boot/grub/grub.cfg )