I did a custom GUI-install and named / to @ and /home @home so it can be seen by Timeshift. It works fine.
As a final touch I would like to add grub-btrfs so the snapshots appear as a submenu listing available snapshots. grub-btrfs seems is expecting /boot/grub but Fedora is expecting /boot/grub2
I changed line 589 to /boot/grub2 but still get the error.
sudo make BOOT_DIR_FEDORA=/boot/grub2 install
Installing
:::::::: ::::::::: ::: ::: ::::::::: ::::::::: ::::::::::: ::::::::: :::::::::: ::::::::
:+: :+: :+: :+: :+: :+: :+: :+: :+: :+: :+: :+: :+: :+: :+: :+:
+:+ +:+ +:+ +:+ +:+ +:+ +:+ +:+ +:+ +:+ +:+ +:+ +:+ +:+
:#: +#++:++#: +#+ +:+ +#++:++#+ +#++:++#++:++ +#++:++#+ +#+ +#++:++#: :#::+::# +#++:++#++
+#+ +#+# +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+
#+# #+# #+# #+# #+# #+# #+# #+# #+# #+# #+# #+# #+# #+# #+# #+#
######## ### ### ######## ######### ######### ### ### ### ### ########
For further information visit https://github.com/Antynea/grub-btrfs or read the man page: 'man grub-btrfs'
Installing manpages...
Installing systemd .service file
Installing docs...
Updating the GRUB menu...
Generating grub configuration file ...
Adding boot menu entry for UEFI Firmware Settings ...
Detecting snapshots ...
/etc/grub.d/41_snapshots-btrfs: line 589: /boot/grub/grub-btrfs.new: No such file or directory
make: *** [Makefile:56: install] Error 1
Here is some grep output. I notice DEBIAN is not uncommented and points to /boot/grub.
cat Makefile | grep -n “grub”
1:PKGNAME ?= grub-btrfs
8:BOOT_DIR_DEBIAN ?= /boot/grub
9:BOOT_DIR_FEDORA ?= /boot/grub2
39: @echo " For further information visit https://github.com/Antynea/grub-btrfs or read the man page: 'man grub-btrfs'"
44: @cp manpages/grub-btrfs.8.man ${TEMP_DIR}/grub-btrfs.8
47: install -Dm644 -t "${MAN_DIR}/man8" "${TEMP_DIR}/grub-btrfs.8"; \
49: @cp manpages/grub-btrfsd.8.man ${TEMP_DIR}/grub-btrfsd.8
51: install -Dm644 -t "${MAN_DIR}/man8" "${TEMP_DIR}/grub-btrfsd.8"; \
53: @install -Dm755 -t "$(DESTDIR)/etc/grub.d/" 41_snapshots-btrfs
54: @install -Dm644 -t "$(DESTDIR)/etc/default/grub-btrfs/" config
55: @install -Dm744 -t "$(BIN_DIR)/" grub-btrfsd;
59: install -Dm644 -t "$(LIB_DIR)/systemd/system/" grub-btrfsd.service; \
64: install -Dm744 grub-btrfsd.initd "$(DESTDIR)/etc/init.d/grub-btrfsd"; \
65: install -Dm644 grub-btrfsd.confd "$(DESTDIR)/etc/conf.d/grub-btrfsd"; \
70: install -Dm644 "initramfs/Arch Linux/overlay_snap_ro-install" "$(LIB_DIR)/initcpio/install/grub-btrfs-overlayfs"; \
71: install -Dm644 "initramfs/Arch Linux/overlay_snap_ro-hook" "$(LIB_DIR)/initcpio/hooks/grub-btrfs-overlayfs"; \
79: @if command -v grub-mkconfig > /dev/null && [ -e "$(BOOT_DIR_DEBIAN)/grub.cfg" ] && test "$(GRUB_UPDATE_EXCLUDE)" = false; then \
81: grub-mkconfig -o "$(BOOT_DIR_DEBIAN)/grub.cfg"; \
83: @if command -v grub2-mkconfig > /dev/null && [ -e "$(BOOT_DIR_FEDORA)/grub.cfg" ] && test "$(GRUB_UPDATE_EXCLUDE)" = false; then \
85: grub2-mkconfig -o "$(BOOT_DIR_FEDORA)/grub.cfg"; \
89: @echo "Uninstalling grub-btrfs"
94: @grub_dirname="$$(grep -oP '^[[:space:]]*GRUB_BTRFS_GRUB_DIRNAME=\K.*' "$(DESTDIR)/etc/default/grub-btrfs/config" | sed "s|\s*#.*||;s|(\s*\(.\+\)\s*)|\1|;s|['\"]||g")"; \
95: rm -f "$${grub_dirname:-/boot/grub}/grub-btrfs.cfg"
96: @rm -f "$(DESTDIR)/etc/default/grub-btrfs/config"
97: @rm -f "$(DESTDIR)/etc/grub.d/41_snapshots-btrfs"
98: @rm -f "$(LIB_DIR)/systemd/system/grub-btrfsd.service"
99: @rm -f "$(BIN_DIR)/grub-btrfsd;"
100: @rm -f "$(DESTDIR)/etc/init.d/grub-btrfsd;"
101: @rm -f "$(DESTDIR)/etc/conf.d/grub-btrfsd;"
102: @rm -f "$(LIB_DIR)/initcpio/install/grub-btrfs-overlayfs"
103: @rm -f "$(LIB_DIR)/initcpio/hooks/grub-btrfs-overlayfs"
104: @rm -f "$(MAN_DIR)/man8/grub-btrfs.8.bz2"
105: @rm -f "$(MAN_DIR)/man8/grub-btrfsd.8.bz2"
117: @rmdir --ignore-fail-on-non-empty "$(DESTDIR)/etc/default/grub-btrfs" || :
118: @if command -v grub-mkconfig > /dev/null && [ -e "$(BOOT_DIR_DEBIAN)/grub.cfg" ] && test "$(GRUB_UPDATE_EXCLUDE)" = false; then \
120: grub-mkconfig -o "$(BOOT_DIR_DEBIAN)/grub.cfg"; \
122: @if command -v grub2-mkconfig > /dev/null && [ -e "$(BOOT_DIR_FEDORA)/grub.cfg" ] && test "$(GRUB_UPDATE_EXCLUDE)" = false; then \
124: grub2-mkconfig -o "$(BOOT_DIR_FEDORA)/grub.cfg"; \
144: @echo " BOOT_DIR_DEBIAN | path | boot data location (Debian, Ubuntu, Gentoo, Arch...) | '/boot/grub'"
145: @echo " BOOT_DIR_FEDORA | path | boot data location (Fedora, RHEL, CentOS, Rocky...) | '/boot/grub2'"
148: @echo " PKGNAME | name | name of the distributed package | 'grub-btrfs'"
152: @echo " GRUB_UPDATE_EXCLUDE | bool | Do not update grub after installation | false"
I welcome any suggestions.
It seem Fedora has a few issues with grub-btrfs. I looked at No submenu created on fedora · Issue #348 · Antynea/grub-btrfs · GitHub and it seems to be be my next mountain to climb. Unless someone here has it working, would I be better to install snapper and do it all from the command line?
Does any one have a tutorial to get this grub-btrfs show on the road in Fedora?
I have BTRFS Assistant installed and it sees the snapshots, but of course it is also expecting the Grub menu to list the snapshots.