mirror of
https://github.com/Antynea/grub-btrfs.git
synced 2026-03-10 00:05:32 +08:00
Compare commits
43 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
52ab9dbe95 | ||
|
|
28e9524ca5 | ||
|
|
8fffc13c2f | ||
|
|
a4db6a8870 | ||
|
|
4388c334a3 | ||
|
|
a2acaefa9c | ||
|
|
3db73de479 | ||
|
|
39b2d09015 | ||
|
|
b511210646 | ||
|
|
63d653746b | ||
|
|
2df311179e | ||
|
|
58b8f5d3ec | ||
|
|
4081cbd27a | ||
|
|
9d3aa6d8a3 | ||
|
|
25e2c16828 | ||
|
|
14cbf60c5a | ||
|
|
2cf01a874f | ||
|
|
93b8ac07f5 | ||
|
|
252a6372dd | ||
|
|
297f539f0a | ||
|
|
1c6c8c6051 | ||
|
|
f0fb4b8e25 | ||
|
|
650ac69552 | ||
|
|
3ebc5b494a | ||
|
|
615cbe9f3a | ||
|
|
2e58a2b74d | ||
|
|
4f725a8431 | ||
|
|
d598529001 | ||
|
|
b925f639cd | ||
|
|
31a0baa2b1 | ||
|
|
3a7c6abece | ||
|
|
5e0951d8cb | ||
|
|
c9f5938e04 | ||
|
|
128cbe28f3 | ||
|
|
aae6892218 | ||
|
|
84ecc2a5a7 | ||
|
|
7c1178b17c | ||
|
|
7d07503f07 | ||
|
|
f646dfd900 | ||
|
|
b4d4bc0aac | ||
|
|
6f7fb178fb | ||
|
|
d561206775 | ||
|
|
563151507d |
@@ -1,39 +1,46 @@
|
|||||||
#! /usr/bin/bash
|
#! /usr/bin/env bash
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
#########################################################################################################################################################
|
#################################################################################################################################################
|
||||||
# Written by: Antynea #
|
# Written by: Antynea #
|
||||||
# #
|
# #
|
||||||
# Purpose: Include btrfs snapshots at boot options. #
|
# Purpose: Include btrfs snapshots at boot options (grub-menu). #
|
||||||
# #
|
# #
|
||||||
# What this script does: #
|
# What this script does: #
|
||||||
# - Automatically List snapshots existing on root partition (btrfs). #
|
# - Automatically List snapshots existing on root partition (btrfs). #
|
||||||
# - Automatically Detect kernel, initramfs and intel microcode in "/boot" directory on snapshots. (For custon name, see below.) #
|
# - Automatically Detect if "/boot" is in separate partition. #
|
||||||
# - Automatically Create corresponding "menuentry" in grub.cfg , which ensures a very easy rollback. #
|
# - 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: #
|
# How to use it: #
|
||||||
# #
|
# - Add this lines to /etc/default/grub: #
|
||||||
# * GRUB_BTRFS_SUBMENUNAME="ArchLinux Snapshots" (Name menu appearing in grub.) #
|
# #
|
||||||
# * GRUB_BTRFS_PREFIXENTRY="Snapshot:" (Add a name ahead your snapshots entries.) #
|
# * GRUB_BTRFS_SUBMENUNAME="ArchLinux Snapshots" #
|
||||||
# * GRUB_BTRFS_NKERNEL=("vmlinuz-linux") (Use only if you have custom kernel name or auto-detect failed.) #
|
# (Name menu appearing in grub.) #
|
||||||
# * GRUB_BTRFS_NINIT=("initramfs-linux.img" "initramfs-linux-fallback.img") (Use only if you have custom initramfs name or auto-detect failed.) #
|
# * GRUB_BTRFS_PREFIXENTRY="Snapshot:" #
|
||||||
# * GRUB_BTRFS_INTEL_UCODE=("intel-ucode.img") (Use only if you have custom intel-ucode or auto-detect failed.) #
|
# (Add a name ahead your snapshots entries.) #
|
||||||
# #
|
# * GRUB_BTRFS_DISPLAY_PATH_SNAPSHOT="true" #
|
||||||
# - Generate grub.cfg (on Archlinux use grub-mkconfig -o /boot/grub/grub.cfg ) #
|
# (Show full path snapshot or only name) #
|
||||||
# #
|
# * GRUB_BTRFS_TITLE_FORMAT="p/d/n" #
|
||||||
# - grub-btrfs automatically generates snapshots entries. #
|
# (Custom title, shows/hides p"prefix" d"date" n"name" in grub-menu, separator "/", custom order available) #
|
||||||
# - You will see it appear different entries (e.g : Snapshot: my snapshot name overkill [2014-02-12 11:24:37]) #
|
# * GRUB_BTRFS_NKERNEL=("vmlinuz-linux") #
|
||||||
# #
|
# (Use only if you have custom kernel name or auto-detect failed.) #
|
||||||
# Warning: #
|
# * GRUB_BTRFS_NINIT=("initramfs-linux.img" "initramfs-linux-fallback.img") #
|
||||||
# #
|
# (Use only if you have custom initramfs name or auto-detect failed.) #
|
||||||
# Script in progress #
|
# * GRUB_BTRFS_INTEL_UCODE=("intel-ucode.img") #
|
||||||
# to do : #
|
# (Use only if you have custom intel-ucode or auto-detect failed.) #
|
||||||
# # #
|
# #
|
||||||
# * verify compatibility with manjaro and snapper (but I don't use them, so it will take some time) #
|
# - Generate grub.cfg (on Archlinux 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: #
|
||||||
|
# # #
|
||||||
|
# * Display name of microcode in menuentry when available #
|
||||||
|
# #
|
||||||
|
#################################################################################################################################################
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
@@ -50,17 +57,21 @@ sysconfdir="/etc"
|
|||||||
### Variables in /etc/default/grub ###
|
### Variables in /etc/default/grub ###
|
||||||
######################################
|
######################################
|
||||||
## Choice of method
|
## Choice of method
|
||||||
choise_of_method=${GRUB_BTRFS_SUBMENUNAME:-"1"}
|
choise_of_method=${GRUB_BTRFS_METHOD:-"1"}
|
||||||
## Submenu name
|
## Submenu name
|
||||||
submenuname=${GRUB_BTRFS_SUBMENUNAME:-"ArchLinux Snapshots"}
|
submenuname=${GRUB_BTRFS_SUBMENUNAME:-"ArchLinux Snapshots"}
|
||||||
## Prefix entry
|
## Prefix entry
|
||||||
prefixentry=${GRUB_BTRFS_PREFIXENTRY:-"Snapshot:"}
|
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)
|
## Kernel(s) name(s)
|
||||||
nkernel=("${GRUB_BTRFS_NKERNEL[@]}")
|
nkernel=("${GRUB_BTRFS_NKERNEL[@]}")
|
||||||
## Initramfs name(s)
|
## Initramfs name(s)
|
||||||
ninit=("${GRUB_BTRFS_NINIT[@]}")
|
ninit=("${GRUB_BTRFS_NINIT[@]}")
|
||||||
## Microcode(s) name(s)
|
## Microcode(s) name(s)
|
||||||
microcode=("${GRUB_BTRFS_INTEL_UCODE[@]:-intel-ucode.img}")
|
microcode=("${GRUB_BTRFS_INTEL_UCODE[@]}")
|
||||||
|
|
||||||
########################
|
########################
|
||||||
### variables script ###
|
### variables script ###
|
||||||
@@ -90,7 +101,6 @@ boot_dir()
|
|||||||
boot_dir="$gbgmp/$snap_dir_name/boot"
|
boot_dir="$gbgmp/$snap_dir_name/boot"
|
||||||
[[ "$root_uuid" != "$boot_uuid" ]] && boot_dir="/boot"
|
[[ "$root_uuid" != "$boot_uuid" ]] && boot_dir="/boot"
|
||||||
echo "$boot_dir"
|
echo "$boot_dir"
|
||||||
if [ -d ${boot_dir} ]; then boot_dir_real_path="$(make_system_path_relative_to_its_root "$boot_dir")"; fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -104,11 +114,14 @@ boot_dir()
|
|||||||
snapshots_entry()
|
snapshots_entry()
|
||||||
{
|
{
|
||||||
## \" required for snap,kernels,init,microcode with space in their name
|
## \" required for snap,kernels,init,microcode with space in their name
|
||||||
echo " submenu '${1} ${2} ${3}' {"
|
echo " submenu '"${title_menu[*]}"' {
|
||||||
for k in "${name_kernel[@]}"; do
|
submenu '---> "${title_menu[*]}" <---' { echo }
|
||||||
for i in "${name_initramfs[@]}"; do
|
"
|
||||||
echo "\
|
for k in "${name_kernel[@]}"; do
|
||||||
menuentry '${2} with "${k}" & "${i}"' ${CLASS} "\$menuentry_id_option" 'gnulinux-snapshots-$boot_uuid'{
|
for i in "${name_initramfs[@]}"; do
|
||||||
|
for u in "${name_microcode[@]}"; do
|
||||||
|
echo "\
|
||||||
|
menuentry '"${k}" & "${i}"' ${CLASS} "\$menuentry_id_option" 'gnulinux-snapshots-$boot_uuid'{
|
||||||
$(save_default_entry)
|
$(save_default_entry)
|
||||||
if [ x\$feature_all_video_module = xy ]; then
|
if [ x\$feature_all_video_module = xy ]; then
|
||||||
insmod all_video
|
insmod all_video
|
||||||
@@ -120,20 +133,23 @@ snapshots_entry()
|
|||||||
else
|
else
|
||||||
search --no-floppy --fs-uuid --set=root ${boot_uuid}
|
search --no-floppy --fs-uuid --set=root ${boot_uuid}
|
||||||
fi
|
fi
|
||||||
echo 'Loading Snapshot: "${snap_dir_name}" "${snap_date_time}"'
|
echo 'Loading Snapshot: "${snap_date_time}" "${snap_dir_name}"'
|
||||||
echo 'Loading Kernel: "${k}" ...'
|
echo 'Loading Kernel: "${k}" ...'
|
||||||
linux \"${boot_dir_real_path}/"${k}"\" root=UUID=${root_uuid} rw rootflags=subvol=\""${snap_dir_name}"\" ${kernel_parameters}
|
linux \"${boot_dir_real_path}/"${k}"\" root=UUID=${root_uuid} rw rootflags=subvol=\""${snap_dir_name}"\" ${kernel_parameters}\
|
||||||
echo 'Loading Initramfs: "${i}" ...'"
|
"
|
||||||
if [ -f "/${boot_dir_real_path}/"${microcode}"" ] ; then
|
if [ -f "$(boot_dir)"/"${u}" ] ; then
|
||||||
echo "\
|
echo "\
|
||||||
initrd \"${boot_dir_real_path}/"${microcode}"\" initrd \"/${snap_dir_name}/boot/"${i}"\""
|
echo 'Loading Microcode & Initramfs: "${u}" "${i}" ...'
|
||||||
else
|
initrd \"${boot_dir_real_path}/"${u}"\" \"${boot_dir_real_path}/"${i}"\""
|
||||||
echo "\
|
else
|
||||||
|
echo "\
|
||||||
|
echo 'Loading Initramfs: "${i}" ...'
|
||||||
initrd \"${boot_dir_real_path}/"${i}"\""
|
initrd \"${boot_dir_real_path}/"${i}"\""
|
||||||
fi
|
fi
|
||||||
echo " }"
|
echo " }"
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
|
done
|
||||||
echo " }"
|
echo " }"
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -145,45 +161,91 @@ snapshot_list()
|
|||||||
snap=($snap)
|
snap=($snap)
|
||||||
local snap_path_name=${snap[@]:13:${#snap[@]}}
|
local snap_path_name=${snap[@]:13:${#snap[@]}}
|
||||||
# Discard deleted snapshots
|
# Discard deleted snapshots
|
||||||
if [ $snap_path_name = "DELETED" ]; then continue; fi
|
if [ "$snap_path_name" = "DELETED" ]; then continue; fi
|
||||||
[[ ${snap_path_name%%"/"*} == "<FS_TREE>" ]] && snap_path_name=${snap_path_name#*"/"}
|
[[ ${snap_path_name%%"/"*} == "<FS_TREE>" ]] && snap_path_name=${snap_path_name#*"/"}
|
||||||
echo ${snap[@]:10:2} ${snap_path_name}
|
echo ${snap[@]:10:2} ${snap_path_name}
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
## Detect kernels in "/boot"
|
||||||
detect_kernel()
|
detect_kernel()
|
||||||
{
|
{
|
||||||
## Arch original kernel (auto-detect)
|
## Arch original kernel (auto-detect)
|
||||||
for akernel in $(boot_dir)/vmlinuz-* ; do
|
for akernel in "$(boot_dir)"/vmlinuz-* ; do
|
||||||
list_kernel+=("$akernel")
|
list_kernel+=("$akernel")
|
||||||
done
|
done
|
||||||
|
|
||||||
## Custom name kernel in GRUB_BTRFS_NKERNEL
|
## Custom name kernel in GRUB_BTRFS_NKERNEL
|
||||||
if [ ! -z ${nkernel} ] ; then
|
if [ ! -z "${nkernel}" ] ; then
|
||||||
for ckernel in "${nkernel[@]}" ; do
|
for ckernel in "${nkernel[@]}" ; do
|
||||||
[[ ! -f /$(boot_dir)/${ckernel} ]] && continue;
|
[[ ! -f /"$(boot_dir)"/"${ckernel}" ]] && continue;
|
||||||
list_kernel+=("$ckernel")
|
list_kernel+=("$ckernel")
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
## Detect initramfs in "/boot"
|
||||||
detect_initramfs()
|
detect_initramfs()
|
||||||
{
|
{
|
||||||
## Arch original initramfs (auto-detect)
|
## Arch original initramfs (auto-detect)
|
||||||
for ainitramfs in $(boot_dir)/initramfs-* ; do
|
for ainitramfs in "$(boot_dir)"/initramfs-* ; do
|
||||||
list_initramfs+=("$ainitramfs")
|
list_initramfs+=("$ainitramfs")
|
||||||
done
|
done
|
||||||
|
|
||||||
## Custom name initramfs in GRUB_BTRFS_NINIT
|
## Custom name initramfs in GRUB_BTRFS_NINIT
|
||||||
if [ ! -z ${ninit} ] ; then
|
if [ ! -z "$ninit" ] ; then
|
||||||
for cinitramfs in "${ninit[@]}" ; do
|
for cinitramfs in "${ninit[@]}" ; do
|
||||||
[[ ! -f /$(boot_dir)/${ninit} ]] && continue;
|
[[ ! -f /"$(boot_dir)"/"${cinitramfs}" ]] && continue;
|
||||||
list_initramfs+=("$ninit")
|
list_initramfs+=("$cinitramfs")
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
## List of kernels and initramfs in snapshots
|
## Detect microcode in "/boot"
|
||||||
|
detect_microcode()
|
||||||
|
{
|
||||||
|
## Arch original intel microcode
|
||||||
|
for aucode in "$(boot_dir)"/intel-ucode.img ; do
|
||||||
|
list_ucode+=("$aucode")
|
||||||
|
done
|
||||||
|
|
||||||
|
## Custom name microcode in GRUB_BTRFS_INTEL_UCODE
|
||||||
|
if [ ! -z "$microcode" ] ; then
|
||||||
|
for cucode in "${microcode[@]}" ; do
|
||||||
|
[[ ! -f /"$(boot_dir)"/"${cucode}" ]] && continue
|
||||||
|
list_ucode+=("$cucode")
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
## Show full path snapshot or only name
|
||||||
|
path_snapshot()
|
||||||
|
{
|
||||||
|
case "${path_snapshot}" in
|
||||||
|
true) name_snapshot=("${snap_dir_name}");;
|
||||||
|
*) name_snapshot=("${snap_dir_name#*"/"}")
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
## Title format in grub-menu
|
||||||
|
title_format()
|
||||||
|
{
|
||||||
|
case "${title_format}" in
|
||||||
|
p/d/n) title_menu=("${prefixentry}" "${snap_date_time}" "${name_snapshot}");;
|
||||||
|
p/n/d) title_menu=("${prefixentry}" "${snap_dir_name}" "${snap_date_time}");;
|
||||||
|
p/d) title_menu=("${prefixentry}" "${snap_date_time}");;
|
||||||
|
p/n) title_menu=("${prefixentry}" "${snap_dir_name}");;
|
||||||
|
d/n) title_menu=("${snap_date_time}" "${snap_dir_name}");;
|
||||||
|
n/d) title_menu=("${snap_dir_name}" "${snap_date_time}");;
|
||||||
|
p) title_menu=("${prefixentry}");;
|
||||||
|
d) title_menu=("${snap_date_time}");;
|
||||||
|
n) title_menu=("${snap_dir_name}");;
|
||||||
|
*) gettext_printf $"# Warning: GRUB_BTRFS_TITLE_FORMAT=${title_format}, syntax error \n" >&2
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
## List of kernels, initramfs and microcode in snapshots
|
||||||
list_kernels_initramfs()
|
list_kernels_initramfs()
|
||||||
{
|
{
|
||||||
IFS=$'\n'
|
IFS=$'\n'
|
||||||
@@ -193,7 +255,7 @@ list_kernels_initramfs()
|
|||||||
snap_dir_name=${item[@]:2:${#item[@]}}
|
snap_dir_name=${item[@]:2:${#item[@]}}
|
||||||
[[ ! -d "$gbgmp/$snap_dir_name/boot" ]] && continue;
|
[[ ! -d "$gbgmp/$snap_dir_name/boot" ]] && continue;
|
||||||
snap_date_time=${item[@]:0:2}
|
snap_date_time=${item[@]:0:2}
|
||||||
gettext_printf $"# Found Snapshot: %s\n" "$snap_dir_name $snap_date_time" >&2 ;
|
gettext_printf $"# Found Snapshot: %s\n" "${snap_date_time} ${snap_dir_name}" >&2 ;
|
||||||
unset list_kernel
|
unset list_kernel
|
||||||
detect_kernel
|
detect_kernel
|
||||||
name_kernel=("${list_kernel[@]##*"/"}")
|
name_kernel=("${list_kernel[@]##*"/"}")
|
||||||
@@ -202,8 +264,18 @@ list_kernels_initramfs()
|
|||||||
detect_initramfs
|
detect_initramfs
|
||||||
name_initramfs=("${list_initramfs[@]##*"/"}")
|
name_initramfs=("${list_initramfs[@]##*"/"}")
|
||||||
# echo "initramfs = ${name_initramfs[*]}"
|
# echo "initramfs = ${name_initramfs[*]}"
|
||||||
# Create menu entries
|
unset list_ucode
|
||||||
snapshots_entry "${prefixentry}" "${snap_dir_name}" "${snap_date_time}"
|
detect_microcode
|
||||||
|
name_microcode=("${list_ucode[@]##*"/"}")
|
||||||
|
# echo "ucode = ${name_microcode[*]}"
|
||||||
|
boot_dir_real_path="$(make_system_path_relative_to_its_root "$(boot_dir)")"
|
||||||
|
## Create menu entries
|
||||||
|
# name snpashot
|
||||||
|
path_snapshot
|
||||||
|
# title menu custom
|
||||||
|
title_format
|
||||||
|
# echo "${title_menu[*]}"
|
||||||
|
snapshots_entry
|
||||||
done
|
done
|
||||||
IFS=$oldIFS
|
IFS=$oldIFS
|
||||||
}
|
}
|
||||||
|
|||||||
50
README.md
50
README.md
@@ -1,3 +1,5 @@
|
|||||||
|
[](https://github.com/Antynea/grub-btrfs)
|
||||||
|
|
||||||
### grub-btrfs
|
### grub-btrfs
|
||||||
|
|
||||||
|
|
||||||
@@ -11,31 +13,59 @@ grub-btrfs, Include btrfs snapshots at boot options. (grub menu)
|
|||||||
|
|
||||||
Simple rollback using snapshots you made previously.
|
Simple rollback using snapshots you made previously.
|
||||||
|
|
||||||
- Automatically List snapshots existing on root partition (btrfs).
|
* Automatically List snapshots existing on root partition (btrfs).
|
||||||
- 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 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:
|
#### How to use it:
|
||||||
|
|
||||||
Add this lines to /etc/default/grub:
|
Add this lines to /etc/default/grub:
|
||||||
|
|
||||||
* GRUB_BTRFS_SUBMENUNAME="ArchLinux Snapshots" (Name menu appearing in grub.)
|
* GRUB_BTRFS_SUBMENUNAME="ArchLinux Snapshots"
|
||||||
* GRUB_BTRFS_PREFIXENTRY="Snapshot:" (Add a name ahead your snapshots entries.)
|
|
||||||
* GRUB_BTRFS_NKERNEL=("vmlinuz-linux") (Use only if you have custom kernel name or auto-detect failed.)
|
(Name menu appearing in grub.)
|
||||||
* 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_PREFIXENTRY="Snapshot:"
|
||||||
|
|
||||||
|
(Add a name ahead your snapshots entries.)
|
||||||
|
|
||||||
|
* GRUB_BTRFS_DISPLAY_PATH_SNAPSHOT="true"
|
||||||
|
|
||||||
|
(Show full path snapshot or only name)
|
||||||
|
|
||||||
|
* GRUB_BTRFS_TITLE_FORMAT="p/d/n"
|
||||||
|
|
||||||
|
(Custom title, shows/hides p"prefix" d"date" n"name" in grub-menu, separator "/", custom order available)
|
||||||
|
|
||||||
|
* 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.)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Generate grub.cfg (on Archlinux use grub-mkconfig -o /boot/grub/grub.cfg )
|
Generate grub.cfg (on Archlinux use grub-mkconfig -o /boot/grub/grub.cfg )
|
||||||
|
|
||||||
grub-btrfs automatically generates snapshots entries.
|
grub-btrfs automatically generates snapshots entries.
|
||||||
|
|
||||||
You will see it appear differents entries (e.g : Snapshot: my snapshot name overkill [2014-02-12 11:24:37])
|
You will see it appear differents entries (e.g : Snapshot: [2014-02-12 11:24:37] my snapshot name overkill )
|
||||||
|
|
||||||
|
|
||||||
#### TO DO
|
#### TO DO
|
||||||
|
|
||||||
* verify compatibility with manjaro and snapper (but I don't use them, so it will take some time)
|
* Display name of microcode in menuentry when available
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user