mirror of
https://github.com/Antynea/grub-btrfs.git
synced 2026-03-04 13:05:00 +08:00
Update 41_snapshots-btrfs
Update 41_snapshots-btrfs
This commit is contained in:
@@ -1,60 +1,63 @@
|
||||
#! /usr/bin/env bash
|
||||
#
|
||||
#
|
||||
#################################################################################################################################################
|
||||
# Written by: Antynea #
|
||||
# BTC donation address: 1Lbvz244WA8xbpHek9W2Y12cakM6rDe5Rt #
|
||||
# #
|
||||
# Purpose: Include btrfs snapshots at boot options (grub-menu). #
|
||||
# #
|
||||
# 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. (For custon name, see below.) #
|
||||
# - Automatically Create corresponding "menuentry" in grub.cfg , which ensures a very easy rollback. #
|
||||
# #
|
||||
# How to use it: #
|
||||
# - Add this lines to /etc/default/grub: #
|
||||
# #
|
||||
# * GRUB_BTRFS_SUBMENUNAME="Arch Linux 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="100" #
|
||||
# (Limit the number of snapshots populated in the GRUB menu.) #
|
||||
# * GRUB_BTRFS_SUBVOLUME_SORT="descending" #
|
||||
# (Sort the found subvolumes by newest first ("descending") or oldest first ("ascending"). #
|
||||
# If "ascending" is chosen then the $GRUB_BTRFS_LIMIT oldest subvolumes will populate the menu.) #
|
||||
# * 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 or auto-detect failed.) #
|
||||
# * GRUB_BTRFS_NINIT=("initramfs-linux.img" "initramfs-linux-fallback.img") #
|
||||
# (Use only if you have custom initramfs name or auto-detect failed.) #
|
||||
# * GRUB_BTRFS_INTEL_UCODE=("intel-ucode.img") #
|
||||
# (Use only if you have custom intel-ucode or auto-detect failed.) #
|
||||
# * GRUB_BTRFS_IGNORE_SPECIFIC_PATH=("var/lib/docker" "nosnapshot") #
|
||||
# (Ignore specific path during run "grub-mkconfig") #
|
||||
# * GRUB_BTRFS_CREATE_ONLY_HARMONIZED_ENTRIES="false" #
|
||||
# (Create entries with matching version number instead of all possible combinations of kernel and initramfs) #
|
||||
# #
|
||||
# - Generate grub.cfg (on Arch Linux use grub-mkconfig -o /boot/grub/grub.cfg) #
|
||||
# #
|
||||
# - grub-btrfs automatically generates snapshots entries. #
|
||||
# - You will see it appear different entries (e.g : Snapshot: [2014-02-12 11:24:37] my snapshot name overkill) #
|
||||
# #
|
||||
# #
|
||||
# To do: #
|
||||
# #
|
||||
# * Snapper support .... #
|
||||
# #
|
||||
#################################################################################################################################################
|
||||
#########################################################################################################################################################################
|
||||
# Written by: Antynea #
|
||||
# BTC donation address: 1Lbvz244WA8xbpHek9W2Y12cakM6rDe5Rt #
|
||||
# #
|
||||
# Purpose: Include btrfs snapshots at boot options (grub-menu). #
|
||||
# #
|
||||
# What this script does: #
|
||||
# Simple rollback using snapshots you made previously. #
|
||||
# - 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. (For custon name, see below.) #
|
||||
# - Automatically Create corresponding "menuentry" in grub.cfg , which ensures a very easy rollback. #
|
||||
# - Automatically detect snapper and use snapper's snapshot description if available. #
|
||||
# #
|
||||
# How to use it: #
|
||||
# - Add this lines to /etc/default/grub: #
|
||||
# #
|
||||
# * GRUB_BTRFS_SUBMENUNAME="Arch Linux 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="100" #
|
||||
# (Limit the number of snapshots populated in the GRUB menu.) #
|
||||
# * GRUB_BTRFS_SUBVOLUME_SORT="descending" #
|
||||
# (Sort the found subvolumes by newest first ("descending") or oldest first ("ascending"). #
|
||||
# If "ascending" is chosen then the $GRUB_BTRFS_LIMIT oldest subvolumes will populate the menu.) #
|
||||
# * 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 or auto-detect failed.) #
|
||||
# * GRUB_BTRFS_NINIT=("initramfs-linux.img" "initramfs-linux-fallback.img") #
|
||||
# (Use only if you have custom initramfs name or auto-detect failed.) #
|
||||
# * GRUB_BTRFS_INTEL_UCODE=("intel-ucode.img") #
|
||||
# (Use only if you have custom intel-ucode or auto-detect failed.) #
|
||||
# * GRUB_BTRFS_IGNORE_SPECIFIC_PATH=("var/lib/docker" "nosnapshot") #
|
||||
# (Ignore specific path during run "grub-mkconfig") #
|
||||
# * GRUB_BTRFS_CREATE_ONLY_HARMONIZED_ENTRIES="false" #
|
||||
# (Create entries with matching version number instead of all possible combinations of kernel and initramfs) #
|
||||
# #
|
||||
# - Generate grub.cfg (on Arch Linux use grub-mkconfig -o /boot/grub/grub.cfg) #
|
||||
# #
|
||||
# - grub-btrfs automatically generates snapshots entries. #
|
||||
# - You will see it appear different entries (e.g : Snapshot: [2014-02-12 11:24:37] my snapshot name overkill) #
|
||||
# #
|
||||
# Automatically update grub #
|
||||
# If you would like grub to automatically update when Snapper timeline snapshots and cleanups occur, simply install 10-update_grub.conf in the following locations: #
|
||||
# - /etc/systemd/system/snapper-timeline.service.d/ #
|
||||
# - /etc/systemd/system/snapper-cleanup.service.d/ #
|
||||
# Once the configuration files are in place, systemctl daemon-reload should be run to reload the units and make the changes active. # #
|
||||
# #
|
||||
#########################################################################################################################################################################
|
||||
|
||||
set -e
|
||||
|
||||
|
||||
Reference in New Issue
Block a user