Manjarowish : Kde-Gaming edition

Timeshift-autosnap seems like a reasonable thing to add to the repos. Mind if I do?

5 Likes

i'd suggest for any version of manjaro using autosnap when it's triggered using pamac's gui that we get a popup message that does not go away till timeshift is done creating the snaspshot just like the messages we get when we run pamac in terminal.

on another not like i said this looks to be a fantastic build of manjaro but one issue. you have it set to autostart the installer once it lands on the live environments desktop. that should never be the case with any os live installer.

1 Like

Is this configurable?
I haven't tried it yet but I'm interested in doing so.

Another question: Did you compare the performance of your build with normal Manjaro build, maybe benchmarks?

Good work though!

1 Like

/etc/timeshift-autosnap.conf options:

  • skipAutosnap - if set to true script won't be executed.
  • deleteSnapshots - if set to false old snapshots won't be deleted.
  • maxSnapshots - defines maximum number of old snapshots to keep.
  • updateGrub - if set to false grub entries won't be generated.
  • snapshotDescription - defines value used to distinguish snapshots created using timeshift-autosnap.

i have not done any benchmarks though but you can know it just by trying the two.

1 Like

at least for the decision to use amdvlk per default, sticking with the default of mesa's radv and perhaps enabling ACO would have been the more performant decision:
https://www.phoronix.com/scan.php?page=article&item=mesa20radv-aco-amdvlk&num=7

well
yes but i thought that since amvlk was just released it should have been good.
and the benchmark was noticed by me after i decided to use amdvlk

as for mesa-aco-git
its in the chaotic repo
so installing it should be easy.
same for tkg kernels and wine-tkg builds.

reason to mot use them by default is
mhwd may need to be modified to work with them so i just used manjaro kernels and stable mesa

you don't need that.
with mesa 19.3 and later, enabling ACO is done by setting the RADV_PERFTEST=aco environment variable.

OpenGL performance on AMD cards benefits a lot from NIR, which also can be enabled by environment variable, and will be the new default in mesa 20.0

kernels is what I also would not do. For wine, using lutris is way better then doing it manually, and the wine-lutris versions also use tkg's patches + have a lot of configurability in the interface.

Playing around with KDE-Gaming :wink:
ISO boot.
Install work (sdb1).
Dosn't boot.
chroot with ISO - pacman -Syyu


Here the first backup was made from TS.
The second one for an app installation during operation in KDE-Gaming.
The third update I started myself when I see "nothing" in grub.


KDE-Gaming boot fine :slight_smile: , very, very nice :smiley: , need more wallpaper :wink:

Problem.

grub-btrfs is empty on grub now, (reinstalled = same = empty. sudo update-grub = empty )

grub-btrfs.cfg

´´´
submenu 'Snapshot: 2020-02-12 21:01:53 timeshift-btrfs/snapshots/2020-02-12_21-01-53/@' {
submenu '---> Snapshot: 2020-02-12 21:01:53 timeshift-btrfs/snapshots/2020-02-12_21-01-53/@ <---' { echo }

menuentry 'vmlinuz-5.4-x86_64 & initramfs-5.4-x86_64-fallback.img' --class snapshots --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-snapshots-987b5b4a-3a39-4741-a1dc-8c65c6f83ced'{
	if [ x$feature_all_video_module = xy ]; then
	insmod all_video
	fi
	set gfxpayload=keep
	insmod btrfs
	if [ x$feature_platform_search_hint = xy ]; then
		search --no-floppy --fs-uuid  --set=root --hint-ieee1275='ieee1275//disk@0,msdos1' --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  987b5b4a-3a39-4741-a1dc-8c65c6f83ced
	else
		search --no-floppy --fs-uuid  --set=root 987b5b4a-3a39-4741-a1dc-8c65c6f83ced
	fi
	echo 'Loading Snapshot: 2020-02-12 21:01:53 timeshift-btrfs/snapshots/2020-02-12_21-01-53/@'
	echo 'Loading Kernel: vmlinuz-5.4-x86_64 ...'
	linux "/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/vmlinuz-5.4-x86_64" root=UUID=987b5b4a-3a39-4741-a1dc-8c65c6f83ced rw rootflags=subvol="timeshift-btrfs/snapshots/2020-02-12_21-01-53/@"  loglevel=3 ec_sys.write_support=1 ipv6.disable=1 pcie_aspm=off mitigations=off nowatchdog acpi_rev_override=1 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off
	echo 'Loading Initramfs: initramfs-5.4-x86_64-fallback.img ...'
	initrd "/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/initramfs-5.4-x86_64-fallback.img"
}

menuentry 'vmlinuz-5.4-x86_64 & initramfs-5.4-x86_64.img & intel-ucode.img' --class snapshots --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-snapshots-987b5b4a-3a39-4741-a1dc-8c65c6f83ced'{
	if [ x$feature_all_video_module = xy ]; then
	insmod all_video
	fi
	set gfxpayload=keep
	insmod btrfs
	if [ x$feature_platform_search_hint = xy ]; then
		search --no-floppy --fs-uuid  --set=root --hint-ieee1275='ieee1275//disk@0,msdos1' --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  987b5b4a-3a39-4741-a1dc-8c65c6f83ced
	else
		search --no-floppy --fs-uuid  --set=root 987b5b4a-3a39-4741-a1dc-8c65c6f83ced
	fi
	echo 'Loading Snapshot: 2020-02-12 21:01:53 timeshift-btrfs/snapshots/2020-02-12_21-01-53/@'
	echo 'Loading Kernel: vmlinuz-5.4-x86_64 ...'
	linux "/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/vmlinuz-5.4-x86_64" root=UUID=987b5b4a-3a39-4741-a1dc-8c65c6f83ced rw rootflags=subvol="timeshift-btrfs/snapshots/2020-02-12_21-01-53/@"  loglevel=3 ec_sys.write_support=1 ipv6.disable=1 pcie_aspm=off mitigations=off nowatchdog acpi_rev_override=1 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off
	echo 'Loading Microcode & Initramfs: intel-ucode.img initramfs-5.4-x86_64.img ...'
	initrd "/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/intel-ucode.img" "/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/initramfs-5.4-x86_64.img"
}

menuentry 'vmlinuz-5.5-x86_64 & initramfs-5.5-x86_64-fallback.img' --class snapshots --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-snapshots-987b5b4a-3a39-4741-a1dc-8c65c6f83ced'{
	if [ x$feature_all_video_module = xy ]; then
	insmod all_video
	fi
	set gfxpayload=keep
	insmod btrfs
	if [ x$feature_platform_search_hint = xy ]; then
		search --no-floppy --fs-uuid  --set=root --hint-ieee1275='ieee1275//disk@0,msdos1' --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  987b5b4a-3a39-4741-a1dc-8c65c6f83ced
	else
		search --no-floppy --fs-uuid  --set=root 987b5b4a-3a39-4741-a1dc-8c65c6f83ced
	fi
	echo 'Loading Snapshot: 2020-02-12 21:01:53 timeshift-btrfs/snapshots/2020-02-12_21-01-53/@'
	echo 'Loading Kernel: vmlinuz-5.5-x86_64 ...'
	linux "/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/vmlinuz-5.5-x86_64" root=UUID=987b5b4a-3a39-4741-a1dc-8c65c6f83ced rw rootflags=subvol="timeshift-btrfs/snapshots/2020-02-12_21-01-53/@"  loglevel=3 ec_sys.write_support=1 ipv6.disable=1 pcie_aspm=off mitigations=off nowatchdog acpi_rev_override=1 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off
	echo 'Loading Initramfs: initramfs-5.5-x86_64-fallback.img ...'
	initrd "/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/initramfs-5.5-x86_64-fallback.img"
}

menuentry 'vmlinuz-5.5-x86_64 & initramfs-5.5-x86_64.img & intel-ucode.img' --class snapshots --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-snapshots-987b5b4a-3a39-4741-a1dc-8c65c6f83ced'{
	if [ x$feature_all_video_module = xy ]; then
	insmod all_video
	fi
	set gfxpayload=keep
	insmod btrfs
	if [ x$feature_platform_search_hint = xy ]; then
		search --no-floppy --fs-uuid  --set=root --hint-ieee1275='ieee1275//disk@0,msdos1' --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  987b5b4a-3a39-4741-a1dc-8c65c6f83ced
	else
		search --no-floppy --fs-uuid  --set=root 987b5b4a-3a39-4741-a1dc-8c65c6f83ced
	fi
	echo 'Loading Snapshot: 2020-02-12 21:01:53 timeshift-btrfs/snapshots/2020-02-12_21-01-53/@'
	echo 'Loading Kernel: vmlinuz-5.5-x86_64 ...'
	linux "/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/vmlinuz-5.5-x86_64" root=UUID=987b5b4a-3a39-4741-a1dc-8c65c6f83ced rw rootflags=subvol="timeshift-btrfs/snapshots/2020-02-12_21-01-53/@"  loglevel=3 ec_sys.write_support=1 ipv6.disable=1 pcie_aspm=off mitigations=off nowatchdog acpi_rev_override=1 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off
	echo 'Loading Microcode & Initramfs: intel-ucode.img initramfs-5.5-x86_64.img ...'
	initrd "/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/intel-ucode.img" "/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/initramfs-5.5-x86_64.img"
}

}
submenu 'Snapshot: 2020-02-12 18:13:59 timeshift-btrfs/snapshots/2020-02-12_18-13-59/@' {
submenu '---> Snapshot: 2020-02-12 18:13:59 timeshift-btrfs/snapshots/2020-02-12_18-13-59/@ <---' { echo }

menuentry 'vmlinuz-5.4-x86_64 & initramfs-5.4-x86_64-fallback.img' --class snapshots --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-snapshots-987b5b4a-3a39-4741-a1dc-8c65c6f83ced'{
	if [ x$feature_all_video_module = xy ]; then
	insmod all_video
	fi
	set gfxpayload=keep
	insmod btrfs
	if [ x$feature_platform_search_hint = xy ]; then
		search --no-floppy --fs-uuid  --set=root --hint-ieee1275='ieee1275//disk@0,msdos1' --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  987b5b4a-3a39-4741-a1dc-8c65c6f83ced
	else
		search --no-floppy --fs-uuid  --set=root 987b5b4a-3a39-4741-a1dc-8c65c6f83ced
	fi
	echo 'Loading Snapshot: 2020-02-12 18:13:59 timeshift-btrfs/snapshots/2020-02-12_18-13-59/@'
	echo 'Loading Kernel: vmlinuz-5.4-x86_64 ...'
	linux "/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/vmlinuz-5.4-x86_64" root=UUID=987b5b4a-3a39-4741-a1dc-8c65c6f83ced rw rootflags=subvol="timeshift-btrfs/snapshots/2020-02-12_18-13-59/@"  loglevel=3 ec_sys.write_support=1 ipv6.disable=1 pcie_aspm=off mitigations=off nowatchdog acpi_rev_override=1 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off
	echo 'Loading Initramfs: initramfs-5.4-x86_64-fallback.img ...'
	initrd "/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/initramfs-5.4-x86_64-fallback.img"
}

menuentry 'vmlinuz-5.4-x86_64 & initramfs-5.4-x86_64.img & intel-ucode.img' --class snapshots --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-snapshots-987b5b4a-3a39-4741-a1dc-8c65c6f83ced'{
	if [ x$feature_all_video_module = xy ]; then
	insmod all_video
	fi
	set gfxpayload=keep
	insmod btrfs
	if [ x$feature_platform_search_hint = xy ]; then
		search --no-floppy --fs-uuid  --set=root --hint-ieee1275='ieee1275//disk@0,msdos1' --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  987b5b4a-3a39-4741-a1dc-8c65c6f83ced
	else
		search --no-floppy --fs-uuid  --set=root 987b5b4a-3a39-4741-a1dc-8c65c6f83ced
	fi
	echo 'Loading Snapshot: 2020-02-12 18:13:59 timeshift-btrfs/snapshots/2020-02-12_18-13-59/@'
	echo 'Loading Kernel: vmlinuz-5.4-x86_64 ...'
	linux "/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/vmlinuz-5.4-x86_64" root=UUID=987b5b4a-3a39-4741-a1dc-8c65c6f83ced rw rootflags=subvol="timeshift-btrfs/snapshots/2020-02-12_18-13-59/@"  loglevel=3 ec_sys.write_support=1 ipv6.disable=1 pcie_aspm=off mitigations=off nowatchdog acpi_rev_override=1 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off
	echo 'Loading Microcode & Initramfs: intel-ucode.img initramfs-5.4-x86_64.img ...'
	initrd "/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/intel-ucode.img" "/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/initramfs-5.4-x86_64.img"
}

}
submenu 'Snapshot: 2020-02-12 18:06:35 timeshift-btrfs/snapshots/2020-02-12_18-06-35/@' {
submenu '---> Snapshot: 2020-02-12 18:06:35 timeshift-btrfs/snapshots/2020-02-12_18-06-35/@ <---' { echo }

menuentry 'vmlinuz-5.4-x86_64 & initramfs-5.4-x86_64-fallback.img' --class snapshots --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-snapshots-987b5b4a-3a39-4741-a1dc-8c65c6f83ced'{
	if [ x$feature_all_video_module = xy ]; then
	insmod all_video
	fi
	set gfxpayload=keep
	insmod btrfs
	if [ x$feature_platform_search_hint = xy ]; then
		search --no-floppy --fs-uuid  --set=root --hint-ieee1275='ieee1275//disk@0,msdos1' --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  987b5b4a-3a39-4741-a1dc-8c65c6f83ced
	else
		search --no-floppy --fs-uuid  --set=root 987b5b4a-3a39-4741-a1dc-8c65c6f83ced
	fi
	echo 'Loading Snapshot: 2020-02-12 18:06:35 timeshift-btrfs/snapshots/2020-02-12_18-06-35/@'
	echo 'Loading Kernel: vmlinuz-5.4-x86_64 ...'
	linux "/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/vmlinuz-5.4-x86_64" root=UUID=987b5b4a-3a39-4741-a1dc-8c65c6f83ced rw rootflags=subvol="timeshift-btrfs/snapshots/2020-02-12_18-06-35/@"  loglevel=3 ec_sys.write_support=1 ipv6.disable=1 pcie_aspm=off mitigations=off nowatchdog acpi_rev_override=1 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off
	echo 'Loading Initramfs: initramfs-5.4-x86_64-fallback.img ...'
	initrd "/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/initramfs-5.4-x86_64-fallback.img"
}

menuentry 'vmlinuz-5.4-x86_64 & initramfs-5.4-x86_64.img & intel-ucode.img' --class snapshots --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-snapshots-987b5b4a-3a39-4741-a1dc-8c65c6f83ced'{
	if [ x$feature_all_video_module = xy ]; then
	insmod all_video
	fi
	set gfxpayload=keep
	insmod btrfs
	if [ x$feature_platform_search_hint = xy ]; then
		search --no-floppy --fs-uuid  --set=root --hint-ieee1275='ieee1275//disk@0,msdos1' --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  987b5b4a-3a39-4741-a1dc-8c65c6f83ced
	else
		search --no-floppy --fs-uuid  --set=root 987b5b4a-3a39-4741-a1dc-8c65c6f83ced
	fi
	echo 'Loading Snapshot: 2020-02-12 18:06:35 timeshift-btrfs/snapshots/2020-02-12_18-06-35/@'
	echo 'Loading Kernel: vmlinuz-5.4-x86_64 ...'
	linux "/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/vmlinuz-5.4-x86_64" root=UUID=987b5b4a-3a39-4741-a1dc-8c65c6f83ced rw rootflags=subvol="timeshift-btrfs/snapshots/2020-02-12_18-06-35/@"  loglevel=3 ec_sys.write_support=1 ipv6.disable=1 pcie_aspm=off mitigations=off nowatchdog acpi_rev_override=1 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off
	echo 'Loading Microcode & Initramfs: intel-ucode.img initramfs-5.4-x86_64.img ...'
	initrd "/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/intel-ucode.img" "/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/initramfs-5.4-x86_64.img"
}

}

Changed a little, after I see the empty grub, in

/etc/default/grub-btrfs/config
#!/usr/bin/env bash

 GRUB_BTRFS_SUBMENUNAME="Timeshift btrfs Snapshots"                              # Name appearing in the Grub menu
 GRUB_BTRFS_PREFIXENTRY="Snapshot:"                                         # Add a name ahead your snapshots entries in the Grub menu
# GRUB_BTRFS_DISPLAY_PATH_SNAPSHOT="true"                                    # Show full path snapshot or only name in the Grub menu
# GRUB_BTRFS_TITLE_FORMAT="p/d/n"                                            # Custom title, shows/hides p"prefix" d"date" n"name" in the Grub menu, separator "/", custom order available
 GRUB_BTRFS_LIMIT="50"                                                      # 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") and show $GRUB_BTRFS_LIMIT first entries.
 GRUB_BTRFS_SHOW_SNAPSHOTS_FOUND="true"                                     # Show snapshots found during run "grub-mkconfig"
 GRUB_BTRFS_SHOW_TOTAL_SNAPSHOTS_FOUND="true"                               # Show Total of snapshots found during run "grub-mkconfig"
# GRUB_BTRFS_NKERNEL=("vmlinuz-linux")                                       # Use only if you have custom kernel name
# GRUB_BTRFS_NINIT=("initramfs-linux.img" "initramfs-linux-fallback.img")    # Use only if you have custom initramfs name
# GRUB_BTRFS_INTEL_UCODE=("intel-ucode.img")                                 # Use only if you have custom intel-ucode
# GRUB_BTRFS_IGNORE_SPECIFIC_PATH=("var/lib/docker")                         # Ignore specific path during run "grub-mkconfig"
# GRUB_BTRFS_SNAPPER_CONFIG="root"                                           # Snapper's config name to use
# GRUB_BTRFS_DISABLE="false"                                                 # Disable Grub-btrfs
# GRUB_BTRFS_DIRNAME=grub                                                    # Might be grub2 on some systems ex. /boot/grub2/...
# GRUB_BTRFS_OVERRIDE_BOOT_PARTITION_DETECTION="false"                       # Change to "true" if you have a boot partition in a different subvolume
# GRUB_BTRFS_MKCONFIG=grub-mkconfig                                          # Might be 'grub2-mkconfig' on some systems

Something changed? 40_custom <-> 41_custom ???

/etc/grub.d/41_snapshots-btrfs
#! /usr/bin/env bash
#
#
#########################################################################################################################################################################
# Written by: Antynea
# BTC donation address: 1Lbvz244WA8xbpHek9W2Y12cakM6rDe5Rt
# Github: https://github.com/Antynea/grub-btrfs
#
# Purpose:
#   Improves Grub by adding "btrfs snapshots" to the Grub menu.
#   You can start your system on a "snapshot" from the Grub menu.
#   Supports manual snapshots, snapper ...
#   Warning : it isn't recommended to start on read-only snapshot
#
# What this script does:
# - Automatically List snapshots existing on root partition (btrfs).
# - Automatically Detect if "/boot" is in separate partition.
# - Automatically Detect kernel, initramfs and intel microcode in "/boot" directory on snapshots.
# - Automatically Create corresponding "menuentry" in grub.cfg
# - Automatically detect snapper and use snapper's snapshot description if available.
# - Automatically generate grub.cfg if you use the provided systemd service.
#
# Installation:
# - Run `make install` or look into Makefile for instructions on where to put each file.
#
# Customization:
#  Refer to config for the list of available options and their default values.
#  Place your configurations to /etc/default/grub-btrfs/config.
#
# Automatically update Grub
#  If you would like Grub to automatically update when a snapshots is made or deleted:
# - Mount your subvolume which contains snapshots to /.snapshots
# - Use systemctl start/enable grub-btrfs.path
#  grub-btrfs.path will automatically (re)generate grub.cfg when a modification appear in /.snapshots
#
# Special thanks for assistance and contributions:
# - My friends
# - All contributors on Github
#
#########################################################################################################################################################################

set -e

prefix="/usr"
exec_prefix="/usr"
datarootdir="/usr/share"
sysconfdir="/etc"
grub_btrfs_config="${sysconfdir}/default/grub-btrfs/config"

[[ -f "$grub_btrfs_config" ]] && . "$grub_btrfs_config"
. "$datarootdir/grub/grub-mkconfig_lib"
. "${sysconfdir}/default/grub"

###################################################
### Variables in /etc/default/grub-btrfs/config ###
###################################################
## Disable Grub-btrfs (default=active)
grub_btrfs_disable=${GRUB_BTRFS_DISABLE:-"false"}
[[ "${grub_btrfs_disable}" == "true" ]] && exit 0
## Submenu name
submenuname=${GRUB_BTRFS_SUBMENUNAME:-"Arch Linux snapshots"}
## Prefix entry
prefixentry=${GRUB_BTRFS_PREFIXENTRY:-"Snapshot:"}
## Show full path snapshot or only name
path_snapshot=${GRUB_BTRFS_DISPLAY_PATH_SNAPSHOT:-"true"}
## Title format
title_format=${GRUB_BTRFS_TITLE_FORMAT:-"p/d/n"}
## Kernel(s) name(s)
nkernel=("${GRUB_BTRFS_NKERNEL[@]}")
## Initramfs name(s)
ninit=("${GRUB_BTRFS_NINIT[@]}")
## Microcode(s) name(s)
microcode=("${GRUB_BTRFS_INTEL_UCODE[@]}")
## Limit snapshots to show in the Grub menu
limit_snap_show="${GRUB_BTRFS_LIMIT:-50}"
## How to sort snapshots list
snap_list_sort=${GRUB_BTRFS_SUBVOLUME_SORT:-"descending"}
case "${snap_list_sort}" in
    ascending)          btrfssubvolsort=("--sort=+rootid");;
    *)                  btrfssubvolsort=("--sort=-rootid")
esac
## Show snapshots found during run "grub-mkconfig"
show_snap_found=${GRUB_BTRFS_SHOW_SNAPSHOTS_FOUND:-"true"}
## Show Total of snapshots found during run "grub-mkconfig"
show_total_snap_found=${GRUB_BTRFS_SHOW_TOTAL_SNAPSHOTS_FOUND:-"true"}
## Ignore specific path during run "grub-mkconfig"
ignore_specific_path=("${GRUB_BTRFS_IGNORE_SPECIFIC_PATH[@]}")
## Snapper's config name
snapper_config=${GRUB_BTRFS_SNAPPER_CONFIG:-"root"}
## Override boot partition detection
override_boot_partition_detection=${GRUB_BTRFS_OVERRIDE_BOOT_PARTITION_DETECTION:-"false"}
## Customize GRUB directory
grub_directory=${GRUB_BTRFS_DIRNAME:-"grub"}

########################
### variables script ###
########################
## Internationalization (default : english)
export TEXTDOMAIN=grub-btrfs-git
export TEXTDOMAINDIR="/usr/share/locale"
## Probe info "Boot partition"
# Boot device
boot_device=$(${grub_probe} --target=device /boot)
# hints string
boot_hs=$(${grub_probe} --device ${boot_device} --target="hints_string" 2>/dev/null)
# UUID of the boot partition
boot_uuid=$(${grub_probe} --device ${boot_device} --target="fs_uuid" 2>/dev/null)
# Type filesystem of boot partition
boot_fs=$(${grub_probe} --target="fs" /boot 2>/dev/null)
## Probe info "Root partition"
# Root device
root_device=$(${grub_probe} --target=device /)
# UUID of the root partition
root_uuid=$(${grub_probe} --device ${root_device} --target="fs_uuid" 2>/dev/null)
## Parameters passed to the kernel
kernel_parameters="$GRUB_CMDLINE_LINUX $GRUB_CMDLINE_LINUX_DEFAULT"
## Mount point location
gbgmp=$(mktemp -d)
## Class for theme
CLASS="--class snapshots --class gnu-linux --class gnu --class os"
## save IFS
oldIFS=$IFS
## Detect uuid requirement (lvm,btrfs...)
check_uuid_required() {
if [ "x${root_uuid}" = "x" ] || [ "x${GRUB_DISABLE_LINUX_UUID}" = "xtrue" ] \
    || ! test -e "/dev/disk/by-uuid/${root_uuid}" \
    || ( test -e "${root_device}" && uses_abstraction "${root_device}" lvm ); then
  LINUX_ROOT_DEVICE=${root_device}
else
  LINUX_ROOT_DEVICE=UUID=${root_uuid}
fi
}


######################
### Error Handling ###
######################
print_error()
{
	local arg="$@"
	local nothing_to_do="If you think an error has occurred , please file a bug report at \" https://github.com/Antynea/grub-btrfs \"\n# Nothing to do. Abort.\n###### - Grub-btrfs: Snapshot detection ended   - ######\n"
	printf "# ${arg}\n# ${nothing_to_do}" >&2 ;
	exit 0
}

test_btrfs()
{
	set +e
	type btrfs >/dev/null 2>&1
	if [[ $? -ne 0 ]]; then
		print_error "This script only supports snapshots of the btrfs filesystem, make sure you have btrfs-progs on your system."
	fi
	set -e
}

##############
### Script ###
##############


## Create entry
entry()	{
echo "$@" >> "/boot/$grub_directory/grub-btrfs.cfg"
# local arg="$@"
# echo "${arg}" >> "/boot/$grub_directory/grub-btrfs.cfg"
# cat << EOF >> "/boot/$grub_directory/grub-btrfs.cfg"
# ${arg}
# EOF
}

## menu entries
make_menu_entries()
{
## \" required for snap,kernels,init,microcode with space in their name
	entry "submenu '$title_menu' {
	submenu '---> $title_menu <---' { echo }"
	for k in "${name_kernel[@]}"; do
		[[ ! -f "${boot_dir}"/"${k}" ]] && continue;
		kversion=${k#*"-"}
		for i in "${name_initramfs[@]}"; do
			prefix_i=${i%%"-"*}
			suffix_i=${i#*"-"}
         	alt_suffix_i=${i##*"-"}
            if   [ "${kversion}" = "${suffix_i}" ];                 then i="${i}";
            elif [ "${kversion}.img" = "${suffix_i}" ];             then i="${i}";
            elif [ "${kversion}-fallback.img" = "${suffix_i}" ];    then i="${i}";
            elif [ "${kversion}.gz" = "${suffix_i}" ];              then i="${i}";
			else 	continue ;
			fi
			for u in "${name_microcode[@]}"; do
				if [[ -f "${boot_dir}"/"${u}" && "${i}" != "${prefix_i}-${kversion}-${alt_suffix_i}" ]] ; then
				entry "
	menuentry '"${k}" & "${i}" & "${u}"' ${CLASS} "\$menuentry_id_option" 'gnulinux-snapshots-$boot_uuid'{"
				else
				entry "
	menuentry '"${k}" & "${i}"' ${CLASS} "\$menuentry_id_option" 'gnulinux-snapshots-$boot_uuid'{"
				fi
				entry "\
		if [ x\$feature_all_video_module = xy ]; then
		insmod all_video
		fi
		set gfxpayload=keep
		insmod ${boot_fs}
		if [ x\$feature_platform_search_hint = xy ]; then
			search --no-floppy --fs-uuid  --set=root ${boot_hs} ${boot_uuid}
		else
			search --no-floppy --fs-uuid  --set=root ${boot_uuid}
		fi
		echo 'Loading Snapshot: "${snap_date_time}" "${snap_dir_name}"'
		echo 'Loading Kernel: "${k}" ...'
		linux \"${boot_dir_root_grub}/"${k}"\" root="${LINUX_ROOT_DEVICE}" rw rootflags=subvol=\""${snap_dir_name}"\" ${kernel_parameters}"
				if [[ -f "${boot_dir}"/"${u}" && "${i}" != "${prefix_i}-${kversion}-${alt_suffix_i}" ]] ; then
					entry "\
		echo 'Loading Microcode & Initramfs: "${u}" "${i}" ...'
		initrd \"${boot_dir_root_grub}/"${u}"\" \"${boot_dir_root_grub}/"${i}"\""
				else
					entry "\
		echo 'Loading Initramfs: "${i}" ...'
		initrd \"${boot_dir_root_grub}/"${i}"\""
				fi
	entry "	}"
				count_warning_menuentries=$((1+$count_warning_menuentries))
			done
		done
	done
	entry  "}"
}

## Trim a string from leading and trailing whitespaces
trim() {
	local var="$*"
	var="${var#"${var%%[![:space:]]*}"}"
	var="${var%"${var##*[![:space:]]}"}"
	echo -n "$var"
}

## List of snapshots on filesystem
snapshot_list()
{
	# Query info from snapper if it is installed
	type snapper >/dev/null 2>&1
	if [ $? -eq 0 ]; then
		if [ -s "/etc/snapper/configs/$snapper_config" ]; then
			printf "# Info: snapper detected, using config '$snapper_config'\n" >&2
			local snapper_ids=($(snapper --no-dbus -t 0 -c "$snapper_config" list | tail -n +3 | cut -d'|' -f 1))
			local snapper_types=($(snapper --no-dbus -t 0 -c "$snapper_config" list | tail -n +3 | cut -d'|' -f 2))

			IFS=$'\n'
			local snapper_descriptions=($(snapper --no-dbus -t 0 -c "$snapper_config" list | tail -n +3 | rev | cut -d'|' -f 2 | rev))
		else
			printf "# Warning: snapper detected but config '$snapper_config' does not exist\n" >&2
		fi
	fi

	IFS=$'\n'

	# Parse btrfs snapshots
	local entries=()
	local ids=()
	local max_entry_length=0
	for snap in $(btrfs subvolume list -sa "${btrfssubvolsort}" /); do
		IFS=$oldIFS
		snap=($snap)
		local snap_path_name=${snap[@]:13:${#snap[@]}}

		# Discard deleted snapshots
		if [ "$snap_path_name" = "DELETED" ]; then continue; fi
		[[ ${snap_path_name%%"/"*} == "<FS_TREE>" ]] && snap_path_name=${snap_path_name#*"/"}

		# ignore specific path during run "grub-mkconfig"
		if [ ! -z "${ignore_specific_path}" ] ; then
			for isp in ${ignore_specific_path[@]} ; do
				[[ "${snap_path_name}" == "${isp}"/* ]] && continue 2;
			done
		fi

		# detect if /boot directory exists
		[[ ! -d "$gbgmp/$snap_path_name/boot" ]] && continue;

		local id="${snap_path_name//[!0-9]}" # brutal way to get id: remove everything non-numeric
		ids+=("$id")

		local entry="${snap[@]:10:2} | ${snap_path_name}"
		entries+=("$entry")

		# Find max length of a snapshot entry, needed for pretty formatting
		local length="${#entry}"
		[[ "$length" -gt "$max_entry_length" ]] && max_entry_length=$length
	done

	# Find max length of a snapshot type, needed for pretty formatting
	local max_type_length=0
	for id in "${ids[@]}"; do
		for j in "${!snapper_ids[@]}"; do
			local snapper_id="${snapper_ids[$j]//[[:space:]]/}"
			if [[ "$snapper_id" == "$id" ]]; then
				local snapper_type=$(trim "${snapper_types[$j]}")
				local length="${#snapper_type}"
				[[ "$length" -gt "$max_type_length" ]] && max_type_length=$length
			fi
		done
	done

	for i in "${!entries[@]}"; do
		local id="${ids[$i]}"
		local entry="${entries[$i]}"
		for j in "${!snapper_ids[@]}"; do
			local snapper_id="${snapper_ids[$j]//[[:space:]]/}"
			# remove other non numeric characters
			snapper_id="${snapper_id//\*/}"
			snapper_id="${snapper_id//\+/}"
			snapper_id="${snapper_id//-/}"
			if [[ "$snapper_id" == "$id" ]]; then
				local snapper_type=$(trim "${snapper_types[$j]}")
				local snapper_description=$(trim "${snapper_descriptions[$j]}")
				printf -v entry "%-${max_entry_length}s | %-${max_type_length}s | %s" "$entry" "$snapper_type" "$snapper_description"
				break
			fi
		done
		echo "$entry"
	done

	IFS=$oldIFS
}

## Detect kernels in "/boot"
detect_kernel()
{
	list_kernel=()
	# Original kernel (auto-detect)
	for okernel in	"${boot_dir}"/vmlinuz-* \
			"${boot_dir}"/vmlinux-* \
			"${boot_dir}"/kernel-* ; do
		[[ ! -f "${okernel}" ]] && continue;
		list_kernel+=("$okernel")
	done

	# Custom name kernel in GRUB_BTRFS_NKERNEL
	if [ ! -z "${nkernel}" ] ; then
		for ckernel in "${boot_dir}/${nkernel[@]}" ; do
			[[ ! -f "${ckernel}" ]] && continue;
			list_kernel+=("$ckernel")
		done
	fi
}

## Detect initramfs in "/boot"
detect_initramfs()
{
	list_initramfs=()
	# Original initramfs (auto-detect)
	for oinitramfs in	"${boot_dir}"/initrd.img-* \
				"${boot_dir}"/initrd-*.img \
				"${boot_dir}"/initrd-*.gz \
				"${boot_dir}"/initramfs-*.img \
				"${boot_dir}"/initramfs-*.gz ; do
		[[ ! -f "${oinitramfs}" ]] && continue;
		list_initramfs+=("$oinitramfs")
	done

	# Custom name initramfs in GRUB_BTRFS_NINIT
	if [ ! -z "$ninit" ] ; then
		for cinitramfs in "${boot_dir}/${ninit[@]}" ; do
			[[ ! -f "${cinitramfs}" ]] && continue;
			list_initramfs+=("$cinitramfs")
		done
	fi
}

## Detect microcode in "/boot"
detect_microcode()
{
	list_ucode=()
	# Original intel microcode
	for oiucode in "${boot_dir}"/intel-ucode.img ; do
		[[ ! -f "${oiucode}" ]] && continue;
		list_ucode+=("$oiucode")
	done

	# Custom name microcode in GRUB_BTRFS_INTEL_UCODE
	if [ ! -z "$microcode" ] ; then
		for cucode in "${boot_dir}/${microcode[@]}" ; do
			[[ ! -f "${cucode}" ]] && continue
			list_ucode+=("$cucode")
		done
	fi
	if [ -z "${list_ucode}" ]; then list_ucode=(x); fi
}

## Show full path snapshot or only name
path_snapshot()
{
	case "${path_snapshot}" in
		true) name_snapshot=("${snap_full_name}");;
		*) name_snapshot=("${snap_full_name#*"/"}")
	esac
}

## Title format in grub-menu
title_format()
{
	case "${title_format}" in
		p/n/d) 	title_menu="${prefixentry} ${name_snapshot} ${snap_date_time}";;
		p/d) 	title_menu="${prefixentry} ${snap_date_time}";;
		p/n) 	title_menu="${prefixentry} ${name_snapshot}";;
		d/n) 	title_menu="${snap_date_time} ${name_snapshot}";;
		n/d) 	title_menu="${name_snapshot} ${snap_date_time}";;
		p) 		title_menu="${prefixentry}";;
		d)		title_menu="${snap_date_time}";;
		n)		title_menu="${name_snapshot}";;
		*)		title_menu="${prefixentry} ${snap_date_time} ${name_snapshot}"
	esac
}

## List of kernels, initramfs and microcode in snapshots
boot_bounded()
{
	# Initialize menu entries
	IFS=$'\n'
	for item in $(snapshot_list); do
		# fix: limit_snap_show=0
		[[ ${limit_snap_show} -le 0 ]] && break;
		IFS=$oldIFS
		snap_full_name="$(echo "$item" | cut -d'|' -f2-)" # do not trim it to keep nice formatting
		snap_dir_name="$(echo "$item" | cut -d'|' -f2)"
		snap_dir_name="$(trim "$snap_dir_name")"
		snap_date_time="$(echo "$item" | cut -d' ' -f1-2)"
		snap_date_time="$(trim "$snap_date_time")"

		boot_dir="$gbgmp/$snap_dir_name/boot"
		# Kernel (Original + custom kernel)
		detect_kernel
		if [ -z "${list_kernel}" ]; then continue; fi
		name_kernel=("${list_kernel[@]##*"/"}")
		# Initramfs (Original + custom initramfs)
		detect_initramfs
		if [ -z "${list_initramfs}" ]; then continue; fi
		name_initramfs=("${list_initramfs[@]##*"/"}")
		# microcode (intel-ucode + custom microcode)
		detect_microcode
		name_microcode=("${list_ucode[@]##*"/"}")
		# show snapshot found during run "grub-mkconfig"
		if [[ "${show_snap_found}" = "true" ]]; then
		printf $"# Found snapshot: %s\n" "$item" >&2 ;
		fi
		# Show full path snapshot or only name
		path_snapshot
		# Title format in grub-menu
		title_format
		# convert /boot directory to root of GRUB (e.g /boot become /)
		boot_dir_root_grub="$(make_system_path_relative_to_its_root "${boot_dir}")"
		# Make menuentries
		make_menu_entries
		### Limit snapshots found during run "grub-mkconfig"
	        count_limit_snap=$((1+$count_limit_snap))
	        [[ $count_limit_snap -ge $limit_snap_show ]] && break;
		# Limit generation of menuentries if exceeds 250
		# [[ $count_warning_menuentries -ge 250 ]] && break;
	done
	IFS=$oldIFS
}
boot_separate()
{
	boot_dir="/boot"
	# convert /boot directory to root of GRUB (e.g /boot become /)
	boot_dir_root_grub="$(make_system_path_relative_to_its_root "${boot_dir}")"

	# Kernel (Original + custom kernel)
	detect_kernel
	if [ -z "${list_kernel}" ]; then print_error "Kernels not found."; fi
	name_kernel=("${list_kernel[@]##*"/"}")

	# Initramfs (Original + custom initramfs)
	detect_initramfs
	if [ -z "${list_initramfs}" ]; then print_error "Initramfs not found."; fi
	name_initramfs=("${list_initramfs[@]##*"/"}")

	# microcode (auto-detect + custom microcode)
	detect_microcode
	name_microcode=("${list_ucode[@]##*"/"}")

	# Initialize menu entries
	IFS=$'\n'
	for item in $(snapshot_list); do
		# fix: limit_snap_show=0
		[[ ${limit_snap_show} -le 0 ]] && break;
		IFS=$oldIFS
		snap_full_name="$(echo "$item" | cut -d'|' -f2-)" # do not trim it to keep nice formatting
		snap_dir_name="$(echo "$item" | cut -d'|' -f2)"
		snap_dir_name="$(trim "$snap_dir_name")"
		snap_date_time="$(echo "$item" | cut -d' ' -f1-2)"
		snap_date_time="$(trim "$snap_date_time")"
		# show snapshot found during run "grub-mkconfig"
		if [[ "${show_snap_found}" = "true" ]]; then
		printf $"# Found snapshot: %s\n" "$item" >&2 ;
		fi
		# Show full path snapshot or only name
		path_snapshot
		# Title format in grub-menu
		title_format
		# Make menuentries
		make_menu_entries
		# Limit snapshots found during run "grub-mkconfig"
		count_limit_snap=$((1+$count_limit_snap))
	        [[ $count_limit_snap -ge $limit_snap_show ]] && break;
		# Limit generation of menuentries if exceeds 250
		# [[ $count_warning_menuentries -ge 250 ]] && break;
	done
	IFS=$oldIFS
}

### Start ###
printf "###### - Grub-btrfs: Snapshot detection started - ######\n" >&2 ;
# if btrfs prog isn't installed, exit
test_btrfs
# Delete existing config
#rm -f --preserve-root "/boot/$grub_directory/grub-btrfs.cfg"
> "/boot/$grub_directory/grub-btrfs.cfg"
# Create mount point then mounting
[[ ! -d $gbgmp ]] && mkdir -p $gbgmp
mount -o subvolid=5 /dev/disk/by-uuid/$root_uuid $gbgmp/
# Count menuentries
count_warning_menuentries=0
# Count snapshots
count_limit_snap=0
# detect uuid requirement
check_uuid_required
# Detects if /boot is a separate partition
if [[ "$override_boot_partition_detection" == "true" ]]; then
	printf "# Info: Override boot partition detection : enable \n" >&2 ;
	boot_separate
else
	if [[ "$root_uuid" != "$boot_uuid" ]]; then
		printf "# Info: Separate boot partition detected \n" >&2 ;
		boot_separate
	else
		printf "# Info: Separate boot partition not detected \n" >&2 ;
		boot_bounded
	fi
fi
# unmounting mount point
umount $gbgmp
# Show warn, menuentries exceeds 250 entries
[[ $count_warning_menuentries -ge 250 ]] && printf "# Generated ${count_warning_menuentries} total GRUB entries. You might experience issues loading snapshots menu in GRUB.\n" >&2 ;
# printf "# menuentries = $count_warning_menuentries \n" >&2 ;
# Show total found snapshots
if [[ "${show_total_snap_found}" = "true" && ! -z "${count_limit_snap}" && "${count_limit_snap}" != "0" ]]; then
	printf "# Found ${count_limit_snap} snapshot(s)\n" >&2 ;
fi
# if no snapshot found, exit
if [[ "${count_limit_snap}" = "0" || -z "${count_limit_snap}" ]]; then
	print_error "No snapshots found."
fi
root_grub="$(make_system_path_relative_to_its_root /boot/$grub_directory)"
# Make a submenu in GRUB (grub.cfg)
cat << EOF
submenu '${submenuname}' {
	configfile "\${prefix}/grub-btrfs.cfg"
}
EOF
printf "###### - Grub-btrfs: Snapshot detection ended   - ######\n" >&2 ;
### End ###

Script stop at line 105 (41_snapshots-btrfs) empty var boot_hs.

bash set -e
/etc/grub.d >>> bash -x 41_snapshots-btrfs                              [1]
+ set -e
+ prefix=/usr
+ exec_prefix=/usr
+ datarootdir=/usr/share
+ sysconfdir=/etc
+ grub_btrfs_config=/etc/default/grub-btrfs/config
+ [[ -f /etc/default/grub-btrfs/config ]]
+ . /etc/default/grub-btrfs/config
++ GRUB_BTRFS_SUBMENUNAME='Timeshift btrfs Snapshots'
++ GRUB_BTRFS_PREFIXENTRY=Snapshot:
++ GRUB_BTRFS_LIMIT=50
++ GRUB_BTRFS_SUBVOLUME_SORT=descending
++ GRUB_BTRFS_SHOW_SNAPSHOTS_FOUND=true
++ GRUB_BTRFS_SHOW_TOTAL_SNAPSHOTS_FOUND=true
+ . /usr/share/grub/grub-mkconfig_lib
++ prefix=/usr
++ exec_prefix=/usr
++ datarootdir=/usr/share
++ datadir=/usr/share
++ bindir=/usr/bin
++ sbindir=/usr/bin
++ '[' x = x ']'
++ pkgdatadir=/usr/share/grub
++ test x = x
++ grub_probe=/usr/bin/grub-probe
++ test x = x
++ grub_file=/usr/bin/grub-file
++ test x = x
++ grub_mkrelpath=/usr/bin/grub-mkrelpath
++ which gettext
++ :
++ grub_tab='   '
+ . /etc/default/grub
++ GRUB_DEFAULT=saved
++ GRUB_TIMEOUT=10
++ GRUB_DISTRIBUTOR=ManjaroWish
++ GRUB_CMDLINE_LINUX_DEFAULT='loglevel=3 ec_sys.write_support=1 ipv6.disable=1 pcie_aspm=off mitigations=off nowatchdog acpi_rev_override=1 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off'
++ GRUB_CMDLINE_LINUX=
++ GRUB_PRELOAD_MODULES='part_gpt part_msdos'
++ GRUB_TIMEOUT_STYLE=menu
++ GRUB_TERMINAL_INPUT=console
++ GRUB_GFXMODE=auto
++ GRUB_GFXPAYLOAD_LINUX=keep
++ GRUB_DISABLE_RECOVERY=true
++ GRUB_COLOR_NORMAL=light-gray/black
++ GRUB_COLOR_HIGHLIGHT=green/black
++ GRUB_THEME=/usr/share/grub/themes/manjaro/theme.txt
++ GRUB_DISABLE_OS_PROBER=true
+ grub_btrfs_disable=false
+ [[ false == \t\r\u\e ]]
+ submenuname='Timeshift btrfs Snapshots'
+ prefixentry=Snapshot:
+ path_snapshot=true
+ title_format=p/d/n
+ nkernel=("${GRUB_BTRFS_NKERNEL[@]}")
+ ninit=("${GRUB_BTRFS_NINIT[@]}")
+ microcode=("${GRUB_BTRFS_INTEL_UCODE[@]}")
+ limit_snap_show=50
+ snap_list_sort=descending
+ case "${snap_list_sort}" in
+ btrfssubvolsort=("--sort=-rootid")
+ show_snap_found=true
+ show_total_snap_found=true
+ ignore_specific_path=("${GRUB_BTRFS_IGNORE_SPECIFIC_PATH[@]}")
+ snapper_config=root
+ override_boot_partition_detection=false
+ grub_directory=grub
+ export TEXTDOMAIN=grub-btrfs-git
+ TEXTDOMAIN=grub-btrfs-git
+ export TEXTDOMAINDIR=/usr/share/locale
+ TEXTDOMAINDIR=/usr/share/locale
++ /usr/bin/grub-probe --target=device /boot
+ boot_device=/dev/sdb1
++ /usr/bin/grub-probe --device /dev/sdb1 --target=hints_string
+ boot_hs=
#
# /etc/timeshift-autosnap.conf
#

# skipAutosnap defines if timeshift-autosnap execution should be skipped.
# Default value is false.
skipAutosnap=false

# deleteSnapshots defines if old snapshots should be deleted.
# Default value is true.
deleteSnapshots=true

# maxSnapshots defines how much old snapshots script should left.
# Only positive whole numbers can be used.
# Default value is 3.
maxSnapshots=5

# updateGrub defines if grub entries should be auto-generated.
# If grub-btrfs package is not installed grub won't be generated.
# Default value is true.
updateGrub=true

# snapshotDescription defines value used to distinguish snapshots created using timeshift-autosnap
# Default value is "{timeshift-autosnap} {created before upgrade}".
snapshotDescription={timeshift-autosnap} {created before upgrade}

Set to true.

Summary
~ >>> cd /etc/grub.d                                                                                                                                                                      
/etc/grub.d >>> sudo bash -x 41_snapshots-btrfs > /dev/null                                                                                                                               
[sudo] Passwort für sgs: 
+ set -e
+ prefix=/usr
+ exec_prefix=/usr
+ datarootdir=/usr/share
+ sysconfdir=/etc
+ grub_btrfs_config=/etc/default/grub-btrfs/config
+ [[ -f /etc/default/grub-btrfs/config ]]
+ . /etc/default/grub-btrfs/config
++ GRUB_BTRFS_SUBMENUNAME='Timeshift btrfs Snapshots'
++ GRUB_BTRFS_PREFIXENTRY=Snapshot:
++ GRUB_BTRFS_LIMIT=50
++ GRUB_BTRFS_SUBVOLUME_SORT=descending
++ GRUB_BTRFS_SHOW_SNAPSHOTS_FOUND=true
++ GRUB_BTRFS_SHOW_TOTAL_SNAPSHOTS_FOUND=true
+ . /usr/share/grub/grub-mkconfig_lib
++ prefix=/usr
++ exec_prefix=/usr
++ datarootdir=/usr/share
++ datadir=/usr/share
++ bindir=/usr/bin
++ sbindir=/usr/bin
++ '[' x = x ']'
++ pkgdatadir=/usr/share/grub
++ test x = x
++ grub_probe=/usr/bin/grub-probe
++ test x = x
++ grub_file=/usr/bin/grub-file
++ test x = x
++ grub_mkrelpath=/usr/bin/grub-mkrelpath
++ which gettext
++ :
++ grub_tab='   '
+ . /etc/default/grub
++ GRUB_DEFAULT=saved
++ GRUB_TIMEOUT=10
++ GRUB_DISTRIBUTOR=ManjaroWish
++ GRUB_CMDLINE_LINUX_DEFAULT='loglevel=3 ec_sys.write_support=1 ipv6.disable=1 pcie_aspm=off mitigations=off nowatchdog acpi_rev_override=1 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off'
++ GRUB_CMDLINE_LINUX=
++ GRUB_PRELOAD_MODULES='part_gpt part_msdos'
++ GRUB_TIMEOUT_STYLE=menu
++ GRUB_TERMINAL_INPUT=console
++ GRUB_GFXMODE=auto
++ GRUB_GFXPAYLOAD_LINUX=keep
++ GRUB_DISABLE_RECOVERY=true
++ GRUB_COLOR_NORMAL=light-gray/black
++ GRUB_COLOR_HIGHLIGHT=green/black
++ GRUB_THEME=/usr/share/grub/themes/manjaro/theme.txt
++ GRUB_DISABLE_OS_PROBER=true
+ grub_btrfs_disable=false
+ [[ false == \t\r\u\e ]]
+ submenuname='Timeshift btrfs Snapshots'
+ prefixentry=Snapshot:
+ path_snapshot=true
+ title_format=p/d/n
+ nkernel=("${GRUB_BTRFS_NKERNEL[@]}")
+ ninit=("${GRUB_BTRFS_NINIT[@]}")
+ microcode=("${GRUB_BTRFS_INTEL_UCODE[@]}")
+ limit_snap_show=50
+ snap_list_sort=descending
+ case "${snap_list_sort}" in
+ btrfssubvolsort=("--sort=-rootid")
+ show_snap_found=true
+ show_total_snap_found=true
+ ignore_specific_path=("${GRUB_BTRFS_IGNORE_SPECIFIC_PATH[@]}")
+ snapper_config=root
+ override_boot_partition_detection=false
+ grub_directory=grub
+ export TEXTDOMAIN=grub-btrfs-git
+ TEXTDOMAIN=grub-btrfs-git
+ export TEXTDOMAINDIR=/usr/share/locale
+ TEXTDOMAINDIR=/usr/share/locale
++ /usr/bin/grub-probe --target=device /boot
+ boot_device=/dev/sdb1
++ /usr/bin/grub-probe --device /dev/sdb1 --target=hints_string
+ boot_hs='--hint-ieee1275='\''ieee1275//disk@0,msdos1'\'' --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1 '
++ /usr/bin/grub-probe --device /dev/sdb1 --target=fs_uuid
+ boot_uuid=987b5b4a-3a39-4741-a1dc-8c65c6f83ced
++ /usr/bin/grub-probe --target=fs /boot
+ boot_fs=btrfs
++ /usr/bin/grub-probe --target=device /
+ root_device=/dev/sdb1
++ /usr/bin/grub-probe --device /dev/sdb1 --target=fs_uuid
+ root_uuid=987b5b4a-3a39-4741-a1dc-8c65c6f83ced
+ kernel_parameters=' loglevel=3 ec_sys.write_support=1 ipv6.disable=1 pcie_aspm=off mitigations=off nowatchdog acpi_rev_override=1 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off'
++ mktemp -d
+ gbgmp=/tmp/tmp.mHiqVnFUVo
+ CLASS='--class snapshots --class gnu-linux --class gnu --class os'
+ oldIFS=' 
'
+ printf '###### - Grub-btrfs: Snapshot detection started - ######\n'
###### - Grub-btrfs: Snapshot detection started - ######
+ test_btrfs
+ set +e
+ type btrfs
+ [[ 0 -ne 0 ]]
+ set -e
+ [[ ! -d /tmp/tmp.mHiqVnFUVo ]]
+ mount -o subvolid=5 /dev/disk/by-uuid/987b5b4a-3a39-4741-a1dc-8c65c6f83ced /tmp/tmp.mHiqVnFUVo/
+ count_warning_menuentries=0
+ count_limit_snap=0
+ check_uuid_required
+ '[' x987b5b4a-3a39-4741-a1dc-8c65c6f83ced = x ']'
+ '[' x = xtrue ']'
+ test -e /dev/disk/by-uuid/987b5b4a-3a39-4741-a1dc-8c65c6f83ced
+ test -e /dev/sdb1
+ uses_abstraction /dev/sdb1 lvm
+ device=/dev/sdb1
+ old_ifs=' 
'
+ IFS='
'
++ /usr/bin/grub-probe --device /dev/sdb1 --target=abstraction
+ abstraction=
+ IFS=' 
'
+ return 1
+ LINUX_ROOT_DEVICE=UUID=987b5b4a-3a39-4741-a1dc-8c65c6f83ced
+ [[ false == \t\r\u\e ]]
+ [[ 987b5b4a-3a39-4741-a1dc-8c65c6f83ced != \9\8\7\b\5\b\4\a\-\3\a\3\9\-\4\7\4\1\-\a\1\d\c\-\8\c\6\5\c\6\f\8\3\c\e\d ]]
+ printf '# Info: Separate boot partition not detected \n'
# Info: Separate boot partition not detected 
+ boot_bounded
+ IFS='
'
++ snapshot_list
++ type snapper
++ '[' 1 -eq 0 ']'
++ IFS='
'
++ entries=()
++ local entries
++ ids=()
++ local ids
++ local max_entry_length=0
+++ btrfs subvolume list -sa --sort=-rootid /
++ for snap in $(btrfs subvolume list -sa "${btrfssubvolsort}" /)
++ IFS=' 
'
++ snap=($snap)
++ local 'snap_path_name=<FS_TREE>/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@'
++ '[' '<FS_TREE>/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@' = DELETED ']'
++ [[ <FS_TREE> == \<\F\S\_\T\R\E\E\> ]]
++ snap_path_name=timeshift-btrfs/snapshots/2020-02-12_21-01-53/@
++ '[' '!' -z '' ']'
++ [[ ! -d /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot ]]
++ local id=20200212210153
++ ids+=("$id")
++ local 'entry=2020-02-12 21:01:53 | timeshift-btrfs/snapshots/2020-02-12_21-01-53/@'
++ entries+=("$entry")
++ local length=69
++ [[ 69 -gt 0 ]]
++ max_entry_length=69
++ for snap in $(btrfs subvolume list -sa "${btrfssubvolsort}" /)
++ IFS=' 
'
++ snap=($snap)
++ local 'snap_path_name=<FS_TREE>/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@'
++ '[' '<FS_TREE>/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@' = DELETED ']'
++ [[ <FS_TREE> == \<\F\S\_\T\R\E\E\> ]]
++ snap_path_name=timeshift-btrfs/snapshots/2020-02-12_18-13-59/@
++ '[' '!' -z '' ']'
++ [[ ! -d /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot ]]
++ local id=20200212181359
++ ids+=("$id")
++ local 'entry=2020-02-12 18:13:59 | timeshift-btrfs/snapshots/2020-02-12_18-13-59/@'
++ entries+=("$entry")
++ local length=69
++ [[ 69 -gt 69 ]]
++ for snap in $(btrfs subvolume list -sa "${btrfssubvolsort}" /)
++ IFS=' 
'
++ snap=($snap)
++ local 'snap_path_name=<FS_TREE>/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@'
++ '[' '<FS_TREE>/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@' = DELETED ']'
++ [[ <FS_TREE> == \<\F\S\_\T\R\E\E\> ]]
++ snap_path_name=timeshift-btrfs/snapshots/2020-02-12_18-06-35/@
++ '[' '!' -z '' ']'
++ [[ ! -d /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot ]]
++ local id=20200212180635
++ ids+=("$id")
++ local 'entry=2020-02-12 18:06:35 | timeshift-btrfs/snapshots/2020-02-12_18-06-35/@'
++ entries+=("$entry")
++ local length=69
++ [[ 69 -gt 69 ]]
++ local max_type_length=0
++ for id in "${ids[@]}"
++ for id in "${ids[@]}"
++ for id in "${ids[@]}"
++ for i in "${!entries[@]}"
++ local id=20200212210153
++ local 'entry=2020-02-12 21:01:53 | timeshift-btrfs/snapshots/2020-02-12_21-01-53/@'
++ echo '2020-02-12 21:01:53 | timeshift-btrfs/snapshots/2020-02-12_21-01-53/@'
++ for i in "${!entries[@]}"
++ local id=20200212181359
++ local 'entry=2020-02-12 18:13:59 | timeshift-btrfs/snapshots/2020-02-12_18-13-59/@'
++ echo '2020-02-12 18:13:59 | timeshift-btrfs/snapshots/2020-02-12_18-13-59/@'
++ for i in "${!entries[@]}"
++ local id=20200212180635
++ local 'entry=2020-02-12 18:06:35 | timeshift-btrfs/snapshots/2020-02-12_18-06-35/@'
++ echo '2020-02-12 18:06:35 | timeshift-btrfs/snapshots/2020-02-12_18-06-35/@'
++ IFS=' 
'
+ for item in $(snapshot_list)
+ [[ 50 -le 0 ]]
+ IFS=' 
'
++ echo '2020-02-12 21:01:53 | timeshift-btrfs/snapshots/2020-02-12_21-01-53/@'
++ cut '-d|' -f2-
+ snap_full_name=' timeshift-btrfs/snapshots/2020-02-12_21-01-53/@'
++ echo '2020-02-12 21:01:53 | timeshift-btrfs/snapshots/2020-02-12_21-01-53/@'
++ cut '-d|' -f2
+ snap_dir_name=' timeshift-btrfs/snapshots/2020-02-12_21-01-53/@'
++ trim ' timeshift-btrfs/snapshots/2020-02-12_21-01-53/@'
++ local 'var= timeshift-btrfs/snapshots/2020-02-12_21-01-53/@'
++ var=timeshift-btrfs/snapshots/2020-02-12_21-01-53/@
++ var=timeshift-btrfs/snapshots/2020-02-12_21-01-53/@
++ echo -n timeshift-btrfs/snapshots/2020-02-12_21-01-53/@
+ snap_dir_name=timeshift-btrfs/snapshots/2020-02-12_21-01-53/@
++ echo '2020-02-12 21:01:53 | timeshift-btrfs/snapshots/2020-02-12_21-01-53/@'
++ cut '-d ' -f1-2
+ snap_date_time='2020-02-12 21:01:53'
++ trim '2020-02-12 21:01:53'
++ local 'var=2020-02-12 21:01:53'
++ var='2020-02-12 21:01:53'
++ var='2020-02-12 21:01:53'
++ echo -n '2020-02-12 21:01:53'
+ snap_date_time='2020-02-12 21:01:53'
+ boot_dir=/tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot
+ detect_kernel
+ list_kernel=()
+ for okernel in "${boot_dir}"/vmlinuz-* "${boot_dir}"/vmlinux-* "${boot_dir}"/kernel-*
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/vmlinuz-5.4-x86_64 ]]
+ list_kernel+=("$okernel")
+ for okernel in "${boot_dir}"/vmlinuz-* "${boot_dir}"/vmlinux-* "${boot_dir}"/kernel-*
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/vmlinuz-5.5-x86_64 ]]
+ list_kernel+=("$okernel")
+ for okernel in "${boot_dir}"/vmlinuz-* "${boot_dir}"/vmlinux-* "${boot_dir}"/kernel-*
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/vmlinux-* ]]
+ continue
+ for okernel in "${boot_dir}"/vmlinuz-* "${boot_dir}"/vmlinux-* "${boot_dir}"/kernel-*
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/kernel-* ]]
+ continue
+ '[' '!' -z '' ']'
+ '[' -z /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/vmlinuz-5.4-x86_64 ']'
+ name_kernel=("${list_kernel[@]##*"/"}")
+ detect_initramfs
+ list_initramfs=()
+ for oinitramfs in "${boot_dir}"/initrd.img-* "${boot_dir}"/initrd-*.img "${boot_dir}"/initrd-*.gz "${boot_dir}"/initramfs-*.img "${boot_dir}"/initramfs-*.gz
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/initrd.img-* ]]
+ continue
+ for oinitramfs in "${boot_dir}"/initrd.img-* "${boot_dir}"/initrd-*.img "${boot_dir}"/initrd-*.gz "${boot_dir}"/initramfs-*.img "${boot_dir}"/initramfs-*.gz
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/initrd-*.img ]]
+ continue
+ for oinitramfs in "${boot_dir}"/initrd.img-* "${boot_dir}"/initrd-*.img "${boot_dir}"/initrd-*.gz "${boot_dir}"/initramfs-*.img "${boot_dir}"/initramfs-*.gz
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/initrd-*.gz ]]
+ continue
+ for oinitramfs in "${boot_dir}"/initrd.img-* "${boot_dir}"/initrd-*.img "${boot_dir}"/initrd-*.gz "${boot_dir}"/initramfs-*.img "${boot_dir}"/initramfs-*.gz
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/initramfs-5.4-x86_64-fallback.img ]]
+ list_initramfs+=("$oinitramfs")
+ for oinitramfs in "${boot_dir}"/initrd.img-* "${boot_dir}"/initrd-*.img "${boot_dir}"/initrd-*.gz "${boot_dir}"/initramfs-*.img "${boot_dir}"/initramfs-*.gz
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/initramfs-5.4-x86_64.img ]]
+ list_initramfs+=("$oinitramfs")
+ for oinitramfs in "${boot_dir}"/initrd.img-* "${boot_dir}"/initrd-*.img "${boot_dir}"/initrd-*.gz "${boot_dir}"/initramfs-*.img "${boot_dir}"/initramfs-*.gz
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/initramfs-5.5-x86_64-fallback.img ]]
+ list_initramfs+=("$oinitramfs")
+ for oinitramfs in "${boot_dir}"/initrd.img-* "${boot_dir}"/initrd-*.img "${boot_dir}"/initrd-*.gz "${boot_dir}"/initramfs-*.img "${boot_dir}"/initramfs-*.gz
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/initramfs-5.5-x86_64.img ]]
+ list_initramfs+=("$oinitramfs")
+ for oinitramfs in "${boot_dir}"/initrd.img-* "${boot_dir}"/initrd-*.img "${boot_dir}"/initrd-*.gz "${boot_dir}"/initramfs-*.img "${boot_dir}"/initramfs-*.gz
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/initramfs-*.gz ]]
+ continue
+ '[' '!' -z '' ']'
+ '[' -z /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/initramfs-5.4-x86_64-fallback.img ']'
+ name_initramfs=("${list_initramfs[@]##*"/"}")
+ detect_microcode
+ list_ucode=()
+ for oiucode in "${boot_dir}"/intel-ucode.img
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/intel-ucode.img ]]
+ list_ucode+=("$oiucode")
+ '[' '!' -z '' ']'
+ '[' -z /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/intel-ucode.img ']'
+ name_microcode=("${list_ucode[@]##*"/"}")
+ [[ true = \t\r\u\e ]]
+ printf '# Found snapshot: %s\n' '2020-02-12 21:01:53 | timeshift-btrfs/snapshots/2020-02-12_21-01-53/@'
# Found snapshot: 2020-02-12 21:01:53 | timeshift-btrfs/snapshots/2020-02-12_21-01-53/@
+ path_snapshot
+ case "${path_snapshot}" in
+ name_snapshot=("${snap_full_name}")
+ title_format
+ case "${title_format}" in
+ title_menu='Snapshot: 2020-02-12 21:01:53  timeshift-btrfs/snapshots/2020-02-12_21-01-53/@'
++ make_system_path_relative_to_its_root /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot
++ /usr/bin/grub-mkrelpath /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot
+ boot_dir_root_grub=/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot
+ make_menu_entries
+ entry 'submenu '\''Snapshot: 2020-02-12 21:01:53  timeshift-btrfs/snapshots/2020-02-12_21-01-53/@'\'' {
        submenu '\''---> Snapshot: 2020-02-12 21:01:53  timeshift-btrfs/snapshots/2020-02-12_21-01-53/@ <---'\'' { echo }'
+ echo 'submenu '\''Snapshot: 2020-02-12 21:01:53  timeshift-btrfs/snapshots/2020-02-12_21-01-53/@'\'' {
        submenu '\''---> Snapshot: 2020-02-12 21:01:53  timeshift-btrfs/snapshots/2020-02-12_21-01-53/@ <---'\'' { echo }'
+ for k in "${name_kernel[@]}"
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/vmlinuz-5.4-x86_64 ]]
+ kversion=5.4-x86_64
+ for i in "${name_initramfs[@]}"
+ prefix_i=initramfs
+ suffix_i=5.4-x86_64-fallback.img
+ alt_suffix_i=fallback.img
+ '[' 5.4-x86_64 = 5.4-x86_64-fallback.img ']'
+ '[' 5.4-x86_64.img = 5.4-x86_64-fallback.img ']'
+ '[' 5.4-x86_64-fallback.img = 5.4-x86_64-fallback.img ']'
+ i=initramfs-5.4-x86_64-fallback.img
+ for u in "${name_microcode[@]}"
+ [[ -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/intel-ucode.img ]]
+ [[ initramfs-5.4-x86_64-fallback.img != \i\n\i\t\r\a\m\f\s\-\5\.\4\-\x\8\6\_\6\4\-\f\a\l\l\b\a\c\k\.\i\m\g ]]
+ entry '
        menuentry '\''vmlinuz-5.4-x86_64 & initramfs-5.4-x86_64-fallback.img'\'' --class snapshots --class gnu-linux --class gnu --class os $menuentry_id_option '\''gnulinux-snapshots-987b5b4a-3a39-4741-a1dc-8c65c6f83ced'\''{'
+ echo '
        menuentry '\''vmlinuz-5.4-x86_64 & initramfs-5.4-x86_64-fallback.img'\'' --class snapshots --class gnu-linux --class gnu --class os $menuentry_id_option '\''gnulinux-snapshots-987b5b4a-3a39-4741-a1dc-8c65c6f83ced'\''{'
+ entry '               if [ x$feature_all_video_module = xy ]; then
                insmod all_video
                fi
                set gfxpayload=keep
                insmod btrfs
                if [ x$feature_platform_search_hint = xy ]; then
                        search --no-floppy --fs-uuid  --set=root --hint-ieee1275='\''ieee1275//disk@0,msdos1'\'' --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                else
                        search --no-floppy --fs-uuid  --set=root 987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                fi
                echo '\''Loading Snapshot: 2020-02-12' '21:01:53 timeshift-btrfs/snapshots/2020-02-12_21-01-53/@'\''
                echo '\''Loading Kernel: vmlinuz-5.4-x86_64 ...'\''
                linux "/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/vmlinuz-5.4-x86_64" root=UUID=987b5b4a-3a39-4741-a1dc-8c65c6f83ced rw rootflags=subvol="timeshift-btrfs/snapshots/2020-02-12_21-01-53/@"  loglevel=3 ec_sys.write_support=1 ipv6.disable=1 pcie_aspm=off mitigations=off nowatchdog acpi_rev_override=1 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off'
+ echo '                if [ x$feature_all_video_module = xy ]; then
                insmod all_video
                fi
                set gfxpayload=keep
                insmod btrfs
                if [ x$feature_platform_search_hint = xy ]; then
                        search --no-floppy --fs-uuid  --set=root --hint-ieee1275='\''ieee1275//disk@0,msdos1'\'' --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                else
                        search --no-floppy --fs-uuid  --set=root 987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                fi
                echo '\''Loading Snapshot: 2020-02-12' '21:01:53 timeshift-btrfs/snapshots/2020-02-12_21-01-53/@'\''
                echo '\''Loading Kernel: vmlinuz-5.4-x86_64 ...'\''
                linux "/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/vmlinuz-5.4-x86_64" root=UUID=987b5b4a-3a39-4741-a1dc-8c65c6f83ced rw rootflags=subvol="timeshift-btrfs/snapshots/2020-02-12_21-01-53/@"  loglevel=3 ec_sys.write_support=1 ipv6.disable=1 pcie_aspm=off mitigations=off nowatchdog acpi_rev_override=1 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off'
+ [[ -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/intel-ucode.img ]]
+ [[ initramfs-5.4-x86_64-fallback.img != \i\n\i\t\r\a\m\f\s\-\5\.\4\-\x\8\6\_\6\4\-\f\a\l\l\b\a\c\k\.\i\m\g ]]
+ entry '               echo '\''Loading Initramfs: initramfs-5.4-x86_64-fallback.img ...'\''
                initrd "/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/initramfs-5.4-x86_64-fallback.img"'
+ echo '                echo '\''Loading Initramfs: initramfs-5.4-x86_64-fallback.img ...'\''
                initrd "/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/initramfs-5.4-x86_64-fallback.img"'
+ entry '       }'
+ echo '        }'
+ count_warning_menuentries=1
+ for i in "${name_initramfs[@]}"
+ prefix_i=initramfs
+ suffix_i=5.4-x86_64.img
+ alt_suffix_i=x86_64.img
+ '[' 5.4-x86_64 = 5.4-x86_64.img ']'
+ '[' 5.4-x86_64.img = 5.4-x86_64.img ']'
+ i=initramfs-5.4-x86_64.img
+ for u in "${name_microcode[@]}"
+ [[ -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/intel-ucode.img ]]
+ [[ initramfs-5.4-x86_64.img != \i\n\i\t\r\a\m\f\s\-\5\.\4\-\x\8\6\_\6\4\-\x\8\6\_\6\4\.\i\m\g ]]
+ entry '
        menuentry '\''vmlinuz-5.4-x86_64 & initramfs-5.4-x86_64.img & intel-ucode.img'\'' --class snapshots --class gnu-linux --class gnu --class os $menuentry_id_option '\''gnulinux-snapshots-987b5b4a-3a39-4741-a1dc-8c65c6f83ced'\''{'
+ echo '
        menuentry '\''vmlinuz-5.4-x86_64 & initramfs-5.4-x86_64.img & intel-ucode.img'\'' --class snapshots --class gnu-linux --class gnu --class os $menuentry_id_option '\''gnulinux-snapshots-987b5b4a-3a39-4741-a1dc-8c65c6f83ced'\''{'
+ entry '               if [ x$feature_all_video_module = xy ]; then
                insmod all_video
                fi
                set gfxpayload=keep
                insmod btrfs
                if [ x$feature_platform_search_hint = xy ]; then
                        search --no-floppy --fs-uuid  --set=root --hint-ieee1275='\''ieee1275//disk@0,msdos1'\'' --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                else
                        search --no-floppy --fs-uuid  --set=root 987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                fi
                echo '\''Loading Snapshot: 2020-02-12' '21:01:53 timeshift-btrfs/snapshots/2020-02-12_21-01-53/@'\''
                echo '\''Loading Kernel: vmlinuz-5.4-x86_64 ...'\''
                linux "/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/vmlinuz-5.4-x86_64" root=UUID=987b5b4a-3a39-4741-a1dc-8c65c6f83ced rw rootflags=subvol="timeshift-btrfs/snapshots/2020-02-12_21-01-53/@"  loglevel=3 ec_sys.write_support=1 ipv6.disable=1 pcie_aspm=off mitigations=off nowatchdog acpi_rev_override=1 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off'
+ echo '                if [ x$feature_all_video_module = xy ]; then
                insmod all_video
                fi
                set gfxpayload=keep
                insmod btrfs
                if [ x$feature_platform_search_hint = xy ]; then
                        search --no-floppy --fs-uuid  --set=root --hint-ieee1275='\''ieee1275//disk@0,msdos1'\'' --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                else
                        search --no-floppy --fs-uuid  --set=root 987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                fi
                echo '\''Loading Snapshot: 2020-02-12' '21:01:53 timeshift-btrfs/snapshots/2020-02-12_21-01-53/@'\''
                echo '\''Loading Kernel: vmlinuz-5.4-x86_64 ...'\''
                linux "/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/vmlinuz-5.4-x86_64" root=UUID=987b5b4a-3a39-4741-a1dc-8c65c6f83ced rw rootflags=subvol="timeshift-btrfs/snapshots/2020-02-12_21-01-53/@"  loglevel=3 ec_sys.write_support=1 ipv6.disable=1 pcie_aspm=off mitigations=off nowatchdog acpi_rev_override=1 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off'
+ [[ -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/intel-ucode.img ]]
+ [[ initramfs-5.4-x86_64.img != \i\n\i\t\r\a\m\f\s\-\5\.\4\-\x\8\6\_\6\4\-\x\8\6\_\6\4\.\i\m\g ]]
+ entry '               echo '\''Loading Microcode & Initramfs: intel-ucode.img initramfs-5.4-x86_64.img ...'\''
                initrd "/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/intel-ucode.img" "/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/initramfs-5.4-x86_64.img"'
+ echo '                echo '\''Loading Microcode & Initramfs: intel-ucode.img initramfs-5.4-x86_64.img ...'\''
                initrd "/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/intel-ucode.img" "/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/initramfs-5.4-x86_64.img"'
+ entry '       }'
+ echo '        }'
+ count_warning_menuentries=2
+ for i in "${name_initramfs[@]}"
+ prefix_i=initramfs
+ suffix_i=5.5-x86_64-fallback.img
+ alt_suffix_i=fallback.img
+ '[' 5.4-x86_64 = 5.5-x86_64-fallback.img ']'
+ '[' 5.4-x86_64.img = 5.5-x86_64-fallback.img ']'
+ '[' 5.4-x86_64-fallback.img = 5.5-x86_64-fallback.img ']'
+ '[' 5.4-x86_64.gz = 5.5-x86_64-fallback.img ']'
+ continue
+ for i in "${name_initramfs[@]}"
+ prefix_i=initramfs
+ suffix_i=5.5-x86_64.img
+ alt_suffix_i=x86_64.img
+ '[' 5.4-x86_64 = 5.5-x86_64.img ']'
+ '[' 5.4-x86_64.img = 5.5-x86_64.img ']'
+ '[' 5.4-x86_64-fallback.img = 5.5-x86_64.img ']'
+ '[' 5.4-x86_64.gz = 5.5-x86_64.img ']'
+ continue
+ for k in "${name_kernel[@]}"
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/vmlinuz-5.5-x86_64 ]]
+ kversion=5.5-x86_64
+ for i in "${name_initramfs[@]}"
+ prefix_i=initramfs
+ suffix_i=5.4-x86_64-fallback.img
+ alt_suffix_i=fallback.img
+ '[' 5.5-x86_64 = 5.4-x86_64-fallback.img ']'
+ '[' 5.5-x86_64.img = 5.4-x86_64-fallback.img ']'
+ '[' 5.5-x86_64-fallback.img = 5.4-x86_64-fallback.img ']'
+ '[' 5.5-x86_64.gz = 5.4-x86_64-fallback.img ']'
+ continue
+ for i in "${name_initramfs[@]}"
+ prefix_i=initramfs
+ suffix_i=5.4-x86_64.img
+ alt_suffix_i=x86_64.img
+ '[' 5.5-x86_64 = 5.4-x86_64.img ']'
+ '[' 5.5-x86_64.img = 5.4-x86_64.img ']'
+ '[' 5.5-x86_64-fallback.img = 5.4-x86_64.img ']'
+ '[' 5.5-x86_64.gz = 5.4-x86_64.img ']'
+ continue
+ for i in "${name_initramfs[@]}"
+ prefix_i=initramfs
+ suffix_i=5.5-x86_64-fallback.img
+ alt_suffix_i=fallback.img
+ '[' 5.5-x86_64 = 5.5-x86_64-fallback.img ']'
+ '[' 5.5-x86_64.img = 5.5-x86_64-fallback.img ']'
+ '[' 5.5-x86_64-fallback.img = 5.5-x86_64-fallback.img ']'
+ i=initramfs-5.5-x86_64-fallback.img
+ for u in "${name_microcode[@]}"
+ [[ -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/intel-ucode.img ]]
+ [[ initramfs-5.5-x86_64-fallback.img != \i\n\i\t\r\a\m\f\s\-\5\.\5\-\x\8\6\_\6\4\-\f\a\l\l\b\a\c\k\.\i\m\g ]]
+ entry '
        menuentry '\''vmlinuz-5.5-x86_64 & initramfs-5.5-x86_64-fallback.img'\'' --class snapshots --class gnu-linux --class gnu --class os $menuentry_id_option '\''gnulinux-snapshots-987b5b4a-3a39-4741-a1dc-8c65c6f83ced'\''{'
+ echo '
        menuentry '\''vmlinuz-5.5-x86_64 & initramfs-5.5-x86_64-fallback.img'\'' --class snapshots --class gnu-linux --class gnu --class os $menuentry_id_option '\''gnulinux-snapshots-987b5b4a-3a39-4741-a1dc-8c65c6f83ced'\''{'
+ entry '               if [ x$feature_all_video_module = xy ]; then
                insmod all_video
                fi
                set gfxpayload=keep
                insmod btrfs
                if [ x$feature_platform_search_hint = xy ]; then
                        search --no-floppy --fs-uuid  --set=root --hint-ieee1275='\''ieee1275//disk@0,msdos1'\'' --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                else
                        search --no-floppy --fs-uuid  --set=root 987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                fi
                echo '\''Loading Snapshot: 2020-02-12' '21:01:53 timeshift-btrfs/snapshots/2020-02-12_21-01-53/@'\''
                echo '\''Loading Kernel: vmlinuz-5.5-x86_64 ...'\''
                linux "/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/vmlinuz-5.5-x86_64" root=UUID=987b5b4a-3a39-4741-a1dc-8c65c6f83ced rw rootflags=subvol="timeshift-btrfs/snapshots/2020-02-12_21-01-53/@"  loglevel=3 ec_sys.write_support=1 ipv6.disable=1 pcie_aspm=off mitigations=off nowatchdog acpi_rev_override=1 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off'
+ echo '                if [ x$feature_all_video_module = xy ]; then
                insmod all_video
                fi
                set gfxpayload=keep
                insmod btrfs
                if [ x$feature_platform_search_hint = xy ]; then
                        search --no-floppy --fs-uuid  --set=root --hint-ieee1275='\''ieee1275//disk@0,msdos1'\'' --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                else
                        search --no-floppy --fs-uuid  --set=root 987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                fi
                echo '\''Loading Snapshot: 2020-02-12' '21:01:53 timeshift-btrfs/snapshots/2020-02-12_21-01-53/@'\''
                echo '\''Loading Kernel: vmlinuz-5.5-x86_64 ...'\''
                linux "/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/vmlinuz-5.5-x86_64" root=UUID=987b5b4a-3a39-4741-a1dc-8c65c6f83ced rw rootflags=subvol="timeshift-btrfs/snapshots/2020-02-12_21-01-53/@"  loglevel=3 ec_sys.write_support=1 ipv6.disable=1 pcie_aspm=off mitigations=off nowatchdog acpi_rev_override=1 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off'
+ [[ -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/intel-ucode.img ]]
+ [[ initramfs-5.5-x86_64-fallback.img != \i\n\i\t\r\a\m\f\s\-\5\.\5\-\x\8\6\_\6\4\-\f\a\l\l\b\a\c\k\.\i\m\g ]]
+ entry '               echo '\''Loading Initramfs: initramfs-5.5-x86_64-fallback.img ...'\''
                initrd "/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/initramfs-5.5-x86_64-fallback.img"'
+ echo '                echo '\''Loading Initramfs: initramfs-5.5-x86_64-fallback.img ...'\''
                initrd "/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/initramfs-5.5-x86_64-fallback.img"'
+ entry '       }'
+ echo '        }'
+ count_warning_menuentries=3
+ for i in "${name_initramfs[@]}"
+ prefix_i=initramfs
+ suffix_i=5.5-x86_64.img
+ alt_suffix_i=x86_64.img
+ '[' 5.5-x86_64 = 5.5-x86_64.img ']'
+ '[' 5.5-x86_64.img = 5.5-x86_64.img ']'
+ i=initramfs-5.5-x86_64.img
+ for u in "${name_microcode[@]}"
+ [[ -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/intel-ucode.img ]]
+ [[ initramfs-5.5-x86_64.img != \i\n\i\t\r\a\m\f\s\-\5\.\5\-\x\8\6\_\6\4\-\x\8\6\_\6\4\.\i\m\g ]]
+ entry '
        menuentry '\''vmlinuz-5.5-x86_64 & initramfs-5.5-x86_64.img & intel-ucode.img'\'' --class snapshots --class gnu-linux --class gnu --class os $menuentry_id_option '\''gnulinux-snapshots-987b5b4a-3a39-4741-a1dc-8c65c6f83ced'\''{'
+ echo '
        menuentry '\''vmlinuz-5.5-x86_64 & initramfs-5.5-x86_64.img & intel-ucode.img'\'' --class snapshots --class gnu-linux --class gnu --class os $menuentry_id_option '\''gnulinux-snapshots-987b5b4a-3a39-4741-a1dc-8c65c6f83ced'\''{'
+ entry '               if [ x$feature_all_video_module = xy ]; then
                insmod all_video
                fi
                set gfxpayload=keep
                insmod btrfs
                if [ x$feature_platform_search_hint = xy ]; then
                        search --no-floppy --fs-uuid  --set=root --hint-ieee1275='\''ieee1275//disk@0,msdos1'\'' --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                else
                        search --no-floppy --fs-uuid  --set=root 987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                fi
                echo '\''Loading Snapshot: 2020-02-12' '21:01:53 timeshift-btrfs/snapshots/2020-02-12_21-01-53/@'\''
                echo '\''Loading Kernel: vmlinuz-5.5-x86_64 ...'\''
                linux "/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/vmlinuz-5.5-x86_64" root=UUID=987b5b4a-3a39-4741-a1dc-8c65c6f83ced rw rootflags=subvol="timeshift-btrfs/snapshots/2020-02-12_21-01-53/@"  loglevel=3 ec_sys.write_support=1 ipv6.disable=1 pcie_aspm=off mitigations=off nowatchdog acpi_rev_override=1 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off'
+ echo '                if [ x$feature_all_video_module = xy ]; then
                insmod all_video
                fi
                set gfxpayload=keep
                insmod btrfs
                if [ x$feature_platform_search_hint = xy ]; then
                        search --no-floppy --fs-uuid  --set=root --hint-ieee1275='\''ieee1275//disk@0,msdos1'\'' --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                else
                        search --no-floppy --fs-uuid  --set=root 987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                fi
                echo '\''Loading Snapshot: 2020-02-12' '21:01:53 timeshift-btrfs/snapshots/2020-02-12_21-01-53/@'\''
                echo '\''Loading Kernel: vmlinuz-5.5-x86_64 ...'\''
                linux "/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/vmlinuz-5.5-x86_64" root=UUID=987b5b4a-3a39-4741-a1dc-8c65c6f83ced rw rootflags=subvol="timeshift-btrfs/snapshots/2020-02-12_21-01-53/@"  loglevel=3 ec_sys.write_support=1 ipv6.disable=1 pcie_aspm=off mitigations=off nowatchdog acpi_rev_override=1 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off'
+ [[ -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/intel-ucode.img ]]
+ [[ initramfs-5.5-x86_64.img != \i\n\i\t\r\a\m\f\s\-\5\.\5\-\x\8\6\_\6\4\-\x\8\6\_\6\4\.\i\m\g ]]
+ entry '               echo '\''Loading Microcode & Initramfs: intel-ucode.img initramfs-5.5-x86_64.img ...'\''
                initrd "/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/intel-ucode.img" "/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/initramfs-5.5-x86_64.img"'
+ echo '                echo '\''Loading Microcode & Initramfs: intel-ucode.img initramfs-5.5-x86_64.img ...'\''
                initrd "/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/intel-ucode.img" "/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/initramfs-5.5-x86_64.img"'
+ entry '       }'
+ echo '        }'
+ count_warning_menuentries=4
+ entry '}'
+ echo '}'
+ count_limit_snap=1
+ [[ 1 -ge 50 ]]
+ for item in $(snapshot_list)
+ [[ 50 -le 0 ]]
+ IFS=' 
'
++ echo '2020-02-12 18:13:59 | timeshift-btrfs/snapshots/2020-02-12_18-13-59/@'
++ cut '-d|' -f2-
+ snap_full_name=' timeshift-btrfs/snapshots/2020-02-12_18-13-59/@'
++ echo '2020-02-12 18:13:59 | timeshift-btrfs/snapshots/2020-02-12_18-13-59/@'
++ cut '-d|' -f2
+ snap_dir_name=' timeshift-btrfs/snapshots/2020-02-12_18-13-59/@'
++ trim ' timeshift-btrfs/snapshots/2020-02-12_18-13-59/@'
++ local 'var= timeshift-btrfs/snapshots/2020-02-12_18-13-59/@'
++ var=timeshift-btrfs/snapshots/2020-02-12_18-13-59/@
++ var=timeshift-btrfs/snapshots/2020-02-12_18-13-59/@
++ echo -n timeshift-btrfs/snapshots/2020-02-12_18-13-59/@
+ snap_dir_name=timeshift-btrfs/snapshots/2020-02-12_18-13-59/@
++ echo '2020-02-12 18:13:59 | timeshift-btrfs/snapshots/2020-02-12_18-13-59/@'
++ cut '-d ' -f1-2
+ snap_date_time='2020-02-12 18:13:59'
++ trim '2020-02-12 18:13:59'
++ local 'var=2020-02-12 18:13:59'
++ var='2020-02-12 18:13:59'
++ var='2020-02-12 18:13:59'
++ echo -n '2020-02-12 18:13:59'
+ snap_date_time='2020-02-12 18:13:59'
+ boot_dir=/tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot
+ detect_kernel
+ list_kernel=()
+ for okernel in "${boot_dir}"/vmlinuz-* "${boot_dir}"/vmlinux-* "${boot_dir}"/kernel-*
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/vmlinuz-5.4-x86_64 ]]
+ list_kernel+=("$okernel")
+ for okernel in "${boot_dir}"/vmlinuz-* "${boot_dir}"/vmlinux-* "${boot_dir}"/kernel-*
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/vmlinux-* ]]
+ continue
+ for okernel in "${boot_dir}"/vmlinuz-* "${boot_dir}"/vmlinux-* "${boot_dir}"/kernel-*
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/kernel-* ]]
+ continue
+ '[' '!' -z '' ']'
+ '[' -z /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/vmlinuz-5.4-x86_64 ']'
+ name_kernel=("${list_kernel[@]##*"/"}")
+ detect_initramfs
+ list_initramfs=()
+ for oinitramfs in "${boot_dir}"/initrd.img-* "${boot_dir}"/initrd-*.img "${boot_dir}"/initrd-*.gz "${boot_dir}"/initramfs-*.img "${boot_dir}"/initramfs-*.gz
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/initrd.img-* ]]
+ continue
+ for oinitramfs in "${boot_dir}"/initrd.img-* "${boot_dir}"/initrd-*.img "${boot_dir}"/initrd-*.gz "${boot_dir}"/initramfs-*.img "${boot_dir}"/initramfs-*.gz
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/initrd-*.img ]]
+ continue
+ for oinitramfs in "${boot_dir}"/initrd.img-* "${boot_dir}"/initrd-*.img "${boot_dir}"/initrd-*.gz "${boot_dir}"/initramfs-*.img "${boot_dir}"/initramfs-*.gz
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/initrd-*.gz ]]
+ continue
+ for oinitramfs in "${boot_dir}"/initrd.img-* "${boot_dir}"/initrd-*.img "${boot_dir}"/initrd-*.gz "${boot_dir}"/initramfs-*.img "${boot_dir}"/initramfs-*.gz
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/initramfs-5.4-x86_64-fallback.img ]]
+ list_initramfs+=("$oinitramfs")
+ for oinitramfs in "${boot_dir}"/initrd.img-* "${boot_dir}"/initrd-*.img "${boot_dir}"/initrd-*.gz "${boot_dir}"/initramfs-*.img "${boot_dir}"/initramfs-*.gz
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/initramfs-5.4-x86_64.img ]]
+ list_initramfs+=("$oinitramfs")
+ for oinitramfs in "${boot_dir}"/initrd.img-* "${boot_dir}"/initrd-*.img "${boot_dir}"/initrd-*.gz "${boot_dir}"/initramfs-*.img "${boot_dir}"/initramfs-*.gz
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/initramfs-*.gz ]]
+ continue
+ '[' '!' -z '' ']'
+ '[' -z /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/initramfs-5.4-x86_64-fallback.img ']'
+ name_initramfs=("${list_initramfs[@]##*"/"}")
+ detect_microcode
+ list_ucode=()
+ for oiucode in "${boot_dir}"/intel-ucode.img
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/intel-ucode.img ]]
+ list_ucode+=("$oiucode")
+ '[' '!' -z '' ']'
+ '[' -z /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/intel-ucode.img ']'
+ name_microcode=("${list_ucode[@]##*"/"}")
+ [[ true = \t\r\u\e ]]
+ printf '# Found snapshot: %s\n' '2020-02-12 18:13:59 | timeshift-btrfs/snapshots/2020-02-12_18-13-59/@'
# Found snapshot: 2020-02-12 18:13:59 | timeshift-btrfs/snapshots/2020-02-12_18-13-59/@
+ path_snapshot
+ case "${path_snapshot}" in
+ name_snapshot=("${snap_full_name}")
+ title_format
+ case "${title_format}" in
+ title_menu='Snapshot: 2020-02-12 18:13:59  timeshift-btrfs/snapshots/2020-02-12_18-13-59/@'
++ make_system_path_relative_to_its_root /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot
++ /usr/bin/grub-mkrelpath /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot
+ boot_dir_root_grub=/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot
+ make_menu_entries
+ entry 'submenu '\''Snapshot: 2020-02-12 18:13:59  timeshift-btrfs/snapshots/2020-02-12_18-13-59/@'\'' {
        submenu '\''---> Snapshot: 2020-02-12 18:13:59  timeshift-btrfs/snapshots/2020-02-12_18-13-59/@ <---'\'' { echo }'
+ echo 'submenu '\''Snapshot: 2020-02-12 18:13:59  timeshift-btrfs/snapshots/2020-02-12_18-13-59/@'\'' {
        submenu '\''---> Snapshot: 2020-02-12 18:13:59  timeshift-btrfs/snapshots/2020-02-12_18-13-59/@ <---'\'' { echo }'
+ for k in "${name_kernel[@]}"
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/vmlinuz-5.4-x86_64 ]]
+ kversion=5.4-x86_64
+ for i in "${name_initramfs[@]}"
+ prefix_i=initramfs
+ suffix_i=5.4-x86_64-fallback.img
+ alt_suffix_i=fallback.img
+ '[' 5.4-x86_64 = 5.4-x86_64-fallback.img ']'
+ '[' 5.4-x86_64.img = 5.4-x86_64-fallback.img ']'
+ '[' 5.4-x86_64-fallback.img = 5.4-x86_64-fallback.img ']'
+ i=initramfs-5.4-x86_64-fallback.img
+ for u in "${name_microcode[@]}"
+ [[ -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/intel-ucode.img ]]
+ [[ initramfs-5.4-x86_64-fallback.img != \i\n\i\t\r\a\m\f\s\-\5\.\4\-\x\8\6\_\6\4\-\f\a\l\l\b\a\c\k\.\i\m\g ]]
+ entry '
        menuentry '\''vmlinuz-5.4-x86_64 & initramfs-5.4-x86_64-fallback.img'\'' --class snapshots --class gnu-linux --class gnu --class os $menuentry_id_option '\''gnulinux-snapshots-987b5b4a-3a39-4741-a1dc-8c65c6f83ced'\''{'
+ echo '
        menuentry '\''vmlinuz-5.4-x86_64 & initramfs-5.4-x86_64-fallback.img'\'' --class snapshots --class gnu-linux --class gnu --class os $menuentry_id_option '\''gnulinux-snapshots-987b5b4a-3a39-4741-a1dc-8c65c6f83ced'\''{'
+ entry '               if [ x$feature_all_video_module = xy ]; then
                insmod all_video
                fi
                set gfxpayload=keep
                insmod btrfs
                if [ x$feature_platform_search_hint = xy ]; then
                        search --no-floppy --fs-uuid  --set=root --hint-ieee1275='\''ieee1275//disk@0,msdos1'\'' --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                else
                        search --no-floppy --fs-uuid  --set=root 987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                fi
                echo '\''Loading Snapshot: 2020-02-12' '18:13:59 timeshift-btrfs/snapshots/2020-02-12_18-13-59/@'\''
                echo '\''Loading Kernel: vmlinuz-5.4-x86_64 ...'\''
                linux "/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/vmlinuz-5.4-x86_64" root=UUID=987b5b4a-3a39-4741-a1dc-8c65c6f83ced rw rootflags=subvol="timeshift-btrfs/snapshots/2020-02-12_18-13-59/@"  loglevel=3 ec_sys.write_support=1 ipv6.disable=1 pcie_aspm=off mitigations=off nowatchdog acpi_rev_override=1 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off'
+ echo '                if [ x$feature_all_video_module = xy ]; then
                insmod all_video
                fi
                set gfxpayload=keep
                insmod btrfs
                if [ x$feature_platform_search_hint = xy ]; then
                        search --no-floppy --fs-uuid  --set=root --hint-ieee1275='\''ieee1275//disk@0,msdos1'\'' --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                else
                        search --no-floppy --fs-uuid  --set=root 987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                fi
                echo '\''Loading Snapshot: 2020-02-12' '18:13:59 timeshift-btrfs/snapshots/2020-02-12_18-13-59/@'\''
                echo '\''Loading Kernel: vmlinuz-5.4-x86_64 ...'\''
                linux "/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/vmlinuz-5.4-x86_64" root=UUID=987b5b4a-3a39-4741-a1dc-8c65c6f83ced rw rootflags=subvol="timeshift-btrfs/snapshots/2020-02-12_18-13-59/@"  loglevel=3 ec_sys.write_support=1 ipv6.disable=1 pcie_aspm=off mitigations=off nowatchdog acpi_rev_override=1 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off'
+ [[ -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/intel-ucode.img ]]
+ [[ initramfs-5.4-x86_64-fallback.img != \i\n\i\t\r\a\m\f\s\-\5\.\4\-\x\8\6\_\6\4\-\f\a\l\l\b\a\c\k\.\i\m\g ]]
+ entry '               echo '\''Loading Initramfs: initramfs-5.4-x86_64-fallback.img ...'\''
                initrd "/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/initramfs-5.4-x86_64-fallback.img"'
+ echo '                echo '\''Loading Initramfs: initramfs-5.4-x86_64-fallback.img ...'\''
                initrd "/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/initramfs-5.4-x86_64-fallback.img"'
+ entry '       }'
+ echo '        }'
+ count_warning_menuentries=5
+ for i in "${name_initramfs[@]}"
+ prefix_i=initramfs
+ suffix_i=5.4-x86_64.img
+ alt_suffix_i=x86_64.img
+ '[' 5.4-x86_64 = 5.4-x86_64.img ']'
+ '[' 5.4-x86_64.img = 5.4-x86_64.img ']'
+ i=initramfs-5.4-x86_64.img
+ for u in "${name_microcode[@]}"
+ [[ -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/intel-ucode.img ]]
+ [[ initramfs-5.4-x86_64.img != \i\n\i\t\r\a\m\f\s\-\5\.\4\-\x\8\6\_\6\4\-\x\8\6\_\6\4\.\i\m\g ]]
+ entry '
        menuentry '\''vmlinuz-5.4-x86_64 & initramfs-5.4-x86_64.img & intel-ucode.img'\'' --class snapshots --class gnu-linux --class gnu --class os $menuentry_id_option '\''gnulinux-snapshots-987b5b4a-3a39-4741-a1dc-8c65c6f83ced'\''{'
+ echo '
        menuentry '\''vmlinuz-5.4-x86_64 & initramfs-5.4-x86_64.img & intel-ucode.img'\'' --class snapshots --class gnu-linux --class gnu --class os $menuentry_id_option '\''gnulinux-snapshots-987b5b4a-3a39-4741-a1dc-8c65c6f83ced'\''{'
+ entry '               if [ x$feature_all_video_module = xy ]; then
                insmod all_video
                fi
                set gfxpayload=keep
                insmod btrfs
                if [ x$feature_platform_search_hint = xy ]; then
                        search --no-floppy --fs-uuid  --set=root --hint-ieee1275='\''ieee1275//disk@0,msdos1'\'' --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                else
                        search --no-floppy --fs-uuid  --set=root 987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                fi
                echo '\''Loading Snapshot: 2020-02-12' '18:13:59 timeshift-btrfs/snapshots/2020-02-12_18-13-59/@'\''
                echo '\''Loading Kernel: vmlinuz-5.4-x86_64 ...'\''
                linux "/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/vmlinuz-5.4-x86_64" root=UUID=987b5b4a-3a39-4741-a1dc-8c65c6f83ced rw rootflags=subvol="timeshift-btrfs/snapshots/2020-02-12_18-13-59/@"  loglevel=3 ec_sys.write_support=1 ipv6.disable=1 pcie_aspm=off mitigations=off nowatchdog acpi_rev_override=1 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off'
+ echo '                if [ x$feature_all_video_module = xy ]; then
                insmod all_video
                fi
                set gfxpayload=keep
                insmod btrfs
                if [ x$feature_platform_search_hint = xy ]; then
                        search --no-floppy --fs-uuid  --set=root --hint-ieee1275='\''ieee1275//disk@0,msdos1'\'' --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                else
                        search --no-floppy --fs-uuid  --set=root 987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                fi
                echo '\''Loading Snapshot: 2020-02-12' '18:13:59 timeshift-btrfs/snapshots/2020-02-12_18-13-59/@'\''
                echo '\''Loading Kernel: vmlinuz-5.4-x86_64 ...'\''
                linux "/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/vmlinuz-5.4-x86_64" root=UUID=987b5b4a-3a39-4741-a1dc-8c65c6f83ced rw rootflags=subvol="timeshift-btrfs/snapshots/2020-02-12_18-13-59/@"  loglevel=3 ec_sys.write_support=1 ipv6.disable=1 pcie_aspm=off mitigations=off nowatchdog acpi_rev_override=1 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off'
+ [[ -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/intel-ucode.img ]]
+ [[ initramfs-5.4-x86_64.img != \i\n\i\t\r\a\m\f\s\-\5\.\4\-\x\8\6\_\6\4\-\x\8\6\_\6\4\.\i\m\g ]]
+ entry '               echo '\''Loading Microcode & Initramfs: intel-ucode.img initramfs-5.4-x86_64.img ...'\''
                initrd "/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/intel-ucode.img" "/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/initramfs-5.4-x86_64.img"'
+ echo '                echo '\''Loading Microcode & Initramfs: intel-ucode.img initramfs-5.4-x86_64.img ...'\''
                initrd "/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/intel-ucode.img" "/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/initramfs-5.4-x86_64.img"'
+ entry '       }'
+ echo '        }'
+ count_warning_menuentries=6
+ entry '}'
+ echo '}'
+ count_limit_snap=2
+ [[ 2 -ge 50 ]]
+ for item in $(snapshot_list)
+ [[ 50 -le 0 ]]
+ IFS=' 
'
++ echo '2020-02-12 18:06:35 | timeshift-btrfs/snapshots/2020-02-12_18-06-35/@'
++ cut '-d|' -f2-
+ snap_full_name=' timeshift-btrfs/snapshots/2020-02-12_18-06-35/@'
++ echo '2020-02-12 18:06:35 | timeshift-btrfs/snapshots/2020-02-12_18-06-35/@'
++ cut '-d|' -f2
+ snap_dir_name=' timeshift-btrfs/snapshots/2020-02-12_18-06-35/@'
++ trim ' timeshift-btrfs/snapshots/2020-02-12_18-06-35/@'
++ local 'var= timeshift-btrfs/snapshots/2020-02-12_18-06-35/@'
++ var=timeshift-btrfs/snapshots/2020-02-12_18-06-35/@
++ var=timeshift-btrfs/snapshots/2020-02-12_18-06-35/@
++ echo -n timeshift-btrfs/snapshots/2020-02-12_18-06-35/@
+ snap_dir_name=timeshift-btrfs/snapshots/2020-02-12_18-06-35/@
++ echo '2020-02-12 18:06:35 | timeshift-btrfs/snapshots/2020-02-12_18-06-35/@'
++ cut '-d ' -f1-2
+ snap_date_time='2020-02-12 18:06:35'
++ trim '2020-02-12 18:06:35'
++ local 'var=2020-02-12 18:06:35'
++ var='2020-02-12 18:06:35'
++ var='2020-02-12 18:06:35'
++ echo -n '2020-02-12 18:06:35'
+ snap_date_time='2020-02-12 18:06:35'
+ boot_dir=/tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot
+ detect_kernel
+ list_kernel=()
+ for okernel in "${boot_dir}"/vmlinuz-* "${boot_dir}"/vmlinux-* "${boot_dir}"/kernel-*
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/vmlinuz-5.4-x86_64 ]]
+ list_kernel+=("$okernel")
+ for okernel in "${boot_dir}"/vmlinuz-* "${boot_dir}"/vmlinux-* "${boot_dir}"/kernel-*
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/vmlinux-* ]]
+ continue
+ for okernel in "${boot_dir}"/vmlinuz-* "${boot_dir}"/vmlinux-* "${boot_dir}"/kernel-*
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/kernel-* ]]
+ continue
+ '[' '!' -z '' ']'
+ '[' -z /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/vmlinuz-5.4-x86_64 ']'
+ name_kernel=("${list_kernel[@]##*"/"}")
+ detect_initramfs
+ list_initramfs=()
+ for oinitramfs in "${boot_dir}"/initrd.img-* "${boot_dir}"/initrd-*.img "${boot_dir}"/initrd-*.gz "${boot_dir}"/initramfs-*.img "${boot_dir}"/initramfs-*.gz
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/initrd.img-* ]]
+ continue
+ for oinitramfs in "${boot_dir}"/initrd.img-* "${boot_dir}"/initrd-*.img "${boot_dir}"/initrd-*.gz "${boot_dir}"/initramfs-*.img "${boot_dir}"/initramfs-*.gz
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/initrd-*.img ]]
+ continue
+ for oinitramfs in "${boot_dir}"/initrd.img-* "${boot_dir}"/initrd-*.img "${boot_dir}"/initrd-*.gz "${boot_dir}"/initramfs-*.img "${boot_dir}"/initramfs-*.gz
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/initrd-*.gz ]]
+ continue
+ for oinitramfs in "${boot_dir}"/initrd.img-* "${boot_dir}"/initrd-*.img "${boot_dir}"/initrd-*.gz "${boot_dir}"/initramfs-*.img "${boot_dir}"/initramfs-*.gz
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/initramfs-5.4-x86_64-fallback.img ]]
+ list_initramfs+=("$oinitramfs")
+ for oinitramfs in "${boot_dir}"/initrd.img-* "${boot_dir}"/initrd-*.img "${boot_dir}"/initrd-*.gz "${boot_dir}"/initramfs-*.img "${boot_dir}"/initramfs-*.gz
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/initramfs-5.4-x86_64.img ]]
+ list_initramfs+=("$oinitramfs")
+ for oinitramfs in "${boot_dir}"/initrd.img-* "${boot_dir}"/initrd-*.img "${boot_dir}"/initrd-*.gz "${boot_dir}"/initramfs-*.img "${boot_dir}"/initramfs-*.gz
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/initramfs-*.gz ]]
+ continue
+ '[' '!' -z '' ']'
+ '[' -z /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/initramfs-5.4-x86_64-fallback.img ']'
+ name_initramfs=("${list_initramfs[@]##*"/"}")
+ detect_microcode
+ list_ucode=()
+ for oiucode in "${boot_dir}"/intel-ucode.img
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/intel-ucode.img ]]
+ list_ucode+=("$oiucode")
+ '[' '!' -z '' ']'
+ '[' -z /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/intel-ucode.img ']'
+ name_microcode=("${list_ucode[@]##*"/"}")
+ [[ true = \t\r\u\e ]]
+ printf '# Found snapshot: %s\n' '2020-02-12 18:06:35 | timeshift-btrfs/snapshots/2020-02-12_18-06-35/@'
# Found snapshot: 2020-02-12 18:06:35 | timeshift-btrfs/snapshots/2020-02-12_18-06-35/@
+ path_snapshot
+ case "${path_snapshot}" in
+ name_snapshot=("${snap_full_name}")
+ title_format
+ case "${title_format}" in
+ title_menu='Snapshot: 2020-02-12 18:06:35  timeshift-btrfs/snapshots/2020-02-12_18-06-35/@'
++ make_system_path_relative_to_its_root /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot
++ /usr/bin/grub-mkrelpath /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot
+ boot_dir_root_grub=/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot
+ make_menu_entries
+ entry 'submenu '\''Snapshot: 2020-02-12 18:06:35  timeshift-btrfs/snapshots/2020-02-12_18-06-35/@'\'' {
        submenu '\''---> Snapshot: 2020-02-12 18:06:35  timeshift-btrfs/snapshots/2020-02-12_18-06-35/@ <---'\'' { echo }'
+ echo 'submenu '\''Snapshot: 2020-02-12 18:06:35  timeshift-btrfs/snapshots/2020-02-12_18-06-35/@'\'' {
        submenu '\''---> Snapshot: 2020-02-12 18:06:35  timeshift-btrfs/snapshots/2020-02-12_18-06-35/@ <---'\'' { echo }'
+ for k in "${name_kernel[@]}"
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/vmlinuz-5.4-x86_64 ]]
+ kversion=5.4-x86_64
+ for i in "${name_initramfs[@]}"
+ prefix_i=initramfs
+ suffix_i=5.4-x86_64-fallback.img
+ alt_suffix_i=fallback.img
+ '[' 5.4-x86_64 = 5.4-x86_64-fallback.img ']'
+ '[' 5.4-x86_64.img = 5.4-x86_64-fallback.img ']'
+ '[' 5.4-x86_64-fallback.img = 5.4-x86_64-fallback.img ']'
+ i=initramfs-5.4-x86_64-fallback.img
+ for u in "${name_microcode[@]}"
+ [[ -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/intel-ucode.img ]]
+ [[ initramfs-5.4-x86_64-fallback.img != \i\n\i\t\r\a\m\f\s\-\5\.\4\-\x\8\6\_\6\4\-\f\a\l\l\b\a\c\k\.\i\m\g ]]
+ entry '
        menuentry '\''vmlinuz-5.4-x86_64 & initramfs-5.4-x86_64-fallback.img'\'' --class snapshots --class gnu-linux --class gnu --class os $menuentry_id_option '\''gnulinux-snapshots-987b5b4a-3a39-4741-a1dc-8c65c6f83ced'\''{'
+ echo '
        menuentry '\''vmlinuz-5.4-x86_64 & initramfs-5.4-x86_64-fallback.img'\'' --class snapshots --class gnu-linux --class gnu --class os $menuentry_id_option '\''gnulinux-snapshots-987b5b4a-3a39-4741-a1dc-8c65c6f83ced'\''{'
+ entry '               if [ x$feature_all_video_module = xy ]; then
                insmod all_video
                fi
                set gfxpayload=keep
                insmod btrfs
                if [ x$feature_platform_search_hint = xy ]; then
                        search --no-floppy --fs-uuid  --set=root --hint-ieee1275='\''ieee1275//disk@0,msdos1'\'' --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                else
                        search --no-floppy --fs-uuid  --set=root 987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                fi
                echo '\''Loading Snapshot: 2020-02-12' '18:06:35 timeshift-btrfs/snapshots/2020-02-12_18-06-35/@'\''
                echo '\''Loading Kernel: vmlinuz-5.4-x86_64 ...'\''
                linux "/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/vmlinuz-5.4-x86_64" root=UUID=987b5b4a-3a39-4741-a1dc-8c65c6f83ced rw rootflags=subvol="timeshift-btrfs/snapshots/2020-02-12_18-06-35/@"  loglevel=3 ec_sys.write_support=1 ipv6.disable=1 pcie_aspm=off mitigations=off nowatchdog acpi_rev_override=1 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off'
+ echo '                if [ x$feature_all_video_module = xy ]; then
                insmod all_video
                fi
                set gfxpayload=keep
                insmod btrfs
                if [ x$feature_platform_search_hint = xy ]; then
                        search --no-floppy --fs-uuid  --set=root --hint-ieee1275='\''ieee1275//disk@0,msdos1'\'' --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                else
                        search --no-floppy --fs-uuid  --set=root 987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                fi
                echo '\''Loading Snapshot: 2020-02-12' '18:06:35 timeshift-btrfs/snapshots/2020-02-12_18-06-35/@'\''
                echo '\''Loading Kernel: vmlinuz-5.4-x86_64 ...'\''
                linux "/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/vmlinuz-5.4-x86_64" root=UUID=987b5b4a-3a39-4741-a1dc-8c65c6f83ced rw rootflags=subvol="timeshift-btrfs/snapshots/2020-02-12_18-06-35/@"  loglevel=3 ec_sys.write_support=1 ipv6.disable=1 pcie_aspm=off mitigations=off nowatchdog acpi_rev_override=1 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off'
+ [[ -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/intel-ucode.img ]]
+ [[ initramfs-5.4-x86_64-fallback.img != \i\n\i\t\r\a\m\f\s\-\5\.\4\-\x\8\6\_\6\4\-\f\a\l\l\b\a\c\k\.\i\m\g ]]
+ entry '               echo '\''Loading Initramfs: initramfs-5.4-x86_64-fallback.img ...'\''
                initrd "/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/initramfs-5.4-x86_64-fallback.img"'
+ echo '                echo '\''Loading Initramfs: initramfs-5.4-x86_64-fallback.img ...'\''
                initrd "/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/initramfs-5.4-x86_64-fallback.img"'
+ entry '       }'
+ echo '        }'
+ count_warning_menuentries=7
+ for i in "${name_initramfs[@]}"
+ prefix_i=initramfs
+ suffix_i=5.4-x86_64.img
+ alt_suffix_i=x86_64.img
+ '[' 5.4-x86_64 = 5.4-x86_64.img ']'
+ '[' 5.4-x86_64.img = 5.4-x86_64.img ']'
+ i=initramfs-5.4-x86_64.img
+ for u in "${name_microcode[@]}"
+ [[ -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/intel-ucode.img ]]
+ [[ initramfs-5.4-x86_64.img != \i\n\i\t\r\a\m\f\s\-\5\.\4\-\x\8\6\_\6\4\-\x\8\6\_\6\4\.\i\m\g ]]
+ entry '
        menuentry '\''vmlinuz-5.4-x86_64 & initramfs-5.4-x86_64.img & intel-ucode.img'\'' --class snapshots --class gnu-linux --class gnu --class os $menuentry_id_option '\''gnulinux-snapshots-987b5b4a-3a39-4741-a1dc-8c65c6f83ced'\''{'
+ echo '
        menuentry '\''vmlinuz-5.4-x86_64 & initramfs-5.4-x86_64.img & intel-ucode.img'\'' --class snapshots --class gnu-linux --class gnu --class os $menuentry_id_option '\''gnulinux-snapshots-987b5b4a-3a39-4741-a1dc-8c65c6f83ced'\''{'
+ entry '               if [ x$feature_all_video_module = xy ]; then
                insmod all_video
                fi
                set gfxpayload=keep
                insmod btrfs
                if [ x$feature_platform_search_hint = xy ]; then
                        search --no-floppy --fs-uuid  --set=root --hint-ieee1275='\''ieee1275//disk@0,msdos1'\'' --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                else
                        search --no-floppy --fs-uuid  --set=root 987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                fi
                echo '\''Loading Snapshot: 2020-02-12' '18:06:35 timeshift-btrfs/snapshots/2020-02-12_18-06-35/@'\''
                echo '\''Loading Kernel: vmlinuz-5.4-x86_64 ...'\''
                linux "/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/vmlinuz-5.4-x86_64" root=UUID=987b5b4a-3a39-4741-a1dc-8c65c6f83ced rw rootflags=subvol="timeshift-btrfs/snapshots/2020-02-12_18-06-35/@"  loglevel=3 ec_sys.write_support=1 ipv6.disable=1 pcie_aspm=off mitigations=off nowatchdog acpi_rev_override=1 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off'
+ echo '                if [ x$feature_all_video_module = xy ]; then
                insmod all_video
                fi
                set gfxpayload=keep
                insmod btrfs
                if [ x$feature_platform_search_hint = xy ]; then
                        search --no-floppy --fs-uuid  --set=root --hint-ieee1275='\''ieee1275//disk@0,msdos1'\'' --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                else
                        search --no-floppy --fs-uuid  --set=root 987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                fi
                echo '\''Loading Snapshot: 2020-02-12' '18:06:35 timeshift-btrfs/snapshots/2020-02-12_18-06-35/@'\''
                echo '\''Loading Kernel: vmlinuz-5.4-x86_64 ...'\''
                linux "/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/vmlinuz-5.4-x86_64" root=UUID=987b5b4a-3a39-4741-a1dc-8c65c6f83ced rw rootflags=subvol="timeshift-btrfs/snapshots/2020-02-12_18-06-35/@"  loglevel=3 ec_sys.write_support=1 ipv6.disable=1 pcie_aspm=off mitigations=off nowatchdog acpi_rev_override=1 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off'
+ [[ -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/intel-ucode.img ]]
+ [[ initramfs-5.4-x86_64.img != \i\n\i\t\r\a\m\f\s\-\5\.\4\-\x\8\6\_\6\4\-\x\8\6\_\6\4\.\i\m\g ]]
+ entry '               echo '\''Loading Microcode & Initramfs: intel-ucode.img initramfs-5.4-x86_64.img ...'\''
                initrd "/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/intel-ucode.img" "/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/initramfs-5.4-x86_64.img"'
+ echo '                echo '\''Loading Microcode & Initramfs: intel-ucode.img initramfs-5.4-x86_64.img ...'\''
                initrd "/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/intel-ucode.img" "/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/initramfs-5.4-x86_64.img"'
+ entry '       }'
+ echo '        }'
+ count_warning_menuentries=8
+ entry '}'
+ echo '}'
+ count_limit_snap=3
+ [[ 3 -ge 50 ]]
+ IFS=' 
'
+ umount /tmp/tmp.mHiqVnFUVo
+ [[ 8 -ge 250 ]]
+ [[ true = \t\r\u\e ]]
+ [[ ! -z 3 ]]
+ [[ 3 != \0 ]]
+ printf '# Found 3 snapshot(s)\n'
# Found 3 snapshot(s)
+ [[ 3 = \0 ]]
+ [[ -z 3 ]]
++ make_system_path_relative_to_its_root /boot/grub
++ /usr/bin/grub-mkrelpath /boot/grub
+ root_grub=/@/boot/grub
+ cat
+ printf '###### - Grub-btrfs: Snapshot detection ended   - ######\n'
###### - Grub-btrfs: Snapshot detection ended   - ######

manjarowish-text logo-sgs

manjarowish-text logo-sgs-1

manjarowish-text logo-sgs-2

manjarowish-text logo-sgs-3

1 Like

i am confused
what is the problem?
does it work or not.

1 Like

No TS backups in grub. OS work fine :slight_smile:


timeshift btrfs snapshots is empty, but TS

which grub are you using
grub from manjarowish or from previous
install

sda2 i3wm vanilla grub with custom.cfg to sdb1
sdb1 manjarowish own grub on sdb

okay perhaps this is problem with grub>grub.
i dont know solution
its working fine here.

1 Like

Two ssd
Two grub, they do not know the other one :wink:

# @gohlip 30_os-prober away
GRUB_DISABLE_OS_PROBER=true

Never a problem :slight_smile:


Maybe next ISO work better for me, the update per chroot take over 650 apps/files.


Is that the correct path?
Do you have the same path and name (timeshift-btrfs)?

/ >>> sudo btrfs subvolume list -p /                                                                                                                    
ID 256 gen 1840 parent 5 top level 5 path @
ID 257 gen 1839 parent 5 top level 5 path @home
ID 270 gen 124 parent 5 top level 5 path timeshift-btrfs/snapshots/2020-02-12_18-06-35/@
ID 273 gen 124 parent 5 top level 5 path timeshift-btrfs/snapshots/2020-02-12_18-13-59/@
ID 282 gen 746 parent 5 top level 5 path timeshift-btrfs/snapshots/2020-02-12_21-01-53/@

AFK :slight_smile:

1 Like

Automatically update grub

in https://github.com/Antynea/grub-btrfs
If you would like Grub to automatically update when a snapshot is made or deleted:

  • Mount your subvolume which contains snapshots to /.snapshots
  • Use systemctl start/enable grub-btrfs.path
  • grub-btrfs.path automatically (re)generates grub.cfg when a modification appears in /.snapshots

OMG; I was so tired last night that I forget the "sudo" :smiley: :rofl:

~ >>> cd /etc/grub.d                                                                                                                                                                      
/etc/grub.d >>> sudo bash -x 41_snapshots-btrfs > /dev/null                                                                                                                               
[sudo] Passwort für sgs: 
+ set -e
+ prefix=/usr
+ exec_prefix=/usr
+ datarootdir=/usr/share
+ sysconfdir=/etc
+ grub_btrfs_config=/etc/default/grub-btrfs/config
+ [[ -f /etc/default/grub-btrfs/config ]]
+ . /etc/default/grub-btrfs/config
++ GRUB_BTRFS_SUBMENUNAME='Timeshift btrfs Snapshots'
++ GRUB_BTRFS_PREFIXENTRY=Snapshot:
++ GRUB_BTRFS_LIMIT=50
++ GRUB_BTRFS_SUBVOLUME_SORT=descending
++ GRUB_BTRFS_SHOW_SNAPSHOTS_FOUND=true
++ GRUB_BTRFS_SHOW_TOTAL_SNAPSHOTS_FOUND=true
+ . /usr/share/grub/grub-mkconfig_lib
++ prefix=/usr
++ exec_prefix=/usr
++ datarootdir=/usr/share
++ datadir=/usr/share
++ bindir=/usr/bin
++ sbindir=/usr/bin
++ '[' x = x ']'
++ pkgdatadir=/usr/share/grub
++ test x = x
++ grub_probe=/usr/bin/grub-probe
++ test x = x
++ grub_file=/usr/bin/grub-file
++ test x = x
++ grub_mkrelpath=/usr/bin/grub-mkrelpath
++ which gettext
++ :
++ grub_tab='   '
+ . /etc/default/grub
++ GRUB_DEFAULT=saved
++ GRUB_TIMEOUT=10
++ GRUB_DISTRIBUTOR=ManjaroWish
++ GRUB_CMDLINE_LINUX_DEFAULT='loglevel=3 ec_sys.write_support=1 ipv6.disable=1 pcie_aspm=off mitigations=off nowatchdog acpi_rev_override=1 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off'
++ GRUB_CMDLINE_LINUX=
++ GRUB_PRELOAD_MODULES='part_gpt part_msdos'
++ GRUB_TIMEOUT_STYLE=menu
++ GRUB_TERMINAL_INPUT=console
++ GRUB_GFXMODE=auto
++ GRUB_GFXPAYLOAD_LINUX=keep
++ GRUB_DISABLE_RECOVERY=true
++ GRUB_COLOR_NORMAL=light-gray/black
++ GRUB_COLOR_HIGHLIGHT=green/black
++ GRUB_THEME=/usr/share/grub/themes/manjaro/theme.txt
++ GRUB_DISABLE_OS_PROBER=true
+ grub_btrfs_disable=false
+ [[ false == \t\r\u\e ]]
+ submenuname='Timeshift btrfs Snapshots'
+ prefixentry=Snapshot:
+ path_snapshot=true
+ title_format=p/d/n
+ nkernel=("${GRUB_BTRFS_NKERNEL[@]}")
+ ninit=("${GRUB_BTRFS_NINIT[@]}")
+ microcode=("${GRUB_BTRFS_INTEL_UCODE[@]}")
+ limit_snap_show=50
+ snap_list_sort=descending
+ case "${snap_list_sort}" in
+ btrfssubvolsort=("--sort=-rootid")
+ show_snap_found=true
+ show_total_snap_found=true
+ ignore_specific_path=("${GRUB_BTRFS_IGNORE_SPECIFIC_PATH[@]}")
+ snapper_config=root
+ override_boot_partition_detection=false
+ grub_directory=grub
+ export TEXTDOMAIN=grub-btrfs-git
+ TEXTDOMAIN=grub-btrfs-git
+ export TEXTDOMAINDIR=/usr/share/locale
+ TEXTDOMAINDIR=/usr/share/locale
++ /usr/bin/grub-probe --target=device /boot
+ boot_device=/dev/sdb1
++ /usr/bin/grub-probe --device /dev/sdb1 --target=hints_string
+ boot_hs='--hint-ieee1275='\''ieee1275//disk@0,msdos1'\'' --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1 '
++ /usr/bin/grub-probe --device /dev/sdb1 --target=fs_uuid
+ boot_uuid=987b5b4a-3a39-4741-a1dc-8c65c6f83ced
++ /usr/bin/grub-probe --target=fs /boot
+ boot_fs=btrfs
++ /usr/bin/grub-probe --target=device /
+ root_device=/dev/sdb1
++ /usr/bin/grub-probe --device /dev/sdb1 --target=fs_uuid
+ root_uuid=987b5b4a-3a39-4741-a1dc-8c65c6f83ced
+ kernel_parameters=' loglevel=3 ec_sys.write_support=1 ipv6.disable=1 pcie_aspm=off mitigations=off nowatchdog acpi_rev_override=1 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off'
++ mktemp -d
+ gbgmp=/tmp/tmp.mHiqVnFUVo
+ CLASS='--class snapshots --class gnu-linux --class gnu --class os'
+ oldIFS=' 
'
+ printf '###### - Grub-btrfs: Snapshot detection started - ######\n'
###### - Grub-btrfs: Snapshot detection started - ######
+ test_btrfs
+ set +e
+ type btrfs
+ [[ 0 -ne 0 ]]
+ set -e
+ [[ ! -d /tmp/tmp.mHiqVnFUVo ]]
+ mount -o subvolid=5 /dev/disk/by-uuid/987b5b4a-3a39-4741-a1dc-8c65c6f83ced /tmp/tmp.mHiqVnFUVo/
+ count_warning_menuentries=0
+ count_limit_snap=0
+ check_uuid_required
+ '[' x987b5b4a-3a39-4741-a1dc-8c65c6f83ced = x ']'
+ '[' x = xtrue ']'
+ test -e /dev/disk/by-uuid/987b5b4a-3a39-4741-a1dc-8c65c6f83ced
+ test -e /dev/sdb1
+ uses_abstraction /dev/sdb1 lvm
+ device=/dev/sdb1
+ old_ifs=' 
'
+ IFS='
'
++ /usr/bin/grub-probe --device /dev/sdb1 --target=abstraction
+ abstraction=
+ IFS=' 
'
+ return 1
+ LINUX_ROOT_DEVICE=UUID=987b5b4a-3a39-4741-a1dc-8c65c6f83ced
+ [[ false == \t\r\u\e ]]
+ [[ 987b5b4a-3a39-4741-a1dc-8c65c6f83ced != \9\8\7\b\5\b\4\a\-\3\a\3\9\-\4\7\4\1\-\a\1\d\c\-\8\c\6\5\c\6\f\8\3\c\e\d ]]
+ printf '# Info: Separate boot partition not detected \n'
# Info: Separate boot partition not detected 
+ boot_bounded
+ IFS='
'
++ snapshot_list
++ type snapper
++ '[' 1 -eq 0 ']'
++ IFS='
'
++ entries=()
++ local entries
++ ids=()
++ local ids
++ local max_entry_length=0
+++ btrfs subvolume list -sa --sort=-rootid /
++ for snap in $(btrfs subvolume list -sa "${btrfssubvolsort}" /)
++ IFS=' 
'
++ snap=($snap)
++ local 'snap_path_name=<FS_TREE>/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@'
++ '[' '<FS_TREE>/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@' = DELETED ']'
++ [[ <FS_TREE> == \<\F\S\_\T\R\E\E\> ]]
++ snap_path_name=timeshift-btrfs/snapshots/2020-02-12_21-01-53/@
++ '[' '!' -z '' ']'
++ [[ ! -d /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot ]]
++ local id=20200212210153
++ ids+=("$id")
++ local 'entry=2020-02-12 21:01:53 | timeshift-btrfs/snapshots/2020-02-12_21-01-53/@'
++ entries+=("$entry")
++ local length=69
++ [[ 69 -gt 0 ]]
++ max_entry_length=69
++ for snap in $(btrfs subvolume list -sa "${btrfssubvolsort}" /)
++ IFS=' 
'
++ snap=($snap)
++ local 'snap_path_name=<FS_TREE>/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@'
++ '[' '<FS_TREE>/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@' = DELETED ']'
++ [[ <FS_TREE> == \<\F\S\_\T\R\E\E\> ]]
++ snap_path_name=timeshift-btrfs/snapshots/2020-02-12_18-13-59/@
++ '[' '!' -z '' ']'
++ [[ ! -d /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot ]]
++ local id=20200212181359
++ ids+=("$id")
++ local 'entry=2020-02-12 18:13:59 | timeshift-btrfs/snapshots/2020-02-12_18-13-59/@'
++ entries+=("$entry")
++ local length=69
++ [[ 69 -gt 69 ]]
++ for snap in $(btrfs subvolume list -sa "${btrfssubvolsort}" /)
++ IFS=' 
'
++ snap=($snap)
++ local 'snap_path_name=<FS_TREE>/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@'
++ '[' '<FS_TREE>/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@' = DELETED ']'
++ [[ <FS_TREE> == \<\F\S\_\T\R\E\E\> ]]
++ snap_path_name=timeshift-btrfs/snapshots/2020-02-12_18-06-35/@
++ '[' '!' -z '' ']'
++ [[ ! -d /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot ]]
++ local id=20200212180635
++ ids+=("$id")
++ local 'entry=2020-02-12 18:06:35 | timeshift-btrfs/snapshots/2020-02-12_18-06-35/@'
++ entries+=("$entry")
++ local length=69
++ [[ 69 -gt 69 ]]
++ local max_type_length=0
++ for id in "${ids[@]}"
++ for id in "${ids[@]}"
++ for id in "${ids[@]}"
++ for i in "${!entries[@]}"
++ local id=20200212210153
++ local 'entry=2020-02-12 21:01:53 | timeshift-btrfs/snapshots/2020-02-12_21-01-53/@'
++ echo '2020-02-12 21:01:53 | timeshift-btrfs/snapshots/2020-02-12_21-01-53/@'
++ for i in "${!entries[@]}"
++ local id=20200212181359
++ local 'entry=2020-02-12 18:13:59 | timeshift-btrfs/snapshots/2020-02-12_18-13-59/@'
++ echo '2020-02-12 18:13:59 | timeshift-btrfs/snapshots/2020-02-12_18-13-59/@'
++ for i in "${!entries[@]}"
++ local id=20200212180635
++ local 'entry=2020-02-12 18:06:35 | timeshift-btrfs/snapshots/2020-02-12_18-06-35/@'
++ echo '2020-02-12 18:06:35 | timeshift-btrfs/snapshots/2020-02-12_18-06-35/@'
++ IFS=' 
'
+ for item in $(snapshot_list)
+ [[ 50 -le 0 ]]
+ IFS=' 
'
++ echo '2020-02-12 21:01:53 | timeshift-btrfs/snapshots/2020-02-12_21-01-53/@'
++ cut '-d|' -f2-
+ snap_full_name=' timeshift-btrfs/snapshots/2020-02-12_21-01-53/@'
++ echo '2020-02-12 21:01:53 | timeshift-btrfs/snapshots/2020-02-12_21-01-53/@'
++ cut '-d|' -f2
+ snap_dir_name=' timeshift-btrfs/snapshots/2020-02-12_21-01-53/@'
++ trim ' timeshift-btrfs/snapshots/2020-02-12_21-01-53/@'
++ local 'var= timeshift-btrfs/snapshots/2020-02-12_21-01-53/@'
++ var=timeshift-btrfs/snapshots/2020-02-12_21-01-53/@
++ var=timeshift-btrfs/snapshots/2020-02-12_21-01-53/@
++ echo -n timeshift-btrfs/snapshots/2020-02-12_21-01-53/@
+ snap_dir_name=timeshift-btrfs/snapshots/2020-02-12_21-01-53/@
++ echo '2020-02-12 21:01:53 | timeshift-btrfs/snapshots/2020-02-12_21-01-53/@'
++ cut '-d ' -f1-2
+ snap_date_time='2020-02-12 21:01:53'
++ trim '2020-02-12 21:01:53'
++ local 'var=2020-02-12 21:01:53'
++ var='2020-02-12 21:01:53'
++ var='2020-02-12 21:01:53'
++ echo -n '2020-02-12 21:01:53'
+ snap_date_time='2020-02-12 21:01:53'
+ boot_dir=/tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot
+ detect_kernel
+ list_kernel=()
+ for okernel in "${boot_dir}"/vmlinuz-* "${boot_dir}"/vmlinux-* "${boot_dir}"/kernel-*
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/vmlinuz-5.4-x86_64 ]]
+ list_kernel+=("$okernel")
+ for okernel in "${boot_dir}"/vmlinuz-* "${boot_dir}"/vmlinux-* "${boot_dir}"/kernel-*
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/vmlinuz-5.5-x86_64 ]]
+ list_kernel+=("$okernel")
+ for okernel in "${boot_dir}"/vmlinuz-* "${boot_dir}"/vmlinux-* "${boot_dir}"/kernel-*
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/vmlinux-* ]]
+ continue
+ for okernel in "${boot_dir}"/vmlinuz-* "${boot_dir}"/vmlinux-* "${boot_dir}"/kernel-*
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/kernel-* ]]
+ continue
+ '[' '!' -z '' ']'
+ '[' -z /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/vmlinuz-5.4-x86_64 ']'
+ name_kernel=("${list_kernel[@]##*"/"}")
+ detect_initramfs
+ list_initramfs=()
+ for oinitramfs in "${boot_dir}"/initrd.img-* "${boot_dir}"/initrd-*.img "${boot_dir}"/initrd-*.gz "${boot_dir}"/initramfs-*.img "${boot_dir}"/initramfs-*.gz
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/initrd.img-* ]]
+ continue
+ for oinitramfs in "${boot_dir}"/initrd.img-* "${boot_dir}"/initrd-*.img "${boot_dir}"/initrd-*.gz "${boot_dir}"/initramfs-*.img "${boot_dir}"/initramfs-*.gz
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/initrd-*.img ]]
+ continue
+ for oinitramfs in "${boot_dir}"/initrd.img-* "${boot_dir}"/initrd-*.img "${boot_dir}"/initrd-*.gz "${boot_dir}"/initramfs-*.img "${boot_dir}"/initramfs-*.gz
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/initrd-*.gz ]]
+ continue
+ for oinitramfs in "${boot_dir}"/initrd.img-* "${boot_dir}"/initrd-*.img "${boot_dir}"/initrd-*.gz "${boot_dir}"/initramfs-*.img "${boot_dir}"/initramfs-*.gz
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/initramfs-5.4-x86_64-fallback.img ]]
+ list_initramfs+=("$oinitramfs")
+ for oinitramfs in "${boot_dir}"/initrd.img-* "${boot_dir}"/initrd-*.img "${boot_dir}"/initrd-*.gz "${boot_dir}"/initramfs-*.img "${boot_dir}"/initramfs-*.gz
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/initramfs-5.4-x86_64.img ]]
+ list_initramfs+=("$oinitramfs")
+ for oinitramfs in "${boot_dir}"/initrd.img-* "${boot_dir}"/initrd-*.img "${boot_dir}"/initrd-*.gz "${boot_dir}"/initramfs-*.img "${boot_dir}"/initramfs-*.gz
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/initramfs-5.5-x86_64-fallback.img ]]
+ list_initramfs+=("$oinitramfs")
+ for oinitramfs in "${boot_dir}"/initrd.img-* "${boot_dir}"/initrd-*.img "${boot_dir}"/initrd-*.gz "${boot_dir}"/initramfs-*.img "${boot_dir}"/initramfs-*.gz
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/initramfs-5.5-x86_64.img ]]
+ list_initramfs+=("$oinitramfs")
+ for oinitramfs in "${boot_dir}"/initrd.img-* "${boot_dir}"/initrd-*.img "${boot_dir}"/initrd-*.gz "${boot_dir}"/initramfs-*.img "${boot_dir}"/initramfs-*.gz
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/initramfs-*.gz ]]
+ continue
+ '[' '!' -z '' ']'
+ '[' -z /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/initramfs-5.4-x86_64-fallback.img ']'
+ name_initramfs=("${list_initramfs[@]##*"/"}")
+ detect_microcode
+ list_ucode=()
+ for oiucode in "${boot_dir}"/intel-ucode.img
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/intel-ucode.img ]]
+ list_ucode+=("$oiucode")
+ '[' '!' -z '' ']'
+ '[' -z /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/intel-ucode.img ']'
+ name_microcode=("${list_ucode[@]##*"/"}")
+ [[ true = \t\r\u\e ]]
+ printf '# Found snapshot: %s\n' '2020-02-12 21:01:53 | timeshift-btrfs/snapshots/2020-02-12_21-01-53/@'
# Found snapshot: 2020-02-12 21:01:53 | timeshift-btrfs/snapshots/2020-02-12_21-01-53/@
+ path_snapshot
+ case "${path_snapshot}" in
+ name_snapshot=("${snap_full_name}")
+ title_format
+ case "${title_format}" in
+ title_menu='Snapshot: 2020-02-12 21:01:53  timeshift-btrfs/snapshots/2020-02-12_21-01-53/@'
++ make_system_path_relative_to_its_root /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot
++ /usr/bin/grub-mkrelpath /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot
+ boot_dir_root_grub=/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot
+ make_menu_entries
+ entry 'submenu '\''Snapshot: 2020-02-12 21:01:53  timeshift-btrfs/snapshots/2020-02-12_21-01-53/@'\'' {
        submenu '\''---> Snapshot: 2020-02-12 21:01:53  timeshift-btrfs/snapshots/2020-02-12_21-01-53/@ <---'\'' { echo }'
+ echo 'submenu '\''Snapshot: 2020-02-12 21:01:53  timeshift-btrfs/snapshots/2020-02-12_21-01-53/@'\'' {
        submenu '\''---> Snapshot: 2020-02-12 21:01:53  timeshift-btrfs/snapshots/2020-02-12_21-01-53/@ <---'\'' { echo }'
+ for k in "${name_kernel[@]}"
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/vmlinuz-5.4-x86_64 ]]
+ kversion=5.4-x86_64
+ for i in "${name_initramfs[@]}"
+ prefix_i=initramfs
+ suffix_i=5.4-x86_64-fallback.img
+ alt_suffix_i=fallback.img
+ '[' 5.4-x86_64 = 5.4-x86_64-fallback.img ']'
+ '[' 5.4-x86_64.img = 5.4-x86_64-fallback.img ']'
+ '[' 5.4-x86_64-fallback.img = 5.4-x86_64-fallback.img ']'
+ i=initramfs-5.4-x86_64-fallback.img
+ for u in "${name_microcode[@]}"
+ [[ -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/intel-ucode.img ]]
+ [[ initramfs-5.4-x86_64-fallback.img != \i\n\i\t\r\a\m\f\s\-\5\.\4\-\x\8\6\_\6\4\-\f\a\l\l\b\a\c\k\.\i\m\g ]]
+ entry '
        menuentry '\''vmlinuz-5.4-x86_64 & initramfs-5.4-x86_64-fallback.img'\'' --class snapshots --class gnu-linux --class gnu --class os $menuentry_id_option '\''gnulinux-snapshots-987b5b4a-3a39-4741-a1dc-8c65c6f83ced'\''{'
+ echo '
        menuentry '\''vmlinuz-5.4-x86_64 & initramfs-5.4-x86_64-fallback.img'\'' --class snapshots --class gnu-linux --class gnu --class os $menuentry_id_option '\''gnulinux-snapshots-987b5b4a-3a39-4741-a1dc-8c65c6f83ced'\''{'
+ entry '               if [ x$feature_all_video_module = xy ]; then
                insmod all_video
                fi
                set gfxpayload=keep
                insmod btrfs
                if [ x$feature_platform_search_hint = xy ]; then
                        search --no-floppy --fs-uuid  --set=root --hint-ieee1275='\''ieee1275//disk@0,msdos1'\'' --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                else
                        search --no-floppy --fs-uuid  --set=root 987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                fi
                echo '\''Loading Snapshot: 2020-02-12' '21:01:53 timeshift-btrfs/snapshots/2020-02-12_21-01-53/@'\''
                echo '\''Loading Kernel: vmlinuz-5.4-x86_64 ...'\''
                linux "/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/vmlinuz-5.4-x86_64" root=UUID=987b5b4a-3a39-4741-a1dc-8c65c6f83ced rw rootflags=subvol="timeshift-btrfs/snapshots/2020-02-12_21-01-53/@"  loglevel=3 ec_sys.write_support=1 ipv6.disable=1 pcie_aspm=off mitigations=off nowatchdog acpi_rev_override=1 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off'
+ echo '                if [ x$feature_all_video_module = xy ]; then
                insmod all_video
                fi
                set gfxpayload=keep
                insmod btrfs
                if [ x$feature_platform_search_hint = xy ]; then
                        search --no-floppy --fs-uuid  --set=root --hint-ieee1275='\''ieee1275//disk@0,msdos1'\'' --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                else
                        search --no-floppy --fs-uuid  --set=root 987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                fi
                echo '\''Loading Snapshot: 2020-02-12' '21:01:53 timeshift-btrfs/snapshots/2020-02-12_21-01-53/@'\''
                echo '\''Loading Kernel: vmlinuz-5.4-x86_64 ...'\''
                linux "/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/vmlinuz-5.4-x86_64" root=UUID=987b5b4a-3a39-4741-a1dc-8c65c6f83ced rw rootflags=subvol="timeshift-btrfs/snapshots/2020-02-12_21-01-53/@"  loglevel=3 ec_sys.write_support=1 ipv6.disable=1 pcie_aspm=off mitigations=off nowatchdog acpi_rev_override=1 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off'
+ [[ -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/intel-ucode.img ]]
+ [[ initramfs-5.4-x86_64-fallback.img != \i\n\i\t\r\a\m\f\s\-\5\.\4\-\x\8\6\_\6\4\-\f\a\l\l\b\a\c\k\.\i\m\g ]]
+ entry '               echo '\''Loading Initramfs: initramfs-5.4-x86_64-fallback.img ...'\''
                initrd "/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/initramfs-5.4-x86_64-fallback.img"'
+ echo '                echo '\''Loading Initramfs: initramfs-5.4-x86_64-fallback.img ...'\''
                initrd "/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/initramfs-5.4-x86_64-fallback.img"'
+ entry '       }'
+ echo '        }'
+ count_warning_menuentries=1
+ for i in "${name_initramfs[@]}"
+ prefix_i=initramfs
+ suffix_i=5.4-x86_64.img
+ alt_suffix_i=x86_64.img
+ '[' 5.4-x86_64 = 5.4-x86_64.img ']'
+ '[' 5.4-x86_64.img = 5.4-x86_64.img ']'
+ i=initramfs-5.4-x86_64.img
+ for u in "${name_microcode[@]}"
+ [[ -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/intel-ucode.img ]]
+ [[ initramfs-5.4-x86_64.img != \i\n\i\t\r\a\m\f\s\-\5\.\4\-\x\8\6\_\6\4\-\x\8\6\_\6\4\.\i\m\g ]]
+ entry '
        menuentry '\''vmlinuz-5.4-x86_64 & initramfs-5.4-x86_64.img & intel-ucode.img'\'' --class snapshots --class gnu-linux --class gnu --class os $menuentry_id_option '\''gnulinux-snapshots-987b5b4a-3a39-4741-a1dc-8c65c6f83ced'\''{'
+ echo '
        menuentry '\''vmlinuz-5.4-x86_64 & initramfs-5.4-x86_64.img & intel-ucode.img'\'' --class snapshots --class gnu-linux --class gnu --class os $menuentry_id_option '\''gnulinux-snapshots-987b5b4a-3a39-4741-a1dc-8c65c6f83ced'\''{'
+ entry '               if [ x$feature_all_video_module = xy ]; then
                insmod all_video
                fi
                set gfxpayload=keep
                insmod btrfs
                if [ x$feature_platform_search_hint = xy ]; then
                        search --no-floppy --fs-uuid  --set=root --hint-ieee1275='\''ieee1275//disk@0,msdos1'\'' --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                else
                        search --no-floppy --fs-uuid  --set=root 987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                fi
                echo '\''Loading Snapshot: 2020-02-12' '21:01:53 timeshift-btrfs/snapshots/2020-02-12_21-01-53/@'\''
                echo '\''Loading Kernel: vmlinuz-5.4-x86_64 ...'\''
                linux "/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/vmlinuz-5.4-x86_64" root=UUID=987b5b4a-3a39-4741-a1dc-8c65c6f83ced rw rootflags=subvol="timeshift-btrfs/snapshots/2020-02-12_21-01-53/@"  loglevel=3 ec_sys.write_support=1 ipv6.disable=1 pcie_aspm=off mitigations=off nowatchdog acpi_rev_override=1 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off'
+ echo '                if [ x$feature_all_video_module = xy ]; then
                insmod all_video
                fi
                set gfxpayload=keep
                insmod btrfs
                if [ x$feature_platform_search_hint = xy ]; then
                        search --no-floppy --fs-uuid  --set=root --hint-ieee1275='\''ieee1275//disk@0,msdos1'\'' --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                else
                        search --no-floppy --fs-uuid  --set=root 987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                fi
                echo '\''Loading Snapshot: 2020-02-12' '21:01:53 timeshift-btrfs/snapshots/2020-02-12_21-01-53/@'\''
                echo '\''Loading Kernel: vmlinuz-5.4-x86_64 ...'\''
                linux "/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/vmlinuz-5.4-x86_64" root=UUID=987b5b4a-3a39-4741-a1dc-8c65c6f83ced rw rootflags=subvol="timeshift-btrfs/snapshots/2020-02-12_21-01-53/@"  loglevel=3 ec_sys.write_support=1 ipv6.disable=1 pcie_aspm=off mitigations=off nowatchdog acpi_rev_override=1 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off'
+ [[ -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/intel-ucode.img ]]
+ [[ initramfs-5.4-x86_64.img != \i\n\i\t\r\a\m\f\s\-\5\.\4\-\x\8\6\_\6\4\-\x\8\6\_\6\4\.\i\m\g ]]
+ entry '               echo '\''Loading Microcode & Initramfs: intel-ucode.img initramfs-5.4-x86_64.img ...'\''
                initrd "/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/intel-ucode.img" "/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/initramfs-5.4-x86_64.img"'
+ echo '                echo '\''Loading Microcode & Initramfs: intel-ucode.img initramfs-5.4-x86_64.img ...'\''
                initrd "/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/intel-ucode.img" "/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/initramfs-5.4-x86_64.img"'
+ entry '       }'
+ echo '        }'
+ count_warning_menuentries=2
+ for i in "${name_initramfs[@]}"
+ prefix_i=initramfs
+ suffix_i=5.5-x86_64-fallback.img
+ alt_suffix_i=fallback.img
+ '[' 5.4-x86_64 = 5.5-x86_64-fallback.img ']'
+ '[' 5.4-x86_64.img = 5.5-x86_64-fallback.img ']'
+ '[' 5.4-x86_64-fallback.img = 5.5-x86_64-fallback.img ']'
+ '[' 5.4-x86_64.gz = 5.5-x86_64-fallback.img ']'
+ continue
+ for i in "${name_initramfs[@]}"
+ prefix_i=initramfs
+ suffix_i=5.5-x86_64.img
+ alt_suffix_i=x86_64.img
+ '[' 5.4-x86_64 = 5.5-x86_64.img ']'
+ '[' 5.4-x86_64.img = 5.5-x86_64.img ']'
+ '[' 5.4-x86_64-fallback.img = 5.5-x86_64.img ']'
+ '[' 5.4-x86_64.gz = 5.5-x86_64.img ']'
+ continue
+ for k in "${name_kernel[@]}"
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/vmlinuz-5.5-x86_64 ]]
+ kversion=5.5-x86_64
+ for i in "${name_initramfs[@]}"
+ prefix_i=initramfs
+ suffix_i=5.4-x86_64-fallback.img
+ alt_suffix_i=fallback.img
+ '[' 5.5-x86_64 = 5.4-x86_64-fallback.img ']'
+ '[' 5.5-x86_64.img = 5.4-x86_64-fallback.img ']'
+ '[' 5.5-x86_64-fallback.img = 5.4-x86_64-fallback.img ']'
+ '[' 5.5-x86_64.gz = 5.4-x86_64-fallback.img ']'
+ continue
+ for i in "${name_initramfs[@]}"
+ prefix_i=initramfs
+ suffix_i=5.4-x86_64.img
+ alt_suffix_i=x86_64.img
+ '[' 5.5-x86_64 = 5.4-x86_64.img ']'
+ '[' 5.5-x86_64.img = 5.4-x86_64.img ']'
+ '[' 5.5-x86_64-fallback.img = 5.4-x86_64.img ']'
+ '[' 5.5-x86_64.gz = 5.4-x86_64.img ']'
+ continue
+ for i in "${name_initramfs[@]}"
+ prefix_i=initramfs
+ suffix_i=5.5-x86_64-fallback.img
+ alt_suffix_i=fallback.img
+ '[' 5.5-x86_64 = 5.5-x86_64-fallback.img ']'
+ '[' 5.5-x86_64.img = 5.5-x86_64-fallback.img ']'
+ '[' 5.5-x86_64-fallback.img = 5.5-x86_64-fallback.img ']'
+ i=initramfs-5.5-x86_64-fallback.img
+ for u in "${name_microcode[@]}"
+ [[ -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/intel-ucode.img ]]
+ [[ initramfs-5.5-x86_64-fallback.img != \i\n\i\t\r\a\m\f\s\-\5\.\5\-\x\8\6\_\6\4\-\f\a\l\l\b\a\c\k\.\i\m\g ]]
+ entry '
        menuentry '\''vmlinuz-5.5-x86_64 & initramfs-5.5-x86_64-fallback.img'\'' --class snapshots --class gnu-linux --class gnu --class os $menuentry_id_option '\''gnulinux-snapshots-987b5b4a-3a39-4741-a1dc-8c65c6f83ced'\''{'
+ echo '
        menuentry '\''vmlinuz-5.5-x86_64 & initramfs-5.5-x86_64-fallback.img'\'' --class snapshots --class gnu-linux --class gnu --class os $menuentry_id_option '\''gnulinux-snapshots-987b5b4a-3a39-4741-a1dc-8c65c6f83ced'\''{'
+ entry '               if [ x$feature_all_video_module = xy ]; then
                insmod all_video
                fi
                set gfxpayload=keep
                insmod btrfs
                if [ x$feature_platform_search_hint = xy ]; then
                        search --no-floppy --fs-uuid  --set=root --hint-ieee1275='\''ieee1275//disk@0,msdos1'\'' --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                else
                        search --no-floppy --fs-uuid  --set=root 987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                fi
                echo '\''Loading Snapshot: 2020-02-12' '21:01:53 timeshift-btrfs/snapshots/2020-02-12_21-01-53/@'\''
                echo '\''Loading Kernel: vmlinuz-5.5-x86_64 ...'\''
                linux "/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/vmlinuz-5.5-x86_64" root=UUID=987b5b4a-3a39-4741-a1dc-8c65c6f83ced rw rootflags=subvol="timeshift-btrfs/snapshots/2020-02-12_21-01-53/@"  loglevel=3 ec_sys.write_support=1 ipv6.disable=1 pcie_aspm=off mitigations=off nowatchdog acpi_rev_override=1 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off'
+ echo '                if [ x$feature_all_video_module = xy ]; then
                insmod all_video
                fi
                set gfxpayload=keep
                insmod btrfs
                if [ x$feature_platform_search_hint = xy ]; then
                        search --no-floppy --fs-uuid  --set=root --hint-ieee1275='\''ieee1275//disk@0,msdos1'\'' --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                else
                        search --no-floppy --fs-uuid  --set=root 987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                fi
                echo '\''Loading Snapshot: 2020-02-12' '21:01:53 timeshift-btrfs/snapshots/2020-02-12_21-01-53/@'\''
                echo '\''Loading Kernel: vmlinuz-5.5-x86_64 ...'\''
                linux "/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/vmlinuz-5.5-x86_64" root=UUID=987b5b4a-3a39-4741-a1dc-8c65c6f83ced rw rootflags=subvol="timeshift-btrfs/snapshots/2020-02-12_21-01-53/@"  loglevel=3 ec_sys.write_support=1 ipv6.disable=1 pcie_aspm=off mitigations=off nowatchdog acpi_rev_override=1 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off'
+ [[ -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/intel-ucode.img ]]
+ [[ initramfs-5.5-x86_64-fallback.img != \i\n\i\t\r\a\m\f\s\-\5\.\5\-\x\8\6\_\6\4\-\f\a\l\l\b\a\c\k\.\i\m\g ]]
+ entry '               echo '\''Loading Initramfs: initramfs-5.5-x86_64-fallback.img ...'\''
                initrd "/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/initramfs-5.5-x86_64-fallback.img"'
+ echo '                echo '\''Loading Initramfs: initramfs-5.5-x86_64-fallback.img ...'\''
                initrd "/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/initramfs-5.5-x86_64-fallback.img"'
+ entry '       }'
+ echo '        }'
+ count_warning_menuentries=3
+ for i in "${name_initramfs[@]}"
+ prefix_i=initramfs
+ suffix_i=5.5-x86_64.img
+ alt_suffix_i=x86_64.img
+ '[' 5.5-x86_64 = 5.5-x86_64.img ']'
+ '[' 5.5-x86_64.img = 5.5-x86_64.img ']'
+ i=initramfs-5.5-x86_64.img
+ for u in "${name_microcode[@]}"
+ [[ -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/intel-ucode.img ]]
+ [[ initramfs-5.5-x86_64.img != \i\n\i\t\r\a\m\f\s\-\5\.\5\-\x\8\6\_\6\4\-\x\8\6\_\6\4\.\i\m\g ]]
+ entry '
        menuentry '\''vmlinuz-5.5-x86_64 & initramfs-5.5-x86_64.img & intel-ucode.img'\'' --class snapshots --class gnu-linux --class gnu --class os $menuentry_id_option '\''gnulinux-snapshots-987b5b4a-3a39-4741-a1dc-8c65c6f83ced'\''{'
+ echo '
        menuentry '\''vmlinuz-5.5-x86_64 & initramfs-5.5-x86_64.img & intel-ucode.img'\'' --class snapshots --class gnu-linux --class gnu --class os $menuentry_id_option '\''gnulinux-snapshots-987b5b4a-3a39-4741-a1dc-8c65c6f83ced'\''{'
+ entry '               if [ x$feature_all_video_module = xy ]; then
                insmod all_video
                fi
                set gfxpayload=keep
                insmod btrfs
                if [ x$feature_platform_search_hint = xy ]; then
                        search --no-floppy --fs-uuid  --set=root --hint-ieee1275='\''ieee1275//disk@0,msdos1'\'' --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                else
                        search --no-floppy --fs-uuid  --set=root 987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                fi
                echo '\''Loading Snapshot: 2020-02-12' '21:01:53 timeshift-btrfs/snapshots/2020-02-12_21-01-53/@'\''
                echo '\''Loading Kernel: vmlinuz-5.5-x86_64 ...'\''
                linux "/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/vmlinuz-5.5-x86_64" root=UUID=987b5b4a-3a39-4741-a1dc-8c65c6f83ced rw rootflags=subvol="timeshift-btrfs/snapshots/2020-02-12_21-01-53/@"  loglevel=3 ec_sys.write_support=1 ipv6.disable=1 pcie_aspm=off mitigations=off nowatchdog acpi_rev_override=1 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off'
+ echo '                if [ x$feature_all_video_module = xy ]; then
                insmod all_video
                fi
                set gfxpayload=keep
                insmod btrfs
                if [ x$feature_platform_search_hint = xy ]; then
                        search --no-floppy --fs-uuid  --set=root --hint-ieee1275='\''ieee1275//disk@0,msdos1'\'' --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                else
                        search --no-floppy --fs-uuid  --set=root 987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                fi
                echo '\''Loading Snapshot: 2020-02-12' '21:01:53 timeshift-btrfs/snapshots/2020-02-12_21-01-53/@'\''
                echo '\''Loading Kernel: vmlinuz-5.5-x86_64 ...'\''
                linux "/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/vmlinuz-5.5-x86_64" root=UUID=987b5b4a-3a39-4741-a1dc-8c65c6f83ced rw rootflags=subvol="timeshift-btrfs/snapshots/2020-02-12_21-01-53/@"  loglevel=3 ec_sys.write_support=1 ipv6.disable=1 pcie_aspm=off mitigations=off nowatchdog acpi_rev_override=1 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off'
+ [[ -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/intel-ucode.img ]]
+ [[ initramfs-5.5-x86_64.img != \i\n\i\t\r\a\m\f\s\-\5\.\5\-\x\8\6\_\6\4\-\x\8\6\_\6\4\.\i\m\g ]]
+ entry '               echo '\''Loading Microcode & Initramfs: intel-ucode.img initramfs-5.5-x86_64.img ...'\''
                initrd "/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/intel-ucode.img" "/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/initramfs-5.5-x86_64.img"'
+ echo '                echo '\''Loading Microcode & Initramfs: intel-ucode.img initramfs-5.5-x86_64.img ...'\''
                initrd "/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/intel-ucode.img" "/timeshift-btrfs/snapshots/2020-02-12_21-01-53/@/boot/initramfs-5.5-x86_64.img"'
+ entry '       }'
+ echo '        }'
+ count_warning_menuentries=4
+ entry '}'
+ echo '}'
+ count_limit_snap=1
+ [[ 1 -ge 50 ]]
+ for item in $(snapshot_list)
+ [[ 50 -le 0 ]]
+ IFS=' 
'
++ echo '2020-02-12 18:13:59 | timeshift-btrfs/snapshots/2020-02-12_18-13-59/@'
++ cut '-d|' -f2-
+ snap_full_name=' timeshift-btrfs/snapshots/2020-02-12_18-13-59/@'
++ echo '2020-02-12 18:13:59 | timeshift-btrfs/snapshots/2020-02-12_18-13-59/@'
++ cut '-d|' -f2
+ snap_dir_name=' timeshift-btrfs/snapshots/2020-02-12_18-13-59/@'
++ trim ' timeshift-btrfs/snapshots/2020-02-12_18-13-59/@'
++ local 'var= timeshift-btrfs/snapshots/2020-02-12_18-13-59/@'
++ var=timeshift-btrfs/snapshots/2020-02-12_18-13-59/@
++ var=timeshift-btrfs/snapshots/2020-02-12_18-13-59/@
++ echo -n timeshift-btrfs/snapshots/2020-02-12_18-13-59/@
+ snap_dir_name=timeshift-btrfs/snapshots/2020-02-12_18-13-59/@
++ echo '2020-02-12 18:13:59 | timeshift-btrfs/snapshots/2020-02-12_18-13-59/@'
++ cut '-d ' -f1-2
+ snap_date_time='2020-02-12 18:13:59'
++ trim '2020-02-12 18:13:59'
++ local 'var=2020-02-12 18:13:59'
++ var='2020-02-12 18:13:59'
++ var='2020-02-12 18:13:59'
++ echo -n '2020-02-12 18:13:59'
+ snap_date_time='2020-02-12 18:13:59'
+ boot_dir=/tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot
+ detect_kernel
+ list_kernel=()
+ for okernel in "${boot_dir}"/vmlinuz-* "${boot_dir}"/vmlinux-* "${boot_dir}"/kernel-*
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/vmlinuz-5.4-x86_64 ]]
+ list_kernel+=("$okernel")
+ for okernel in "${boot_dir}"/vmlinuz-* "${boot_dir}"/vmlinux-* "${boot_dir}"/kernel-*
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/vmlinux-* ]]
+ continue
+ for okernel in "${boot_dir}"/vmlinuz-* "${boot_dir}"/vmlinux-* "${boot_dir}"/kernel-*
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/kernel-* ]]
+ continue
+ '[' '!' -z '' ']'
+ '[' -z /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/vmlinuz-5.4-x86_64 ']'
+ name_kernel=("${list_kernel[@]##*"/"}")
+ detect_initramfs
+ list_initramfs=()
+ for oinitramfs in "${boot_dir}"/initrd.img-* "${boot_dir}"/initrd-*.img "${boot_dir}"/initrd-*.gz "${boot_dir}"/initramfs-*.img "${boot_dir}"/initramfs-*.gz
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/initrd.img-* ]]
+ continue
+ for oinitramfs in "${boot_dir}"/initrd.img-* "${boot_dir}"/initrd-*.img "${boot_dir}"/initrd-*.gz "${boot_dir}"/initramfs-*.img "${boot_dir}"/initramfs-*.gz
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/initrd-*.img ]]
+ continue
+ for oinitramfs in "${boot_dir}"/initrd.img-* "${boot_dir}"/initrd-*.img "${boot_dir}"/initrd-*.gz "${boot_dir}"/initramfs-*.img "${boot_dir}"/initramfs-*.gz
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/initrd-*.gz ]]
+ continue
+ for oinitramfs in "${boot_dir}"/initrd.img-* "${boot_dir}"/initrd-*.img "${boot_dir}"/initrd-*.gz "${boot_dir}"/initramfs-*.img "${boot_dir}"/initramfs-*.gz
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/initramfs-5.4-x86_64-fallback.img ]]
+ list_initramfs+=("$oinitramfs")
+ for oinitramfs in "${boot_dir}"/initrd.img-* "${boot_dir}"/initrd-*.img "${boot_dir}"/initrd-*.gz "${boot_dir}"/initramfs-*.img "${boot_dir}"/initramfs-*.gz
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/initramfs-5.4-x86_64.img ]]
+ list_initramfs+=("$oinitramfs")
+ for oinitramfs in "${boot_dir}"/initrd.img-* "${boot_dir}"/initrd-*.img "${boot_dir}"/initrd-*.gz "${boot_dir}"/initramfs-*.img "${boot_dir}"/initramfs-*.gz
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/initramfs-*.gz ]]
+ continue
+ '[' '!' -z '' ']'
+ '[' -z /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/initramfs-5.4-x86_64-fallback.img ']'
+ name_initramfs=("${list_initramfs[@]##*"/"}")
+ detect_microcode
+ list_ucode=()
+ for oiucode in "${boot_dir}"/intel-ucode.img
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/intel-ucode.img ]]
+ list_ucode+=("$oiucode")
+ '[' '!' -z '' ']'
+ '[' -z /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/intel-ucode.img ']'
+ name_microcode=("${list_ucode[@]##*"/"}")
+ [[ true = \t\r\u\e ]]
+ printf '# Found snapshot: %s\n' '2020-02-12 18:13:59 | timeshift-btrfs/snapshots/2020-02-12_18-13-59/@'
# Found snapshot: 2020-02-12 18:13:59 | timeshift-btrfs/snapshots/2020-02-12_18-13-59/@
+ path_snapshot
+ case "${path_snapshot}" in
+ name_snapshot=("${snap_full_name}")
+ title_format
+ case "${title_format}" in
+ title_menu='Snapshot: 2020-02-12 18:13:59  timeshift-btrfs/snapshots/2020-02-12_18-13-59/@'
++ make_system_path_relative_to_its_root /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot
++ /usr/bin/grub-mkrelpath /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot
+ boot_dir_root_grub=/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot
+ make_menu_entries
+ entry 'submenu '\''Snapshot: 2020-02-12 18:13:59  timeshift-btrfs/snapshots/2020-02-12_18-13-59/@'\'' {
        submenu '\''---> Snapshot: 2020-02-12 18:13:59  timeshift-btrfs/snapshots/2020-02-12_18-13-59/@ <---'\'' { echo }'
+ echo 'submenu '\''Snapshot: 2020-02-12 18:13:59  timeshift-btrfs/snapshots/2020-02-12_18-13-59/@'\'' {
        submenu '\''---> Snapshot: 2020-02-12 18:13:59  timeshift-btrfs/snapshots/2020-02-12_18-13-59/@ <---'\'' { echo }'
+ for k in "${name_kernel[@]}"
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/vmlinuz-5.4-x86_64 ]]
+ kversion=5.4-x86_64
+ for i in "${name_initramfs[@]}"
+ prefix_i=initramfs
+ suffix_i=5.4-x86_64-fallback.img
+ alt_suffix_i=fallback.img
+ '[' 5.4-x86_64 = 5.4-x86_64-fallback.img ']'
+ '[' 5.4-x86_64.img = 5.4-x86_64-fallback.img ']'
+ '[' 5.4-x86_64-fallback.img = 5.4-x86_64-fallback.img ']'
+ i=initramfs-5.4-x86_64-fallback.img
+ for u in "${name_microcode[@]}"
+ [[ -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/intel-ucode.img ]]
+ [[ initramfs-5.4-x86_64-fallback.img != \i\n\i\t\r\a\m\f\s\-\5\.\4\-\x\8\6\_\6\4\-\f\a\l\l\b\a\c\k\.\i\m\g ]]
+ entry '
        menuentry '\''vmlinuz-5.4-x86_64 & initramfs-5.4-x86_64-fallback.img'\'' --class snapshots --class gnu-linux --class gnu --class os $menuentry_id_option '\''gnulinux-snapshots-987b5b4a-3a39-4741-a1dc-8c65c6f83ced'\''{'
+ echo '
        menuentry '\''vmlinuz-5.4-x86_64 & initramfs-5.4-x86_64-fallback.img'\'' --class snapshots --class gnu-linux --class gnu --class os $menuentry_id_option '\''gnulinux-snapshots-987b5b4a-3a39-4741-a1dc-8c65c6f83ced'\''{'
+ entry '               if [ x$feature_all_video_module = xy ]; then
                insmod all_video
                fi
                set gfxpayload=keep
                insmod btrfs
                if [ x$feature_platform_search_hint = xy ]; then
                        search --no-floppy --fs-uuid  --set=root --hint-ieee1275='\''ieee1275//disk@0,msdos1'\'' --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                else
                        search --no-floppy --fs-uuid  --set=root 987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                fi
                echo '\''Loading Snapshot: 2020-02-12' '18:13:59 timeshift-btrfs/snapshots/2020-02-12_18-13-59/@'\''
                echo '\''Loading Kernel: vmlinuz-5.4-x86_64 ...'\''
                linux "/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/vmlinuz-5.4-x86_64" root=UUID=987b5b4a-3a39-4741-a1dc-8c65c6f83ced rw rootflags=subvol="timeshift-btrfs/snapshots/2020-02-12_18-13-59/@"  loglevel=3 ec_sys.write_support=1 ipv6.disable=1 pcie_aspm=off mitigations=off nowatchdog acpi_rev_override=1 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off'
+ echo '                if [ x$feature_all_video_module = xy ]; then
                insmod all_video
                fi
                set gfxpayload=keep
                insmod btrfs
                if [ x$feature_platform_search_hint = xy ]; then
                        search --no-floppy --fs-uuid  --set=root --hint-ieee1275='\''ieee1275//disk@0,msdos1'\'' --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                else
                        search --no-floppy --fs-uuid  --set=root 987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                fi
                echo '\''Loading Snapshot: 2020-02-12' '18:13:59 timeshift-btrfs/snapshots/2020-02-12_18-13-59/@'\''
                echo '\''Loading Kernel: vmlinuz-5.4-x86_64 ...'\''
                linux "/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/vmlinuz-5.4-x86_64" root=UUID=987b5b4a-3a39-4741-a1dc-8c65c6f83ced rw rootflags=subvol="timeshift-btrfs/snapshots/2020-02-12_18-13-59/@"  loglevel=3 ec_sys.write_support=1 ipv6.disable=1 pcie_aspm=off mitigations=off nowatchdog acpi_rev_override=1 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off'
+ [[ -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/intel-ucode.img ]]
+ [[ initramfs-5.4-x86_64-fallback.img != \i\n\i\t\r\a\m\f\s\-\5\.\4\-\x\8\6\_\6\4\-\f\a\l\l\b\a\c\k\.\i\m\g ]]
+ entry '               echo '\''Loading Initramfs: initramfs-5.4-x86_64-fallback.img ...'\''
                initrd "/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/initramfs-5.4-x86_64-fallback.img"'
+ echo '                echo '\''Loading Initramfs: initramfs-5.4-x86_64-fallback.img ...'\''
                initrd "/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/initramfs-5.4-x86_64-fallback.img"'
+ entry '       }'
+ echo '        }'
+ count_warning_menuentries=5
+ for i in "${name_initramfs[@]}"
+ prefix_i=initramfs
+ suffix_i=5.4-x86_64.img
+ alt_suffix_i=x86_64.img
+ '[' 5.4-x86_64 = 5.4-x86_64.img ']'
+ '[' 5.4-x86_64.img = 5.4-x86_64.img ']'
+ i=initramfs-5.4-x86_64.img
+ for u in "${name_microcode[@]}"
+ [[ -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/intel-ucode.img ]]
+ [[ initramfs-5.4-x86_64.img != \i\n\i\t\r\a\m\f\s\-\5\.\4\-\x\8\6\_\6\4\-\x\8\6\_\6\4\.\i\m\g ]]
+ entry '
        menuentry '\''vmlinuz-5.4-x86_64 & initramfs-5.4-x86_64.img & intel-ucode.img'\'' --class snapshots --class gnu-linux --class gnu --class os $menuentry_id_option '\''gnulinux-snapshots-987b5b4a-3a39-4741-a1dc-8c65c6f83ced'\''{'
+ echo '
        menuentry '\''vmlinuz-5.4-x86_64 & initramfs-5.4-x86_64.img & intel-ucode.img'\'' --class snapshots --class gnu-linux --class gnu --class os $menuentry_id_option '\''gnulinux-snapshots-987b5b4a-3a39-4741-a1dc-8c65c6f83ced'\''{'
+ entry '               if [ x$feature_all_video_module = xy ]; then
                insmod all_video
                fi
                set gfxpayload=keep
                insmod btrfs
                if [ x$feature_platform_search_hint = xy ]; then
                        search --no-floppy --fs-uuid  --set=root --hint-ieee1275='\''ieee1275//disk@0,msdos1'\'' --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                else
                        search --no-floppy --fs-uuid  --set=root 987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                fi
                echo '\''Loading Snapshot: 2020-02-12' '18:13:59 timeshift-btrfs/snapshots/2020-02-12_18-13-59/@'\''
                echo '\''Loading Kernel: vmlinuz-5.4-x86_64 ...'\''
                linux "/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/vmlinuz-5.4-x86_64" root=UUID=987b5b4a-3a39-4741-a1dc-8c65c6f83ced rw rootflags=subvol="timeshift-btrfs/snapshots/2020-02-12_18-13-59/@"  loglevel=3 ec_sys.write_support=1 ipv6.disable=1 pcie_aspm=off mitigations=off nowatchdog acpi_rev_override=1 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off'
+ echo '                if [ x$feature_all_video_module = xy ]; then
                insmod all_video
                fi
                set gfxpayload=keep
                insmod btrfs
                if [ x$feature_platform_search_hint = xy ]; then
                        search --no-floppy --fs-uuid  --set=root --hint-ieee1275='\''ieee1275//disk@0,msdos1'\'' --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                else
                        search --no-floppy --fs-uuid  --set=root 987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                fi
                echo '\''Loading Snapshot: 2020-02-12' '18:13:59 timeshift-btrfs/snapshots/2020-02-12_18-13-59/@'\''
                echo '\''Loading Kernel: vmlinuz-5.4-x86_64 ...'\''
                linux "/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/vmlinuz-5.4-x86_64" root=UUID=987b5b4a-3a39-4741-a1dc-8c65c6f83ced rw rootflags=subvol="timeshift-btrfs/snapshots/2020-02-12_18-13-59/@"  loglevel=3 ec_sys.write_support=1 ipv6.disable=1 pcie_aspm=off mitigations=off nowatchdog acpi_rev_override=1 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off'
+ [[ -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/intel-ucode.img ]]
+ [[ initramfs-5.4-x86_64.img != \i\n\i\t\r\a\m\f\s\-\5\.\4\-\x\8\6\_\6\4\-\x\8\6\_\6\4\.\i\m\g ]]
+ entry '               echo '\''Loading Microcode & Initramfs: intel-ucode.img initramfs-5.4-x86_64.img ...'\''
                initrd "/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/intel-ucode.img" "/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/initramfs-5.4-x86_64.img"'
+ echo '                echo '\''Loading Microcode & Initramfs: intel-ucode.img initramfs-5.4-x86_64.img ...'\''
                initrd "/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/intel-ucode.img" "/timeshift-btrfs/snapshots/2020-02-12_18-13-59/@/boot/initramfs-5.4-x86_64.img"'
+ entry '       }'
+ echo '        }'
+ count_warning_menuentries=6
+ entry '}'
+ echo '}'
+ count_limit_snap=2
+ [[ 2 -ge 50 ]]
+ for item in $(snapshot_list)
+ [[ 50 -le 0 ]]
+ IFS=' 
'
++ echo '2020-02-12 18:06:35 | timeshift-btrfs/snapshots/2020-02-12_18-06-35/@'
++ cut '-d|' -f2-
+ snap_full_name=' timeshift-btrfs/snapshots/2020-02-12_18-06-35/@'
++ echo '2020-02-12 18:06:35 | timeshift-btrfs/snapshots/2020-02-12_18-06-35/@'
++ cut '-d|' -f2
+ snap_dir_name=' timeshift-btrfs/snapshots/2020-02-12_18-06-35/@'
++ trim ' timeshift-btrfs/snapshots/2020-02-12_18-06-35/@'
++ local 'var= timeshift-btrfs/snapshots/2020-02-12_18-06-35/@'
++ var=timeshift-btrfs/snapshots/2020-02-12_18-06-35/@
++ var=timeshift-btrfs/snapshots/2020-02-12_18-06-35/@
++ echo -n timeshift-btrfs/snapshots/2020-02-12_18-06-35/@
+ snap_dir_name=timeshift-btrfs/snapshots/2020-02-12_18-06-35/@
++ echo '2020-02-12 18:06:35 | timeshift-btrfs/snapshots/2020-02-12_18-06-35/@'
++ cut '-d ' -f1-2
+ snap_date_time='2020-02-12 18:06:35'
++ trim '2020-02-12 18:06:35'
++ local 'var=2020-02-12 18:06:35'
++ var='2020-02-12 18:06:35'
++ var='2020-02-12 18:06:35'
++ echo -n '2020-02-12 18:06:35'
+ snap_date_time='2020-02-12 18:06:35'
+ boot_dir=/tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot
+ detect_kernel
+ list_kernel=()
+ for okernel in "${boot_dir}"/vmlinuz-* "${boot_dir}"/vmlinux-* "${boot_dir}"/kernel-*
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/vmlinuz-5.4-x86_64 ]]
+ list_kernel+=("$okernel")
+ for okernel in "${boot_dir}"/vmlinuz-* "${boot_dir}"/vmlinux-* "${boot_dir}"/kernel-*
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/vmlinux-* ]]
+ continue
+ for okernel in "${boot_dir}"/vmlinuz-* "${boot_dir}"/vmlinux-* "${boot_dir}"/kernel-*
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/kernel-* ]]
+ continue
+ '[' '!' -z '' ']'
+ '[' -z /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/vmlinuz-5.4-x86_64 ']'
+ name_kernel=("${list_kernel[@]##*"/"}")
+ detect_initramfs
+ list_initramfs=()
+ for oinitramfs in "${boot_dir}"/initrd.img-* "${boot_dir}"/initrd-*.img "${boot_dir}"/initrd-*.gz "${boot_dir}"/initramfs-*.img "${boot_dir}"/initramfs-*.gz
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/initrd.img-* ]]
+ continue
+ for oinitramfs in "${boot_dir}"/initrd.img-* "${boot_dir}"/initrd-*.img "${boot_dir}"/initrd-*.gz "${boot_dir}"/initramfs-*.img "${boot_dir}"/initramfs-*.gz
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/initrd-*.img ]]
+ continue
+ for oinitramfs in "${boot_dir}"/initrd.img-* "${boot_dir}"/initrd-*.img "${boot_dir}"/initrd-*.gz "${boot_dir}"/initramfs-*.img "${boot_dir}"/initramfs-*.gz
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/initrd-*.gz ]]
+ continue
+ for oinitramfs in "${boot_dir}"/initrd.img-* "${boot_dir}"/initrd-*.img "${boot_dir}"/initrd-*.gz "${boot_dir}"/initramfs-*.img "${boot_dir}"/initramfs-*.gz
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/initramfs-5.4-x86_64-fallback.img ]]
+ list_initramfs+=("$oinitramfs")
+ for oinitramfs in "${boot_dir}"/initrd.img-* "${boot_dir}"/initrd-*.img "${boot_dir}"/initrd-*.gz "${boot_dir}"/initramfs-*.img "${boot_dir}"/initramfs-*.gz
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/initramfs-5.4-x86_64.img ]]
+ list_initramfs+=("$oinitramfs")
+ for oinitramfs in "${boot_dir}"/initrd.img-* "${boot_dir}"/initrd-*.img "${boot_dir}"/initrd-*.gz "${boot_dir}"/initramfs-*.img "${boot_dir}"/initramfs-*.gz
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/initramfs-*.gz ]]
+ continue
+ '[' '!' -z '' ']'
+ '[' -z /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/initramfs-5.4-x86_64-fallback.img ']'
+ name_initramfs=("${list_initramfs[@]##*"/"}")
+ detect_microcode
+ list_ucode=()
+ for oiucode in "${boot_dir}"/intel-ucode.img
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/intel-ucode.img ]]
+ list_ucode+=("$oiucode")
+ '[' '!' -z '' ']'
+ '[' -z /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/intel-ucode.img ']'
+ name_microcode=("${list_ucode[@]##*"/"}")
+ [[ true = \t\r\u\e ]]
+ printf '# Found snapshot: %s\n' '2020-02-12 18:06:35 | timeshift-btrfs/snapshots/2020-02-12_18-06-35/@'
# Found snapshot: 2020-02-12 18:06:35 | timeshift-btrfs/snapshots/2020-02-12_18-06-35/@
+ path_snapshot
+ case "${path_snapshot}" in
+ name_snapshot=("${snap_full_name}")
+ title_format
+ case "${title_format}" in
+ title_menu='Snapshot: 2020-02-12 18:06:35  timeshift-btrfs/snapshots/2020-02-12_18-06-35/@'
++ make_system_path_relative_to_its_root /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot
++ /usr/bin/grub-mkrelpath /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot
+ boot_dir_root_grub=/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot
+ make_menu_entries
+ entry 'submenu '\''Snapshot: 2020-02-12 18:06:35  timeshift-btrfs/snapshots/2020-02-12_18-06-35/@'\'' {
        submenu '\''---> Snapshot: 2020-02-12 18:06:35  timeshift-btrfs/snapshots/2020-02-12_18-06-35/@ <---'\'' { echo }'
+ echo 'submenu '\''Snapshot: 2020-02-12 18:06:35  timeshift-btrfs/snapshots/2020-02-12_18-06-35/@'\'' {
        submenu '\''---> Snapshot: 2020-02-12 18:06:35  timeshift-btrfs/snapshots/2020-02-12_18-06-35/@ <---'\'' { echo }'
+ for k in "${name_kernel[@]}"
+ [[ ! -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/vmlinuz-5.4-x86_64 ]]
+ kversion=5.4-x86_64
+ for i in "${name_initramfs[@]}"
+ prefix_i=initramfs
+ suffix_i=5.4-x86_64-fallback.img
+ alt_suffix_i=fallback.img
+ '[' 5.4-x86_64 = 5.4-x86_64-fallback.img ']'
+ '[' 5.4-x86_64.img = 5.4-x86_64-fallback.img ']'
+ '[' 5.4-x86_64-fallback.img = 5.4-x86_64-fallback.img ']'
+ i=initramfs-5.4-x86_64-fallback.img
+ for u in "${name_microcode[@]}"
+ [[ -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/intel-ucode.img ]]
+ [[ initramfs-5.4-x86_64-fallback.img != \i\n\i\t\r\a\m\f\s\-\5\.\4\-\x\8\6\_\6\4\-\f\a\l\l\b\a\c\k\.\i\m\g ]]
+ entry '
        menuentry '\''vmlinuz-5.4-x86_64 & initramfs-5.4-x86_64-fallback.img'\'' --class snapshots --class gnu-linux --class gnu --class os $menuentry_id_option '\''gnulinux-snapshots-987b5b4a-3a39-4741-a1dc-8c65c6f83ced'\''{'
+ echo '
        menuentry '\''vmlinuz-5.4-x86_64 & initramfs-5.4-x86_64-fallback.img'\'' --class snapshots --class gnu-linux --class gnu --class os $menuentry_id_option '\''gnulinux-snapshots-987b5b4a-3a39-4741-a1dc-8c65c6f83ced'\''{'
+ entry '               if [ x$feature_all_video_module = xy ]; then
                insmod all_video
                fi
                set gfxpayload=keep
                insmod btrfs
                if [ x$feature_platform_search_hint = xy ]; then
                        search --no-floppy --fs-uuid  --set=root --hint-ieee1275='\''ieee1275//disk@0,msdos1'\'' --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                else
                        search --no-floppy --fs-uuid  --set=root 987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                fi
                echo '\''Loading Snapshot: 2020-02-12' '18:06:35 timeshift-btrfs/snapshots/2020-02-12_18-06-35/@'\''
                echo '\''Loading Kernel: vmlinuz-5.4-x86_64 ...'\''
                linux "/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/vmlinuz-5.4-x86_64" root=UUID=987b5b4a-3a39-4741-a1dc-8c65c6f83ced rw rootflags=subvol="timeshift-btrfs/snapshots/2020-02-12_18-06-35/@"  loglevel=3 ec_sys.write_support=1 ipv6.disable=1 pcie_aspm=off mitigations=off nowatchdog acpi_rev_override=1 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off'
+ echo '                if [ x$feature_all_video_module = xy ]; then
                insmod all_video
                fi
                set gfxpayload=keep
                insmod btrfs
                if [ x$feature_platform_search_hint = xy ]; then
                        search --no-floppy --fs-uuid  --set=root --hint-ieee1275='\''ieee1275//disk@0,msdos1'\'' --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                else
                        search --no-floppy --fs-uuid  --set=root 987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                fi
                echo '\''Loading Snapshot: 2020-02-12' '18:06:35 timeshift-btrfs/snapshots/2020-02-12_18-06-35/@'\''
                echo '\''Loading Kernel: vmlinuz-5.4-x86_64 ...'\''
                linux "/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/vmlinuz-5.4-x86_64" root=UUID=987b5b4a-3a39-4741-a1dc-8c65c6f83ced rw rootflags=subvol="timeshift-btrfs/snapshots/2020-02-12_18-06-35/@"  loglevel=3 ec_sys.write_support=1 ipv6.disable=1 pcie_aspm=off mitigations=off nowatchdog acpi_rev_override=1 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off'
+ [[ -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/intel-ucode.img ]]
+ [[ initramfs-5.4-x86_64-fallback.img != \i\n\i\t\r\a\m\f\s\-\5\.\4\-\x\8\6\_\6\4\-\f\a\l\l\b\a\c\k\.\i\m\g ]]
+ entry '               echo '\''Loading Initramfs: initramfs-5.4-x86_64-fallback.img ...'\''
                initrd "/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/initramfs-5.4-x86_64-fallback.img"'
+ echo '                echo '\''Loading Initramfs: initramfs-5.4-x86_64-fallback.img ...'\''
                initrd "/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/initramfs-5.4-x86_64-fallback.img"'
+ entry '       }'
+ echo '        }'
+ count_warning_menuentries=7
+ for i in "${name_initramfs[@]}"
+ prefix_i=initramfs
+ suffix_i=5.4-x86_64.img
+ alt_suffix_i=x86_64.img
+ '[' 5.4-x86_64 = 5.4-x86_64.img ']'
+ '[' 5.4-x86_64.img = 5.4-x86_64.img ']'
+ i=initramfs-5.4-x86_64.img
+ for u in "${name_microcode[@]}"
+ [[ -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/intel-ucode.img ]]
+ [[ initramfs-5.4-x86_64.img != \i\n\i\t\r\a\m\f\s\-\5\.\4\-\x\8\6\_\6\4\-\x\8\6\_\6\4\.\i\m\g ]]
+ entry '
        menuentry '\''vmlinuz-5.4-x86_64 & initramfs-5.4-x86_64.img & intel-ucode.img'\'' --class snapshots --class gnu-linux --class gnu --class os $menuentry_id_option '\''gnulinux-snapshots-987b5b4a-3a39-4741-a1dc-8c65c6f83ced'\''{'
+ echo '
        menuentry '\''vmlinuz-5.4-x86_64 & initramfs-5.4-x86_64.img & intel-ucode.img'\'' --class snapshots --class gnu-linux --class gnu --class os $menuentry_id_option '\''gnulinux-snapshots-987b5b4a-3a39-4741-a1dc-8c65c6f83ced'\''{'
+ entry '               if [ x$feature_all_video_module = xy ]; then
                insmod all_video
                fi
                set gfxpayload=keep
                insmod btrfs
                if [ x$feature_platform_search_hint = xy ]; then
                        search --no-floppy --fs-uuid  --set=root --hint-ieee1275='\''ieee1275//disk@0,msdos1'\'' --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                else
                        search --no-floppy --fs-uuid  --set=root 987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                fi
                echo '\''Loading Snapshot: 2020-02-12' '18:06:35 timeshift-btrfs/snapshots/2020-02-12_18-06-35/@'\''
                echo '\''Loading Kernel: vmlinuz-5.4-x86_64 ...'\''
                linux "/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/vmlinuz-5.4-x86_64" root=UUID=987b5b4a-3a39-4741-a1dc-8c65c6f83ced rw rootflags=subvol="timeshift-btrfs/snapshots/2020-02-12_18-06-35/@"  loglevel=3 ec_sys.write_support=1 ipv6.disable=1 pcie_aspm=off mitigations=off nowatchdog acpi_rev_override=1 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off'
+ echo '                if [ x$feature_all_video_module = xy ]; then
                insmod all_video
                fi
                set gfxpayload=keep
                insmod btrfs
                if [ x$feature_platform_search_hint = xy ]; then
                        search --no-floppy --fs-uuid  --set=root --hint-ieee1275='\''ieee1275//disk@0,msdos1'\'' --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                else
                        search --no-floppy --fs-uuid  --set=root 987b5b4a-3a39-4741-a1dc-8c65c6f83ced
                fi
                echo '\''Loading Snapshot: 2020-02-12' '18:06:35 timeshift-btrfs/snapshots/2020-02-12_18-06-35/@'\''
                echo '\''Loading Kernel: vmlinuz-5.4-x86_64 ...'\''
                linux "/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/vmlinuz-5.4-x86_64" root=UUID=987b5b4a-3a39-4741-a1dc-8c65c6f83ced rw rootflags=subvol="timeshift-btrfs/snapshots/2020-02-12_18-06-35/@"  loglevel=3 ec_sys.write_support=1 ipv6.disable=1 pcie_aspm=off mitigations=off nowatchdog acpi_rev_override=1 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off'
+ [[ -f /tmp/tmp.mHiqVnFUVo/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/intel-ucode.img ]]
+ [[ initramfs-5.4-x86_64.img != \i\n\i\t\r\a\m\f\s\-\5\.\4\-\x\8\6\_\6\4\-\x\8\6\_\6\4\.\i\m\g ]]
+ entry '               echo '\''Loading Microcode & Initramfs: intel-ucode.img initramfs-5.4-x86_64.img ...'\''
                initrd "/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/intel-ucode.img" "/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/initramfs-5.4-x86_64.img"'
+ echo '                echo '\''Loading Microcode & Initramfs: intel-ucode.img initramfs-5.4-x86_64.img ...'\''
                initrd "/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/intel-ucode.img" "/timeshift-btrfs/snapshots/2020-02-12_18-06-35/@/boot/initramfs-5.4-x86_64.img"'
+ entry '       }'
+ echo '        }'
+ count_warning_menuentries=8
+ entry '}'
+ echo '}'
+ count_limit_snap=3
+ [[ 3 -ge 50 ]]
+ IFS=' 
'
+ umount /tmp/tmp.mHiqVnFUVo
+ [[ 8 -ge 250 ]]
+ [[ true = \t\r\u\e ]]
+ [[ ! -z 3 ]]
+ [[ 3 != \0 ]]
+ printf '# Found 3 snapshot(s)\n'
# Found 3 snapshot(s)
+ [[ 3 = \0 ]]
+ [[ -z 3 ]]
++ make_system_path_relative_to_its_root /boot/grub
++ /usr/bin/grub-mkrelpath /boot/grub
+ root_grub=/@/boot/grub
+ cat
+ printf '###### - Grub-btrfs: Snapshot detection ended   - ######\n'
###### - Grub-btrfs: Snapshot detection ended   - ######

The script work, but grub is empty.

I mv 41_custom /etc/grub.d/ to bck.41_custom but grub work with this name version too :wink:

### BEGIN /etc/grub.d/41_snapshots-btrfs ###
submenu 'Timeshift btrfs Snapshots' {
	configfile "${prefix}/grub-btrfs.cfg"
}
### END /etc/grub.d/41_snapshots-btrfs ###

### BEGIN /etc/grub.d/60_memtest86+ ###
if [ "${grub_platform}" == "pc" ]; then
    menuentry "Memory Tester (memtest86+)" --class memtest86 --class gnu --class tool {
        search --fs-uuid --no-floppy --set=root --hint-ieee1275='ieee1275//disk@0,msdos1' --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  987b5b4a-3a39-4741-a1dc-8c65c6f83ced
        linux16 /@/boot/memtest86+/memtest.bin 
    }
fi
### END /etc/grub.d/60_memtest86+ ###

### BEGIN /etc/grub.d/bck.41_custom ###
if [ -f  ${config_directory}/custom.cfg ]; then
  source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/bck.41_custom ###

If

${prefix}

in 41_snapshots-btrfs =

/@/boot/grub/

is, it must work :frowning:

++ make_system_path_relative_to_its_root /boot/grub
++ /usr/bin/grub-mkrelpath /boot/grub
+ root_grub=/@/boot/grub

Booting now the gaming.

@Librewish look youre /@/boot/grub like this?

/run/.../boot/grub >>> ls                                                                                                                                  
insgesamt 28K
drwxr-xr-x 1 root root   22 12.02.2020 17:20 fonts/
drwxr-xr-x 1 root root 6,2K 12.02.2020 17:20 i386-pc/
drwxr-xr-x 1 root root   18 12.02.2020 17:20 themes/
-rw-r--r-- 1 root root  12K 13.02.2020 12:52 grub-btrfs.cfg
-rw------- 1 root root  11K 13.02.2020 12:52 grub.cfg
-rw-r--r-- 1 root root 1,0K 12.02.2020 23:19 grubenv

/usr/lib/systemd/system/grub-btrfs.path

[Unit]
Description=Monitors for new snapshots

[Path]
PathModified=/.snapshots

[Install]
WantedBy=multi-user.target

Maybe I modify the PathModified=/.snapshots :slight_smile:

or

Just tried it and found out, that you should specify subvol=/@ or subvol=/@home – with a leading slash.

So, my working /etc/fstab with one automount and one manually mountable subvolume now looks like this:

/dev/sdb /backup btrfs noatime,nodiratime,subvol=/@ 0 0
/dev/sdb /snapshots btrfs noauto,noatime,nodiratime,subvol=/@snapshots 0 0

Before, I didn't use leading slashes and mount /snapshots failed. Now mount /snapshot works.

System:

# uname -a
Linux debian-9 4.9.0-8-amd64 #1 SMP Debian 4.9.110-3+deb9u4 (2018-08-21) x86_64 GNU/Linux
# btrfs --version
btrfs-progs v4.7.3
# btrfs subvolume list -up /backup
ID 258 gen 10 parent 5 top level 5 uuid b2740892-9b17-9147-b930-83de797d20df path @
ID 259 gen 8 parent 5 top level 5 uuid 10560ce1-b6f5-1248-94a0-c0a7734b804f path @snapshots

Nothing in my fstab.

/run/.../boot/grub >>> cat /run/media/sgs/987b5b4a-3a39-4741-a1dc-8c65c6f83ced/@/etc/fstab                                                                 
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a device; this may
# be used with UUID= as a more robust way to name devices that works even if
# disks are added and removed. See fstab(5).
#
# <file system>             <mount point>  <type>  <options>  <dump>  <pass>
UUID=987b5b4a-3a39-4741-a1dc-8c65c6f83ced /              btrfs   subvol=@,defaults,noatime,space_cache,autodefrag,compress=zstd,ssd_spread 0 1
UUID=987b5b4a-3a39-4741-a1dc-8c65c6f83ced /home          btrfs   subvol=@home,defaults,noatime,space_cache,autodefrag,compress=zstd,ssd_spread 0 2
tmpfs                                     /tmp           tmpfs   defaults,noatime,mode=1777 0 0

Maybe to night it will work :wink: :wink: :wink:

That "timeshift-btrfs" is to much in "ID 270 gen 124 parent 5 top level 5 uuid 930fff20-325e-e345-8b99-5b312d9e497a path timeshift-btrfs/snapshots/2020-02-12_18-06-35/@" ???

sgs@kde Linux 5.5.2-2-MANJARO x86_64 Rolling Gaming
~ >>> systemctl enable grub-btrfs.path                                                                                                                                          
Created symlink /etc/systemd/system/multi-user.target.wants/grub-btrfs.path → /usr/lib/systemd/system/grub-btrfs.path.
~ >>> systemctl start grub-btrfs.path 

Interesting article here offering 5 tips on Linux gaming. One of the tips I found interesting, ' Check Your Graphics Card Isn’t Being Suppressed by the OS,' gives a tip on how to change your cpu to not be in its default powersaving mode under linux..for AMD cards. I currently looking for an Nvidia GPU solution, which the author doesn't give.

One of the most interesting take-aways was which linux OS performs better with gaming. Hint, compositors, especially under XFCE are bad for gamers.

Which Linux Desktop Environment is the fastest for gaming?

Edit: nevermind. I found a solution for the cpu performance switch.

use 'sudo cpupower frequency-set -g performance' to use the boost mode or
'sudo cpupower frequency-set -g powersave' to change back to normal mode.

1 Like

Download PNG ~4.4 MiB

That is correct but is not entered in grub.cfg there is

submenu 'Arch Linux snapshots' {
        configfile "${prefix}/grub-btrfs.cfg"

must be

configfile "/@/boot/grub/grub-btrfs.cfg"

I had already changed that last night but only today it worked :smiley:
So now it look
image10
:slight_smile:
until update grub, so I must write a little hook/script that change the grub.cfg :wink:

Maybe @Librewish can show me his/the output from

sudo cat /boot/grub/grub.cfg | grep 'configfile '                                                                                     
[sudo] Passwort für sgs: 
       configfile "/@/boot/grub/grub-btrfs.cfg"

Forum kindly sponsored by