mirror of
https://github.com/Antynea/grub-btrfs.git
synced 2026-03-11 09:05:29 +08:00
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
615cbe9f3a | ||
|
|
2e58a2b74d | ||
|
|
4f725a8431 |
@@ -106,6 +106,7 @@ snapshots_entry()
|
|||||||
echo " submenu '${1} ${2} ${3}' {"
|
echo " submenu '${1} ${2} ${3}' {"
|
||||||
for k in "${name_kernel[@]}"; do
|
for k in "${name_kernel[@]}"; do
|
||||||
for i in "${name_initramfs[@]}"; do
|
for i in "${name_initramfs[@]}"; do
|
||||||
|
for u in "${name_microcode[@]}"; do
|
||||||
echo "\
|
echo "\
|
||||||
menuentry '${2} with "${k}" & "${i}"' ${CLASS} "\$menuentry_id_option" 'gnulinux-snapshots-$boot_uuid'{
|
menuentry '${2} with "${k}" & "${i}"' ${CLASS} "\$menuentry_id_option" 'gnulinux-snapshots-$boot_uuid'{
|
||||||
$(save_default_entry)
|
$(save_default_entry)
|
||||||
@@ -123,14 +124,15 @@ snapshots_entry()
|
|||||||
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}" ...'"
|
echo 'Loading Initramfs: "${i}" ...'"
|
||||||
if [ -f "$(boot_dir)/${microcode}" ] ; then
|
if [ -f "$(boot_dir)"/"${u}" ] ; then
|
||||||
echo "\
|
echo "\
|
||||||
initrd \"${boot_dir_real_path}/"${microcode}"\" initrd \"/"${snap_dir_name}"/boot/"${i}"\""
|
initrd \"${boot_dir_real_path}/"${u}"\" initrd \"/"${snap_dir_name}"/boot/"${i}"\""
|
||||||
else
|
else
|
||||||
echo "\
|
echo "\
|
||||||
initrd \"${boot_dir_real_path}/"${i}"\""
|
initrd \"${boot_dir_real_path}/"${i}"\""
|
||||||
fi
|
fi
|
||||||
echo " }"
|
echo " }"
|
||||||
|
done
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
echo " }"
|
echo " }"
|
||||||
@@ -182,7 +184,22 @@ detect_initramfs()
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
## List of kernels and initramfs in snapshots
|
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
|
||||||
|
}
|
||||||
|
## List of kernels, initramfs and microcode in snapshots
|
||||||
list_kernels_initramfs()
|
list_kernels_initramfs()
|
||||||
{
|
{
|
||||||
IFS=$'\n'
|
IFS=$'\n'
|
||||||
@@ -201,6 +218,10 @@ list_kernels_initramfs()
|
|||||||
detect_initramfs
|
detect_initramfs
|
||||||
name_initramfs=("${list_initramfs[@]##*"/"}")
|
name_initramfs=("${list_initramfs[@]##*"/"}")
|
||||||
# echo "initramfs = ${name_initramfs[*]}"
|
# echo "initramfs = ${name_initramfs[*]}"
|
||||||
|
unset list_ucode
|
||||||
|
detect_microcode
|
||||||
|
name_microcode=("${list_ucode[@]##*"/"}")
|
||||||
|
# echo "ucode = ${name_microcode[*]}"
|
||||||
boot_dir_real_path="$(make_system_path_relative_to_its_root "$(boot_dir)")"
|
boot_dir_real_path="$(make_system_path_relative_to_its_root "$(boot_dir)")"
|
||||||
# Create menu entries
|
# Create menu entries
|
||||||
snapshots_entry "${prefixentry}" "${snap_dir_name}" "${snap_date_time}"
|
snapshots_entry "${prefixentry}" "${snap_dir_name}" "${snap_date_time}"
|
||||||
|
|||||||
Reference in New Issue
Block a user