mirror of
https://github.com/Antynea/grub-btrfs.git
synced 2026-10-20 02:42:03 +08:00
grub-btrfsd: Merge openrc and systemd daemon
Fix #213, Fix #211, Fix #215
This commit is contained in:
@@ -0,0 +1,240 @@
|
||||
.TH "grub-btrfs" "8"
|
||||
|
||||
.SH "NAME"
|
||||
.PP
|
||||
grub-btrfs - Automatically add btrfs-Snapshots as a Grub submenu
|
||||
|
||||
.SH "SYNOPSIS"
|
||||
.PP
|
||||
/etc/grub.d/41\d\s-2snapshots\s+2\u-btrfs
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
Improves grub by adding “btrfs snapshots” to the grub menu.
|
||||
|
||||
.PP
|
||||
You can boot your system on a “snapshot” from the grub menu.
|
||||
Supports manual snapshots, snapper and timeshift.
|
||||
Features of grub-btrfs:
|
||||
.IP \(em 4
|
||||
Automatically list snapshots existing on root partition (btrfs).
|
||||
.IP \(em 4
|
||||
Automatically detect if /boot is in separate partition.
|
||||
.IP \(em 4
|
||||
Automatically detect kernel, initramfs and intel/amd microcode in /boot directory on snapshots.
|
||||
.IP \(em 4
|
||||
Automatically create corresponding “menuentry” in grub.cfg
|
||||
.IP \(em 4
|
||||
Automatically detect the type/tags and descriptions/comments of snapper/timeshift snapshots.
|
||||
.IP \(em 4
|
||||
Automatically generate grub.cfg if you use the provided systemd service.
|
||||
|
||||
.SH "CONFIGURATION"
|
||||
.PP
|
||||
grub-btrfs is configured via the file \fC/etc/default/grub\-btrfs/config\fP.
|
||||
Possible options are:
|
||||
|
||||
.SS "GENERAL"
|
||||
.SS "\fCGRUB_BTRFS_DISABLE\fP"
|
||||
.PP
|
||||
Disable grub-btrfs if true.
|
||||
.IP \(em 4
|
||||
Default: “false”
|
||||
.IP \(em 4
|
||||
Example: \fCGRUB_BTRFS_DISABLE="true"\fP
|
||||
|
||||
.SS "\fCGRUB_BTRFS_TITLE_FORMAT\fP"
|
||||
.PP
|
||||
The snapshot entries submenu in Grub are added according to this line. It is possible to change to order of the fields.
|
||||
.IP \(em 4
|
||||
Default: (“date” “snapshot” “type” “description”)
|
||||
.PP
|
||||
-Example: \fCGRUB_BTRFS_TITLE_FORMAT=("date" "snapshot" "type" "description")\fP
|
||||
|
||||
.SS "\fCGRUB_BTRFS_LIMIT\fP"
|
||||
.PP
|
||||
Maximum number of snapshots in the GRUB snapshots sub menu.
|
||||
.IP \(em 4
|
||||
Default: “50”
|
||||
.PP
|
||||
-Example: \fCGRUB_BTRFS_LIMIT="50"\fP
|
||||
|
||||
.SS "\fCGRUB_BTRFS_SUBVOLUME_SORT\fP"
|
||||
.PP
|
||||
Sort the found subvolumes by “ogeneration” or “generation” or “path” or “rootid”.
|
||||
.IP \(em 4
|
||||
See Sorting section in
|
||||
.BR btrfs-subvolume (8)
|
||||
.PP
|
||||
“-rootid” means list snapshot by new ones first.
|
||||
.IP \(em 4
|
||||
Default: “-rootid”
|
||||
.PP
|
||||
-Example: \fCGRUB_BTRFS_SUBVOLUME_SORT="+ogen,\-gen,path,rootid"\fP
|
||||
|
||||
.SS "\fCGRUB_BTRFS_SHOW_SNAPSHOTS_FOUND\fP"
|
||||
.PP
|
||||
Show snapshots found during run “grub-mkconfig”
|
||||
.IP \(em 4
|
||||
Default: “true”
|
||||
.PP
|
||||
-Example: \fCGRUB_BTRFS_SHOW_SNAPSHOTS_FOUND="false"\fP
|
||||
|
||||
.SS "\fCGRUB_BTRFS_ROOTFLAGS\fP"
|
||||
.PP
|
||||
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
|
||||
takes priority over `fstab` entries.
|
||||
NB: Do NOT include “subvol=...” or “subvolid=...” here.
|
||||
.IP \(em 4
|
||||
Default: “”
|
||||
.PP
|
||||
-Example: \fCGRUB_BTRFS_ROOTFLAGS="space_cache,commit=10,norecovery"\fP
|
||||
|
||||
.SS "\fCGRUB_BTRFS_OVERRIDE_BOOT_PARTITION_DETECTION\fP"
|
||||
.PP
|
||||
By default “grub-btrfs” automatically detects your boot partition,
|
||||
either located at the system root or on a separate partition or in a subvolume,
|
||||
Change to “true” if your boot partition is not detected as separate.
|
||||
.IP \(em 4
|
||||
Default: “false”
|
||||
.PP
|
||||
-Example: \fCGRUB_BTRFS_OVERRIDE_BOOT_PARTITION_DETECTION="true"\fP
|
||||
|
||||
.SS "CUSTOM KERNELS"
|
||||
.SS "\fCGRUB_BTRFS_NKERNEL\fP / \fCGRUB_BTRFS_NINIT\fP / \fCGRUB_BTRFS_CUSTOM_MICROCODE\fP"
|
||||
.PP
|
||||
By default, “grub-btrfs” automatically detects most existing kernels, initramfs and microcode.
|
||||
Customs kernel, initramfs and microcodes that are not detected can be added in these variables.
|
||||
.IP \(em 4
|
||||
Default: (“”)
|
||||
.PP
|
||||
-Example: \fCGRUB_BTRFS_NKERNEL=("kernel\-5.19.4\-custom" "vmlinux\-5.19.4\-custom")\fP
|
||||
\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 "SNAPSHOT FILTERING"
|
||||
.SS "\fCGRUB_BTRFS_IGNORE_SPECIFIC_PATH\fP"
|
||||
.PP
|
||||
Ignore specific path during run “grub-mkconfig”.
|
||||
Only exact paths are ignored.
|
||||
e.g : if `specific path` = @, only `@` snapshot will be ignored.
|
||||
.IP \(em 4
|
||||
Default: (“@”)
|
||||
.PP
|
||||
-Example: \fCGRUB_BTRFS_IGNORE_SPECIFIC_PATH=("@home")\fP
|
||||
|
||||
.SS "\fCGRUB_BTRFS_IGNORE_PREFIX_PATH\fP"
|
||||
.PP
|
||||
Ignore prefix path during run “grub-mkconfig”.
|
||||
Any path starting with the specified string will be ignored.
|
||||
e.g : if `prefix path` = @, all snapshots beginning with “@/...” will be ignored.
|
||||
.IP \(em 4
|
||||
Default: (“var/lib/docker” “@var/lib/docker” “@/var/lib/docker”)
|
||||
.PP
|
||||
-Example: \fCGRUB_BTRFS_IGNORE_PREFIX_PATH=("var/lib/docker" "@var/lib/docker" "@/var/lib/docker")\fP
|
||||
|
||||
.SS "\fCGRUB_BTRFS_IGNORE_SNAPSHOT_TYPE\fP"
|
||||
.PP
|
||||
Ignore specific type/tag of snapshot during run “grub-mkconfig”.
|
||||
For snapper:
|
||||
Type = single, pre, post.
|
||||
For Timeshift:
|
||||
Tag = boot, ondemand, hourly, daily, weekly, monthly.
|
||||
.IP \(em 4
|
||||
Default: (“”)
|
||||
.PP
|
||||
-Example: \fCGRUB_BTRFS_IGNORE_SNAPSHOT_TYPE=("ondemand")\fP
|
||||
|
||||
.SS "\fCGRUB_BTRFS_IGNORE_SNAPSHOT_DESCRIPTION\fP"
|
||||
.PP
|
||||
Ignore specific description of snapshot during run “grub-mkconfig”.
|
||||
.IP \(em 4
|
||||
Default: (“”)
|
||||
.PP
|
||||
-Example: \fCGRUB_BTRFS_IGNORE_SNAPSHOT_DESCRIPTION=("timeline")\fP
|
||||
|
||||
.SS "DISTRIBUTION DEPENDENT SETTINGS"
|
||||
.SS "\fCGRUB_BTRFS_BOOT_DIRNAME\fP"
|
||||
.PP
|
||||
Location of kernels/initramfs/microcode.
|
||||
Used by “grub-btrfs” to detect the boot partition and the location of kernels, initramfs and microcodes.
|
||||
.IP \(em 4
|
||||
Default: “/boot”
|
||||
.PP
|
||||
-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
|
||||
Default: “/boot/grub”
|
||||
.PP
|
||||
-Example: \fCGRUB_BTRFS_GRUB_DIRNAME="/boot/grub2"\fP
|
||||
|
||||
.SS "\fCGRUB_BTRFS_MKCONFIG\fP"
|
||||
.PP
|
||||
Name/path of the command to generate the grub menu, used by “grub-btrfs.service”
|
||||
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.
|
||||
.IP \(em 4
|
||||
Default: grub-mkconfig
|
||||
.PP
|
||||
-Example: \fCGRUB_BTRFS_MKCONFIG=/sbin/grub2\-mkconfig\fP
|
||||
|
||||
.SS "\fCGRUB_BTRFS_SCRIPT_CHECK\fP"
|
||||
.PP
|
||||
Name of grub-script-check command, used by “grub-btrfs”
|
||||
Might be ’grub2-script-check’ on some systems (e.g. Fedora)
|
||||
.IP \(em 4
|
||||
Default: grub-script-check
|
||||
.IP \(em 4
|
||||
Example: \fCGRUB_BTRFS_SCRIPT_CHECK=grub2\-script\-check\fP
|
||||
|
||||
.SS "\fCGRUB_BTRFS_MKCONFIG_LIB\fP"
|
||||
.PP
|
||||
Path of grub-mkconfig\d\s-2lib\s+2\u file, used by “grub-btrfs”
|
||||
Might be ’/usr/share/grub2/grub-mkconfig\d\s-2lib\s+2\u’ on some systems (e.g. Opensuse)
|
||||
.IP \(em 4
|
||||
Default: /usr/share/grub/grub-mkconfig\d\s-2lib\s+2\u
|
||||
.IP \(em 4
|
||||
Example: \fCGRUB_BTRFS_MKCONFIG_LIB=/usr/share/grub2/grub\-mkconfig_lib\fP
|
||||
|
||||
.SS "SECURITY"
|
||||
.SS "\fCGRUB_BTRFS_PROTECTION_AUTHORIZED_USERS\fP"
|
||||
.PP
|
||||
Password protection management for submenu, snapshots
|
||||
Refer to the Grub documentation \fIhttps://www.gnu.org/software/grub/manual/grub/grub.html#Authentication-and-authorisation\fP
|
||||
and this comment \fIhttps://github.com/Antynea/grub-btrfs/issues/95#issuecomment-682295660\fP
|
||||
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
|
||||
|
||||
.SS "\fCGRUB_BTRFS_DISABLE_PROTECTION_SUBMENU\fP"
|
||||
.PP
|
||||
Disable authentication support for submenu of Grub-btrfs only (--unrestricted)
|
||||
does not work if GRUB\d\s-2BTRFS\s+2\u\d\s-2PROTECTION\s+2\u\d\s-2AUTHORIZED\s+2\u\d\s-2USERS\s+2\u is not empty
|
||||
.IP \(em 4
|
||||
Default: “false”
|
||||
.IP \(em 4
|
||||
Example: \fCGRUB_BTRFS_DISABLE_PROTECTION_SUBMENU="true"\fP
|
||||
|
||||
.SH "FILES"
|
||||
.PP
|
||||
/etc/default/grub-btrfs/config
|
||||
|
||||
.SH "SEE ALSO"
|
||||
.IR btrfs (8)
|
||||
.IR btrfs-subvolume (8)
|
||||
.IR grub-btrfsd (8)
|
||||
.IR grub-mkconfig (8)
|
||||
|
||||
.SH "COPYRIGHT"
|
||||
.PP
|
||||
Copyright (c) 2022 Pascal Jäger
|
||||
@@ -0,0 +1,180 @@
|
||||
#+title: grub-btrfs
|
||||
#+author: Pascal Jaeger
|
||||
#+man_class_option: :sectionid 8
|
||||
|
||||
* NAME
|
||||
grub-btrfs - Automatically add btrfs-Snapshots as a Grub submenu
|
||||
|
||||
* SYNOPSIS
|
||||
/etc/grub.d/41_snapshots-btrfs
|
||||
|
||||
* DESCRIPTION
|
||||
Improves grub by adding "btrfs snapshots" to the grub menu.
|
||||
|
||||
You can boot your system on a "snapshot" from the grub menu.
|
||||
Supports manual snapshots, snapper and timeshift.
|
||||
Features of grub-btrfs:
|
||||
- Automatically list snapshots existing on root partition (btrfs).
|
||||
- Automatically detect if /boot is in separate partition.
|
||||
- Automatically detect kernel, initramfs and intel/amd microcode in /boot directory on snapshots.
|
||||
- Automatically create corresponding "menuentry" in grub.cfg
|
||||
- Automatically detect the type/tags and descriptions/comments of snapper/timeshift snapshots.
|
||||
- Automatically generate grub.cfg if you use the provided systemd service.
|
||||
|
||||
* CONFIGURATION
|
||||
grub-btrfs is configured via the file ~/etc/default/grub-btrfs/config~.
|
||||
Possible options are:
|
||||
|
||||
** GENERAL
|
||||
|
||||
*** ~GRUB_BTRFS_DISABLE~
|
||||
Disable grub-btrfs if true.
|
||||
- Default: "false"
|
||||
- Example: ~GRUB_BTRFS_DISABLE="true"~
|
||||
|
||||
*** ~GRUB_BTRFS_TITLE_FORMAT~
|
||||
The snapshot entries submenu in Grub are added according to this line. It is possible to change to order of the fields.
|
||||
- Default: ("date" "snapshot" "type" "description")
|
||||
-Example: ~GRUB_BTRFS_TITLE_FORMAT=("date" "snapshot" "type" "description")~
|
||||
|
||||
*** ~GRUB_BTRFS_LIMIT~
|
||||
Maximum number of snapshots in the GRUB snapshots sub menu.
|
||||
- Default: "50"
|
||||
-Example: ~GRUB_BTRFS_LIMIT="50"~
|
||||
|
||||
*** ~GRUB_BTRFS_SUBVOLUME_SORT~
|
||||
Sort the found subvolumes by "ogeneration" or "generation" or "path" or "rootid".
|
||||
- See Sorting section in
|
||||
#+BEGIN_MAN
|
||||
.BR btrfs-subvolume (8)
|
||||
#+END_MAN
|
||||
"-rootid" means list snapshot by new ones first.
|
||||
- Default: "-rootid"
|
||||
-Example: ~GRUB_BTRFS_SUBVOLUME_SORT="+ogen,-gen,path,rootid"~
|
||||
|
||||
*** ~GRUB_BTRFS_SHOW_SNAPSHOTS_FOUND~
|
||||
Show snapshots found during run "grub-mkconfig"
|
||||
- Default: "true"
|
||||
-Example: ~GRUB_BTRFS_SHOW_SNAPSHOTS_FOUND="false"~
|
||||
|
||||
*** ~GRUB_BTRFS_ROOTFLAGS~
|
||||
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
|
||||
takes priority over `fstab` entries.
|
||||
NB: Do NOT include "subvol=..." or "subvolid=..." here.
|
||||
- Default: ""
|
||||
-Example: ~GRUB_BTRFS_ROOTFLAGS="space_cache,commit=10,norecovery"~
|
||||
|
||||
*** ~GRUB_BTRFS_OVERRIDE_BOOT_PARTITION_DETECTION~
|
||||
By default "grub-btrfs" automatically detects your boot partition,
|
||||
either located at the system root or on a separate partition or in a subvolume,
|
||||
Change to "true" if your boot partition is not detected as separate.
|
||||
- Default: "false"
|
||||
-Example: ~GRUB_BTRFS_OVERRIDE_BOOT_PARTITION_DETECTION="true"~
|
||||
|
||||
** CUSTOM KERNELS
|
||||
|
||||
*** ~GRUB_BTRFS_NKERNEL~ / ~GRUB_BTRFS_NINIT~ / ~GRUB_BTRFS_CUSTOM_MICROCODE~
|
||||
By default, "grub-btrfs" automatically detects most existing kernels, initramfs and microcode.
|
||||
Customs kernel, initramfs and microcodes that are not detected can be added in these variables.
|
||||
- Default: ("")
|
||||
-Example: ~GRUB_BTRFS_NKERNEL=("kernel-5.19.4-custom" "vmlinux-5.19.4-custom")~
|
||||
~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")~
|
||||
|
||||
** SNAPSHOT FILTERING
|
||||
|
||||
*** ~GRUB_BTRFS_IGNORE_SPECIFIC_PATH~
|
||||
Ignore specific path during run "grub-mkconfig".
|
||||
Only exact paths are ignored.
|
||||
e.g : if `specific path` = @, only `@` snapshot will be ignored.
|
||||
- Default: ("@")
|
||||
-Example: ~GRUB_BTRFS_IGNORE_SPECIFIC_PATH=("@home")~
|
||||
|
||||
*** ~GRUB_BTRFS_IGNORE_PREFIX_PATH~
|
||||
Ignore prefix path during run "grub-mkconfig".
|
||||
Any path starting with the specified string will be ignored.
|
||||
e.g : if `prefix path` = @, all snapshots beginning with "@/..." will be ignored.
|
||||
- Default: ("var/lib/docker" "@var/lib/docker" "@/var/lib/docker")
|
||||
-Example: ~GRUB_BTRFS_IGNORE_PREFIX_PATH=("var/lib/docker" "@var/lib/docker" "@/var/lib/docker")~
|
||||
|
||||
*** ~GRUB_BTRFS_IGNORE_SNAPSHOT_TYPE~
|
||||
Ignore specific type/tag of snapshot during run "grub-mkconfig".
|
||||
For snapper:
|
||||
Type = single, pre, post.
|
||||
For Timeshift:
|
||||
Tag = boot, ondemand, hourly, daily, weekly, monthly.
|
||||
- Default: ("")
|
||||
-Example: ~GRUB_BTRFS_IGNORE_SNAPSHOT_TYPE=("ondemand")~
|
||||
|
||||
*** ~GRUB_BTRFS_IGNORE_SNAPSHOT_DESCRIPTION~
|
||||
Ignore specific description of snapshot during run "grub-mkconfig".
|
||||
- Default: ("")
|
||||
-Example: ~GRUB_BTRFS_IGNORE_SNAPSHOT_DESCRIPTION=("timeline")~
|
||||
|
||||
** DISTRIBUTION DEPENDENT SETTINGS
|
||||
|
||||
*** ~GRUB_BTRFS_BOOT_DIRNAME~
|
||||
Location of kernels/initramfs/microcode.
|
||||
Used by "grub-btrfs" to detect the boot partition and the location of kernels, initramfs and microcodes.
|
||||
- Default: "/boot"
|
||||
-Example: ~GRUB_BTRFS_BOOT_DIRNAME="/"~
|
||||
|
||||
*** ~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"
|
||||
-Example: ~GRUB_BTRFS_GRUB_DIRNAME="/boot/grub2"~
|
||||
|
||||
*** ~GRUB_BTRFS_MKCONFIG~
|
||||
Name/path of the command to generate the grub menu, used by "grub-btrfs.service"
|
||||
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.
|
||||
- Default: grub-mkconfig
|
||||
-Example: ~GRUB_BTRFS_MKCONFIG=/sbin/grub2-mkconfig~
|
||||
|
||||
*** ~GRUB_BTRFS_SCRIPT_CHECK~
|
||||
Name of grub-script-check command, used by "grub-btrfs"
|
||||
Might be 'grub2-script-check' on some systems (e.g. Fedora)
|
||||
- Default: grub-script-check
|
||||
- Example: ~GRUB_BTRFS_SCRIPT_CHECK=grub2-script-check~
|
||||
|
||||
*** ~GRUB_BTRFS_MKCONFIG_LIB~
|
||||
Path of grub-mkconfig_lib file, used by "grub-btrfs"
|
||||
Might be '/usr/share/grub2/grub-mkconfig_lib' on some systems (e.g. Opensuse)
|
||||
- Default: /usr/share/grub/grub-mkconfig_lib
|
||||
- Example: ~GRUB_BTRFS_MKCONFIG_LIB=/usr/share/grub2/grub-mkconfig_lib~
|
||||
|
||||
** SECURITY
|
||||
|
||||
*** ~GRUB_BTRFS_PROTECTION_AUTHORIZED_USERS~
|
||||
Password protection management for submenu, snapshots
|
||||
Refer to the Grub documentation https://www.gnu.org/software/grub/manual/grub/grub.html#Authentication-and-authorisation
|
||||
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"~
|
||||
|
||||
*** ~GRUB_BTRFS_DISABLE_PROTECTION_SUBMENU~
|
||||
Disable authentication support for submenu of Grub-btrfs only (--unrestricted)
|
||||
does not work if GRUB_BTRFS_PROTECTION_AUTHORIZED_USERS is not empty
|
||||
- Default: "false"
|
||||
- Example: ~GRUB_BTRFS_DISABLE_PROTECTION_SUBMENU="true"~
|
||||
|
||||
* FILES
|
||||
/etc/default/grub-btrfs/config
|
||||
|
||||
* SEE ALSO
|
||||
#+BEGIN_MAN
|
||||
.IR btrfs (8)
|
||||
.IR btrfs-subvolume (8)
|
||||
.IR grub-btrfsd (8)
|
||||
.IR grub-mkconfig (8)
|
||||
#+END_MAN
|
||||
|
||||
* COPYRIGHT
|
||||
Copyright (c) 2022 Pascal Jäger
|
||||
@@ -0,0 +1,63 @@
|
||||
.TH "grub-btrfsd" "8"
|
||||
|
||||
.SH "NAME"
|
||||
.PP
|
||||
grub-btrfsd - An OpenRC daemon to automatically update the grub menu with
|
||||
.BR grub-btrfs (8)
|
||||
.PP
|
||||
when a new btrfs snapshot is created.
|
||||
|
||||
.SH "SYNOPSIS"
|
||||
.PP
|
||||
\fCgrub\-btrfsd [\-h, \-\-help] [\-t, \-\-timeshift\-auto] [\-l, \-\-log\-file LOG_FILE] SNAPSHOTS_DIR\fP
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
Grub-btrfs-openrc is a shell script which is meant to be run as a daemon.
|
||||
Grub-btrfsd watches a directory where snapshots are created or deleted via inotifywait and runs grub-mkconfig (if grub-mkconfig never ran before since grub-btrfs was installed) or \fC/etc/grub.d/41_snapshots\-btrfs\fP (when grub-mkconfig ran before with grub-btrfs installed) when something in that directory changes.
|
||||
|
||||
.SH "OPTIONS"
|
||||
.SS "\fCSNAPSHOTS_DIR\fP"
|
||||
.PP
|
||||
This argument specifies the path where grub-btrfsd looks for newly created snapshots and snapshot deletions. It is usually defined by the program used to make snapshots.
|
||||
E.g. for Snapper this would be \fC/.snapshots\fP
|
||||
|
||||
.SS "\fC\-t / \-\-timeshift\-auto\fP"
|
||||
.PP
|
||||
This is a flag to activate the auto detection of the path where Timeshift stores snapshots. Newer versions (>=22.06) of Timeshift mount their snapshots to \fC/run/timeshift/$PID/backup/timeshift\-btrfs\fP. Where \fC$PID\fP is the process ID of the currently running Timeshift session. The PID is changing every time Timeshift is opened. grub-btrfsd can automatically take care of the detection of the correct PID and directory if this flag is set. In this case the argument \fCSNAPSHOTS_DIR\fP has no effect.
|
||||
|
||||
.SS "\fC\-l /\-\-log\-file\fP"
|
||||
.PP
|
||||
This arguments specifies a file where grub-btrfsd should write log messages.
|
||||
|
||||
.SS "\fC\-h / \-\-help\fP"
|
||||
.PP
|
||||
Displays a short help message.
|
||||
|
||||
.SH "CONFIGURATION"
|
||||
.PP
|
||||
The daemon is usually configured via the file \fC/etc/conf.d/grub\-btrfsd\fP on openrc-init systems and \fCsudo systemctl edit \-\-full grub\-btrfsd\fP on systemd systems. In this file the arguments (See OPTIONS), that OpenRC passes to the daemon when it is started, can be configured.
|
||||
|
||||
.SS "NOTES"
|
||||
.PP
|
||||
A common configuration for Snapper would be to set \fCSNAPSHOTS_DIR\fP to \fC/.snapshots\fP and not to set \fC\-\-timeshift\-auto\fP.
|
||||
For Timeshift \fC\-\-timeshift\-auto\fP is set to true and \fCSNAPSHOTS_DIR\fP can be left as is.
|
||||
|
||||
.SH "FILES"
|
||||
.PP
|
||||
\fC/etc/conf.d/grub\-btrfsd\fP
|
||||
\fC/usr/lib/systemd/system/grub\-btrfsd.service\fP
|
||||
|
||||
.SH "SEE ALSO"
|
||||
.IR btrfs (8)
|
||||
.IR btrfs-subvolume (8)
|
||||
.IR grub-btrfsd (8)
|
||||
.IR grub-mkconfig (8)
|
||||
.IR inotifywait (1)
|
||||
.IR openrc (8)
|
||||
.IR rc-service (8)
|
||||
.IR timeshift (1)
|
||||
|
||||
.SH "COPYRIGHT"
|
||||
.PP
|
||||
Copyright (c) 2022 Pascal Jäger
|
||||
@@ -0,0 +1,57 @@
|
||||
#+title: grub-btrfsd
|
||||
#+author: Pascal Jaeger
|
||||
#+man_class_option: :sectionid 8
|
||||
|
||||
* NAME
|
||||
grub-btrfsd - An OpenRC daemon to automatically update the grub menu with
|
||||
#+BEGIN_MAN
|
||||
.BR grub-btrfs (8)
|
||||
#+END_MAN
|
||||
when a new btrfs snapshot is created.
|
||||
|
||||
* SYNOPSIS
|
||||
~grub-btrfsd [-h, --help] [-t, --timeshift-auto] [-l, --log-file LOG_FILE] SNAPSHOTS_DIR~
|
||||
|
||||
* DESCRIPTION
|
||||
Grub-btrfs-openrc is a shell script which is meant to be run as a daemon.
|
||||
Grub-btrfsd watches a directory where snapshots are created or deleted via inotifywait and runs grub-mkconfig (if grub-mkconfig never ran before since grub-btrfs was installed) or ~/etc/grub.d/41_snapshots-btrfs~ (when grub-mkconfig ran before with grub-btrfs installed) when something in that directory changes.
|
||||
|
||||
* OPTIONS
|
||||
** ~SNAPSHOTS_DIR~
|
||||
This argument specifies the path where grub-btrfsd looks for newly created snapshots and snapshot deletions. It is usually defined by the program used to make snapshots.
|
||||
E.g. for Snapper this would be ~/.snapshots~
|
||||
|
||||
** ~-t / --timeshift-auto~
|
||||
This is a flag to activate the auto detection of the path where Timeshift stores snapshots. Newer versions (>=22.06) of Timeshift mount their snapshots to ~/run/timeshift/$PID/backup/timeshift-btrfs~. Where ~$PID~ is the process ID of the currently running Timeshift session. The PID is changing every time Timeshift is opened. grub-btrfsd can automatically take care of the detection of the correct PID and directory if this flag is set. In this case the argument ~SNAPSHOTS_DIR~ has no effect.
|
||||
|
||||
** ~-l /--log-file~
|
||||
This arguments specifies a file where grub-btrfsd should write log messages.
|
||||
|
||||
** ~-h / --help~
|
||||
Displays a short help message.
|
||||
|
||||
* CONFIGURATION
|
||||
The daemon is usually configured via the file ~/etc/conf.d/grub-btrfsd~ on openrc-init systems and ~sudo systemctl edit --full grub-btrfsd~ on systemd systems. In this file the arguments (See OPTIONS), that OpenRC passes to the daemon when it is started, can be configured.
|
||||
|
||||
** NOTES
|
||||
A common configuration for Snapper would be to set ~SNAPSHOTS_DIR~ to ~/.snapshots~ and not to set ~--timeshift-auto~.
|
||||
For Timeshift ~--timeshift-auto~ is set to true and ~SNAPSHOTS_DIR~ can be left as is.
|
||||
|
||||
* FILES
|
||||
~/etc/conf.d/grub-btrfsd~
|
||||
~/usr/lib/systemd/system/grub-btrfsd.service~
|
||||
|
||||
* SEE ALSO
|
||||
#+BEGIN_MAN
|
||||
.IR btrfs (8)
|
||||
.IR btrfs-subvolume (8)
|
||||
.IR grub-btrfsd (8)
|
||||
.IR grub-mkconfig (8)
|
||||
.IR inotifywait (1)
|
||||
.IR openrc (8)
|
||||
.IR rc-service (8)
|
||||
.IR timeshift (1)
|
||||
#+END_MAN
|
||||
|
||||
* COPYRIGHT
|
||||
Copyright (c) 2022 Pascal Jäger
|
||||
Reference in New Issue
Block a user