Skip to content

Commit

Permalink
Merge pull request #16 from wesbarnett/master
Browse files Browse the repository at this point in the history
Add GRUB_BTRFS_LIMIT 
add GRUB_BTRFS_SUBVOLUME_SORT
  • Loading branch information
Antynea committed Mar 19, 2016
2 parents 52ab9db + f820de4 commit 6ae56db
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 2 deletions.
17 changes: 15 additions & 2 deletions 41_snapshots-btrfs
Original file line number Diff line number Diff line change
Expand Up @@ -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 ###
Expand Down Expand Up @@ -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[@]}}
Expand Down Expand Up @@ -249,6 +257,7 @@ title_format()
list_kernels_initramfs()
{
IFS=$'\n'
c=0
for item in $(snapshot_list); do
IFS=$oldIFS
item=($item)
Expand Down Expand Up @@ -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
}
Expand All @@ -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 ###
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 )

Expand Down

0 comments on commit 6ae56db

Please sign in to comment.