mirror of
https://github.com/Antynea/grub-btrfs.git
synced 2026-03-04 21:15:02 +08:00
Compare commits
4 Commits
feature/ub
...
improve-co
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1d33404c78 | ||
|
|
f131c38300 | ||
|
|
934ab213b0 | ||
|
|
f0ed56d242 |
@@ -92,7 +92,7 @@ grub_directory=${GRUB_BTRFS_GRUB_DIRNAME:-"/boot/grub"}
|
||||
## Customize BOOT directory, where kernels/initrams/microcode is saved.
|
||||
boot_directory=${GRUB_BTRFS_BOOT_DIRNAME:-"/boot"}
|
||||
## Customize GRUB-BTRFS.cfg directory, where "grub-btrfs.cfg" file is saved
|
||||
grub_btrfs_directory=${GRUB_BTRFS_GBTRFS_DIRNAME:-"/boot/grub"}
|
||||
grub_btrfs_directory=${GRUB_BTRFS_GBTRFS_DIRNAME:-${grub_directory}}
|
||||
## Customize directory where "grub-btrfs.cfg" file is searched for by grub
|
||||
grub_btrfs_search_directory=${GRUB_BTRFS_GBTRFS_SEARCH_DIRNAME:-"\${prefix}"}
|
||||
## Password protection management for submenu
|
||||
@@ -121,7 +121,7 @@ boot_hs=$(${grub_probe} --device ${boot_device} --target="hints_string" 2>/dev/n
|
||||
boot_fs=$(${grub_probe} --device ${boot_device} --target="fs" 2>/dev/null) # Type filesystem of boot device
|
||||
|
||||
## Parameters passed to the kernel
|
||||
kernel_parameters="$GRUB_CMDLINE_LINUX $GRUB_CMDLINE_LINUX_DEFAULT"
|
||||
kernel_parameters="$GRUB_CMDLINE_LINUX $GRUB_CMDLINE_LINUX_DEFAULT $GRUB_BTRFS_SNAPSHOT_KERNEL_PARAMETERS"
|
||||
## Mount point location
|
||||
grub_btrfs_mount_point=$(mktemp -dt grub-btrfs.XXXXXXXXXX)
|
||||
## Class for theme
|
||||
|
||||
28
Makefile
28
Makefile
@@ -2,7 +2,6 @@ PKGNAME ?= grub-btrfs
|
||||
PREFIX ?= /usr
|
||||
|
||||
INITCPIO ?= false
|
||||
MKINITRAMFS ?= false
|
||||
SYSTEMD ?= true
|
||||
OPENRC ?= false
|
||||
|
||||
@@ -60,11 +59,6 @@ install:
|
||||
install -Dm644 "initramfs/Arch Linux/overlay_snap_ro-install" "$(LIB_DIR)/initcpio/install/grub-btrfs-overlayfs"; \
|
||||
install -Dm644 "initramfs/Arch Linux/overlay_snap_ro-hook" "$(LIB_DIR)/initcpio/hooks/grub-btrfs-overlayfs"; \
|
||||
fi
|
||||
@# Ubuntu like distros only :
|
||||
@if test "$(MKINITRAMFS)" = true; then \
|
||||
echo "Installing mkinitramfs hook"; \
|
||||
initramfs/ubuntu/setup install; \
|
||||
fi
|
||||
@install -Dm644 -t "$(SHARE_DIR)/licenses/$(PKGNAME)/" LICENSE
|
||||
@install -Dm644 -t "$(SHARE_DIR)/doc/$(PKGNAME)/" README.md
|
||||
@install -Dm644 "initramfs/readme.md" "$(SHARE_DIR)/doc/$(PKGNAME)/initramfs-overlayfs.md"
|
||||
@@ -86,7 +80,6 @@ uninstall:
|
||||
@rm -f "$(DESTDIR)/etc/conf.d/grub-btrfsd;"
|
||||
@rm -f "$(LIB_DIR)/initcpio/install/grub-btrfs-overlayfs"
|
||||
@rm -f "$(LIB_DIR)/initcpio/hooks/grub-btrfs-overlayfs"
|
||||
@initramfs/ubuntu/setup uninstall || true
|
||||
@rm -f "$(MAN_DIR)/man8/grub-btrfs.8.bz2"
|
||||
@rm -f "$(MAN_DIR)/man8/grub-btrfsd.8.bz2"
|
||||
@# Arch Linux UNlike distros only :
|
||||
@@ -115,15 +108,14 @@ help:
|
||||
@echo " uninstall"
|
||||
@echo " help"
|
||||
@echo
|
||||
@echo " parameter | type | description | defaults"
|
||||
@echo " ------------+------+--------------------------------+----------------------------"
|
||||
@echo " DESTDIR | path | install destination | <unset>"
|
||||
@echo " PREFIX | path | system tree prefix | '/usr'"
|
||||
@echo " SHARE_DIR | path | shared data location | '\$$(DESTDIR)\$$(PREFIX)/share'"
|
||||
@echo " LIB_DIR | path | system libraries location | '\$$(DESTDIR)\$$(PREFIX)/lib'"
|
||||
@echo " PKGNAME | name | name of the ditributed package | 'grub-btrfs'"
|
||||
@echo " INITCPIO | bool | include mkinitcpio hook | false"
|
||||
@echo " MKINITRAMFS | bool | include mkinitramfs hook | false"
|
||||
@echo " SYSTEMD | bool | include unit files | true"
|
||||
@echo " OPENRC | bool | include OpenRc daemon | false"
|
||||
@echo " parameter | type | description | defaults"
|
||||
@echo " ----------+------+--------------------------------+----------------------------"
|
||||
@echo " DESTDIR | path | install destination | <unset>"
|
||||
@echo " PREFIX | path | system tree prefix | '/usr'"
|
||||
@echo " SHARE_DIR | path | shared data location | '\$$(DESTDIR)\$$(PREFIX)/share'"
|
||||
@echo " LIB_DIR | path | system libraries location | '\$$(DESTDIR)\$$(PREFIX)/lib'"
|
||||
@echo " PKGNAME | name | name of the ditributed package | 'grub-btrfs'"
|
||||
@echo " INITCPIO | bool | include mkinitcpio hook | false"
|
||||
@echo " SYSTEMD | bool | include unit files | true"
|
||||
@echo " OPENRC | bool | include OpenRc daemon | false"
|
||||
@echo
|
||||
|
||||
15
config
15
config
@@ -1,6 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
GRUB_BTRFS_VERSION=4.12-master-2022-12-10T21:20:15+00:00
|
||||
|
||||
GRUB_BTRFS_VERSION=4.12-improve-config-2022-12-06T22:10:24+00:00
|
||||
|
||||
# Disable grub-btrfs.
|
||||
# Default: "false"
|
||||
@@ -48,6 +49,13 @@ GRUB_BTRFS_VERSION=4.12-master-2022-12-10T21:20:15+00:00
|
||||
# Default: ("")
|
||||
#GRUB_BTRFS_CUSTOM_MICROCODE=("custom-ucode.img" "custom-uc.img "custom_ucode.cpio")
|
||||
|
||||
# Additonal kernel command line parameters that should be passed to the kernel
|
||||
# when booting a snapshot.
|
||||
# For dracut based distros this could be useful to pass "rd.live.overlay.overlayfs=1"
|
||||
# or "rd.live.overlay.readonly=1" to the Kernel for booting snapshots read only.
|
||||
# Default: ""
|
||||
#GRUB_BTRFS_SNAPSHOT_KERNEL_PARAMETERS="rd.live.overlay.overlayfs=1"
|
||||
|
||||
# Comma seperated mount options to be used when booting a snapshot.
|
||||
# They can be defined here as well as in the "/" line inside the respective snapshots'
|
||||
# "/etc/fstab" files. Mount options found in both places are combined, and this variable
|
||||
@@ -88,7 +96,6 @@ GRUB_BTRFS_IGNORE_PREFIX_PATH=("var/lib/docker" "@var/lib/docker" "@/var/lib/doc
|
||||
#GRUB_BTRFS_OVERRIDE_BOOT_PARTITION_DETECTION="true"
|
||||
|
||||
# Location of the folder containing the "grub.cfg" file.
|
||||
# Use by grub-btrfs to save the file "grub-btrfs.cfg".
|
||||
# Might be grub2 on some systems.
|
||||
# For example, on Fedora with EFI : "/boot/efi/EFI/fedora"
|
||||
# Default: "/boot/grub"
|
||||
@@ -100,10 +107,10 @@ GRUB_BTRFS_IGNORE_PREFIX_PATH=("var/lib/docker" "@var/lib/docker" "@/var/lib/doc
|
||||
#GRUB_BTRFS_BOOT_DIRNAME="/boot"
|
||||
|
||||
# Location where grub-btrfs.cfg should be saved.
|
||||
# Some distributions (like OpenSuSE) store those file at the snapshot directory
|
||||
# Some distributions (like OpenSuSE) store those files at the snapshot directory
|
||||
# instead of boot. Be aware that this direcory must be available for grub during
|
||||
# startup of the system.
|
||||
# Default: "/boot/grub"
|
||||
# Default: $GRUB_BTRFS_GRUB_DIRNAME
|
||||
#GRUB_BTRFS_GBTRFS_DIRNAME="/boot/grub"
|
||||
|
||||
# Location of the directory where Grub searches for the grub-btrfs.cfg file.
|
||||
|
||||
@@ -39,14 +39,11 @@ You notice that the name of the `hook` must match the name of the 2 installed fi
|
||||
Re-generate your initramfs
|
||||
`mkinitcpio -P` (option -P means, all preset present in `/etc/mkinitcpio.d`)
|
||||
|
||||
#### Ubuntu
|
||||
Install initramfs scripts & re-generate initramfs.
|
||||
|
||||
``` shell
|
||||
sudo initramfs/ubuntu/setup install
|
||||
```
|
||||
#### Dracut based distros
|
||||
Distributions that use Dracut to make their initramfs (many of the Fedora based Distros) simply have to pass either `rd.live.overlay.readonly=1` (to boot into the snapshot read only) or `rd.live.overlay.overlayfs=1` (to act like a livedisk, that is files can be changed but changes will be lost on the next boot) to their kernel command line in grub.
|
||||
Grub-btrfs provides the variable `GRUB_BTRFS_SNAPSHOT_KERNEL_PARAMETERS` to add any command to the kernel command line. Set it to `GRUB_BTRFS_SNAPSHOT_KERNEL_PARAMETERS="rd.live.overlay.overlayfs=1"` to make snapshots immutable when booted into.
|
||||
After changing this run `sudo /etc/grub.d/41_snapshots-btrfs` to generate a new snapshot-submenu with the parameter added.
|
||||
|
||||
#### Other distribution
|
||||
Refer to your distribution's documentation
|
||||
or contribute to this project to add a paragraph.
|
||||
Refer to your distribution's documentation or contribute to this project to add a paragraph.
|
||||
#
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
#!/bin/sh -e
|
||||
PREREQ=
|
||||
prereqs() {
|
||||
echo "$PREREQ"
|
||||
}
|
||||
case "$1" in
|
||||
prereqs)
|
||||
prereqs
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
|
||||
. /usr/share/initramfs-tools/hook-functions
|
||||
manual_add_modules overlay
|
||||
copy_exec /usr/bin/findmnt /usr/bin
|
||||
@@ -1,32 +0,0 @@
|
||||
#!/bin/sh -e
|
||||
PREREQ=
|
||||
prereqs() {
|
||||
echo "$PREREQ"
|
||||
}
|
||||
case $1 in
|
||||
prereqs)
|
||||
prereqs
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
|
||||
. /scripts/functions
|
||||
on_err() {
|
||||
log_failure_msg 'error setting up overlay'
|
||||
}
|
||||
trap on_err ERR
|
||||
if [ -x /usr/bin/btrfs -a -x /usr/bin/findmnt ] &&
|
||||
[ "$(findmnt -no FSTYPE -M "$rootmnt")" = btrfs ] &&
|
||||
[ "$(btrfs property get $rootmnt ro)" != ro=false ]
|
||||
then
|
||||
log_begin_msg 'remount read-only subvolume as read-only layer in non-persistent, writable overlay'
|
||||
trap log_end_msg EXIT
|
||||
lower_dir="$(mktemp -dp /)"
|
||||
ram_dir="$(mktemp -dp /)"
|
||||
upper_dir="$ram_dir"/upper
|
||||
work_dir="$ram_dir"/work
|
||||
mount --move "$rootmnt" "$lower_dir"
|
||||
mount -t tmpfs cowspace "$ram_dir"
|
||||
mkdir -p "$upper_dir" "$work_dir"
|
||||
mount -t overlay -o lowerdir="$lower_dir",upperdir="$upper_dir",workdir="$work_dir" rootfs "$rootmnt"
|
||||
fi
|
||||
@@ -1,70 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
log() {
|
||||
local CODE=$?
|
||||
echo >&2 "$*"
|
||||
return $CODE
|
||||
}
|
||||
print-help() {
|
||||
log "\
|
||||
usage: ${0##*/} [-h] [--] (install|uninstall)
|
||||
Install initramfs scripts for Ubuntu.
|
||||
|
||||
# Options
|
||||
-h display this help & exit
|
||||
|
||||
# Subcommands
|
||||
install install initramfs scripts
|
||||
uninstall remove initramfs scripts"
|
||||
}
|
||||
usage-error() {
|
||||
print-help
|
||||
exit 2
|
||||
}
|
||||
action-install() {
|
||||
local SCRIPT_DIR="$(cd -P -- "$(dirname -- "$BASH_SOURCE")" && pwd)"
|
||||
install {"$SCRIPT_DIR",/etc/initramfs-tools}/hooks/grub-btrfs-overlay
|
||||
install {"$SCRIPT_DIR",/etc/initramfs-tools}/scripts/local-bottom/grub-btrfs-overlay
|
||||
}
|
||||
action-uninstall() {
|
||||
rm -f /etc/initramfs-tools/{hooks,scripts/local-bottom}/grub-btrfs-overlay
|
||||
}
|
||||
set -e
|
||||
while getopts h OPT
|
||||
do case "$OPT" in
|
||||
h)
|
||||
print-help
|
||||
exit
|
||||
;;
|
||||
*)
|
||||
usage-error
|
||||
esac done
|
||||
shift $(( OPTIND - 1 ))
|
||||
OPTIND=1
|
||||
ACTION=
|
||||
case "$#" in
|
||||
0)
|
||||
log event: a subcommand is required
|
||||
usage-error
|
||||
;;
|
||||
1)
|
||||
case "$1" in
|
||||
install|uninstall)
|
||||
ACTION="action-$1"
|
||||
;;
|
||||
*)
|
||||
log "\
|
||||
event: unknown subcommand
|
||||
subcommand: $1"
|
||||
usage-error
|
||||
esac
|
||||
;;
|
||||
*)
|
||||
log "\
|
||||
event: too many arguments
|
||||
arguments: $*"
|
||||
usage-error
|
||||
esac
|
||||
"$ACTION" || log "\
|
||||
event: execution failure
|
||||
suggestion: rerun with sudo"
|
||||
exec update-initramfs -u
|
||||
@@ -1,4 +1,4 @@
|
||||
.TH "grub-btrfs" "8"
|
||||
.TH "grub-btrfs" "8"
|
||||
|
||||
.SH "NAME"
|
||||
.PP
|
||||
@@ -114,6 +114,17 @@ Example: \fCGRUB_BTRFS_NKERNEL=("kernel\-5.19.4\-custom" "vmlinux\-5.19.4\-custo
|
||||
\fCGRUB_BTRFS_NINIT=("initramfs\-5.19.4\-custom.img" "initrd\-5.19.4\-custom.img" "otherinit\-5.19.4\-custom.gz")\fP
|
||||
\fCGRUB_BTRFS_CUSTOM_MICROCODE=("custom\-ucode.img" "custom\-uc.img "custom_ucode.cpio")\fP
|
||||
|
||||
.SS "\fCGRUB_BTRFS_SNAPSHOT_KERNEL_PARAMETERS\fP"
|
||||
.PP
|
||||
Additonal kernel command line parameters that should be passed to the kernelwhen
|
||||
booting a snapshot.
|
||||
For dracut based distros this could be useful to pass “rd.live.overlay.overlayfs=1”
|
||||
or “rd.live.overlay.readonly=1” to the Kernel for booting read only snapshots.
|
||||
.IP \(em 4
|
||||
Default: “”
|
||||
.IP \(em 4
|
||||
Example: \fCGRUB_BTRFS_SNAPSHOT_KERNEL_PARAMETERS="rd.live.overlay.overlayfs=1"\fP
|
||||
|
||||
.SS "SNAPSHOT FILTERING"
|
||||
.SS "\fCGRUB_BTRFS_IGNORE_SPECIFIC_PATH\fP"
|
||||
.PP
|
||||
@@ -168,7 +179,6 @@ Example: \fCGRUB_BTRFS_BOOT_DIRNAME="/"\fP
|
||||
.SS "\fCGRUB_BTRFS_GRUB_DIRNAME\fP"
|
||||
.PP
|
||||
Location of the folder containing the “grub.cfg” file.
|
||||
Used by grub-btrfs to save the file “grub-btrfs.cfg”.
|
||||
Might be grub2 on some systems.
|
||||
For example, on Fedora with EFI : “/boot/efi/EFI/fedora”
|
||||
.IP \(em 4
|
||||
@@ -183,9 +193,9 @@ Some distributions (like OpenSuSE) store those file at the snapshot directory
|
||||
instead of boot. Be aware that this direcory must be available for grub during
|
||||
startup of the system.
|
||||
.IP \(em 4
|
||||
Default: “/boot/grub”
|
||||
Default: \fC$GRUB_BTRFS_GRUB_DIRNAME\fP
|
||||
.IP \(em 4
|
||||
Example GRUB\d\s-2BTRFS\s+2\u\d\s-2GBTRFS\s+2\u\d\s-2DIRNAME\s+2\u=“/boot/grub”
|
||||
Example: \fCGRUB_BTRFS_GBTRFS_DIRNAME="/.snapshots"\fP
|
||||
|
||||
.SS "\fCGRUB_BTRFS_GBTRFS_SEARCH_DIRNAME\fP"
|
||||
.PP
|
||||
@@ -202,8 +212,7 @@ NOTE: If variables of grub are used here like ${prefix}, they need to be escaped
|
||||
.PP
|
||||
with `$\` before the `$`
|
||||
.IP \(em 4
|
||||
Example: GRUB\d\s-2BTRFS\s+2\u\d\s-2GBTRFS\s+2\u\d\s-2SEARCH\s+2\u\d\s-2DIRNAME\s+2\u=“\${prefix}”
|
||||
|
||||
Example: \fCGRUB_BTRFS_GBTRFS_SEARCH_DIRNAME="\${prefix}"\fP
|
||||
|
||||
.SS "\fCGRUB_BTRFS_MKCONFIG\fP"
|
||||
.PP
|
||||
@@ -243,7 +252,9 @@ and this comment \fIhttps://github.com/Antynea/grub-btrfs/issues/95#issuecomment
|
||||
Add authorized usernames separate by comma (userfoo,userbar).
|
||||
When Grub’s password protection is enabled, the superuser is authorized by default, it is not necessary to add it
|
||||
.IP \(em 4
|
||||
Default: “- Example: \fCGRUB_BTRFS_PROTECTION_AUTHORIZED_USERS="userfoo,userbar"\fP
|
||||
Default: “”
|
||||
.IP \(em 4
|
||||
Example: \fCGRUB_BTRFS_PROTECTION_AUTHORIZED_USERS="userfoo,userbar"\fP
|
||||
|
||||
.SS "\fCGRUB_BTRFS_DISABLE_PROTECTION_SUBMENU\fP"
|
||||
.PP
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#+title: grub-btrfs
|
||||
#+author: Pascal Jaeger
|
||||
#+man_class_option: :sectionid 8
|
||||
#+MAN_CLASS_OPTIONS: :section-id "8"
|
||||
|
||||
* NAME
|
||||
grub-btrfs - Automatically add btrfs-Snapshots as a Grub submenu
|
||||
@@ -83,6 +83,14 @@ Customs kernel, initramfs and microcodes that are not detected can be added in t
|
||||
~GRUB_BTRFS_NINIT=("initramfs-5.19.4-custom.img" "initrd-5.19.4-custom.img" "otherinit-5.19.4-custom.gz")~
|
||||
~GRUB_BTRFS_CUSTOM_MICROCODE=("custom-ucode.img" "custom-uc.img "custom_ucode.cpio")~
|
||||
|
||||
*** ~GRUB_BTRFS_SNAPSHOT_KERNEL_PARAMETERS~
|
||||
Additonal kernel command line parameters that should be passed to the kernelwhen
|
||||
booting a snapshot.
|
||||
For dracut based distros this could be useful to pass "rd.live.overlay.overlayfs=1"
|
||||
or "rd.live.overlay.readonly=1" to the Kernel for booting read only snapshots.
|
||||
- Default: ""
|
||||
- Example: ~GRUB_BTRFS_SNAPSHOT_KERNEL_PARAMETERS="rd.live.overlay.overlayfs=1"~
|
||||
|
||||
** SNAPSHOT FILTERING
|
||||
|
||||
*** ~GRUB_BTRFS_IGNORE_SPECIFIC_PATH~
|
||||
@@ -123,7 +131,6 @@ Used by "grub-btrfs" to detect the boot partition and the location of kernels, i
|
||||
|
||||
*** ~GRUB_BTRFS_GRUB_DIRNAME~
|
||||
Location of the folder containing the "grub.cfg" file.
|
||||
Used by grub-btrfs to save the file "grub-btrfs.cfg".
|
||||
Might be grub2 on some systems.
|
||||
For example, on Fedora with EFI : "/boot/efi/EFI/fedora"
|
||||
- Default: "/boot/grub"
|
||||
@@ -134,8 +141,8 @@ For example, on Fedora with EFI : "/boot/efi/EFI/fedora"
|
||||
Some distributions (like OpenSuSE) store those file at the snapshot directory
|
||||
instead of boot. Be aware that this direcory must be available for grub during
|
||||
startup of the system.
|
||||
- Default: "/boot/grub"
|
||||
- Example GRUB_BTRFS_GBTRFS_DIRNAME="/boot/grub"
|
||||
- Default: ~$GRUB_BTRFS_GRUB_DIRNAME~
|
||||
- Example: ~GRUB_BTRFS_GBTRFS_DIRNAME="/.snapshots"~
|
||||
|
||||
*** ~GRUB_BTRFS_GBTRFS_SEARCH_DIRNAME~
|
||||
Location of the directory where Grub searches for the grub-btrfs.cfg file.
|
||||
@@ -146,11 +153,13 @@ startup of the system.
|
||||
installed. (like /boot/grub, /boot/efi/grub))
|
||||
- NOTE: If variables of grub are used here like ${prefix}, they need to be escaped
|
||||
with `\` before the `$`
|
||||
- Example: GRUB_BTRFS_GBTRFS_SEARCH_DIRNAME="\${prefix}"
|
||||
|
||||
- Example: ~GRUB_BTRFS_GBTRFS_SEARCH_DIRNAME="\${prefix}"~
|
||||
|
||||
*** ~GRUB_BTRFS_MKCONFIG~
|
||||
Name/path of the command to generate the grub menu, used by "grub-btrfs.service"
|
||||
Name/path of the command to generate the grub menu, used by
|
||||
#+BEGIN_MAN
|
||||
.BR grub-btrfsd (8)
|
||||
#+END_MAN
|
||||
Might be 'grub2-mkconfig' on some systems (e.g. Fedora)
|
||||
Default paths are /sbin:/bin:/usr/sbin:/usr/bin, if your path is missing, report it on the upstream project.
|
||||
You can use the name of the command only or full the path.
|
||||
@@ -177,7 +186,8 @@ Refer to the Grub documentation https://www.gnu.org/software/grub/manual/grub/gr
|
||||
and this comment https://github.com/Antynea/grub-btrfs/issues/95#issuecomment-682295660
|
||||
Add authorized usernames separate by comma (userfoo,userbar).
|
||||
When Grub's password protection is enabled, the superuser is authorized by default, it is not necessary to add it
|
||||
- Default: "- Example: ~GRUB_BTRFS_PROTECTION_AUTHORIZED_USERS="userfoo,userbar"~
|
||||
- Default: ""
|
||||
- Example: ~GRUB_BTRFS_PROTECTION_AUTHORIZED_USERS="userfoo,userbar"~
|
||||
|
||||
*** ~GRUB_BTRFS_DISABLE_PROTECTION_SUBMENU~
|
||||
Disable authentication support for submenu of Grub-btrfs only (--unrestricted)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.TH "grub-btrfsd" "8"
|
||||
.TH "grub-btrfsd" "8"
|
||||
|
||||
.SH "NAME"
|
||||
.PP
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#+title: grub-btrfsd
|
||||
#+author: Pascal Jaeger
|
||||
#+man_class_option: :sectionid 8
|
||||
#+MAN_CLASS_OPTIONS: :section-id "8"
|
||||
|
||||
* NAME
|
||||
grub-btrfsd - An OpenRC daemon to automatically update the grub menu with
|
||||
|
||||
Reference in New Issue
Block a user