You are not logged in.
I had managed to set up "grub-btrfs" for it to work with "inotify-tools", "timeshift" and "timeshift-autosnap" However at some point the grub menu stopped refreshing. Despite creation or deletion of snapshots it remains the same. I can't figure out what is the problem. Please help me
I didn't forget to change the .service file of grub-btrfsd from "ExecStart=/usr/bin/grub-btrfsd /.snapshots --syslog" to "ExecStart=/usr/bin/grub-btrfsd --syslog --timeshift-auto"
This is the output of "journalctl -f" when i create and delete a snapshot in Timeshift:
<pre>дек 07 20:55:33 ArchPC systemd[542]: Started dbus-:1.2-org.xfce.Xfconf@2.service.
дек 07 20:58:24 ArchPC sudo[3748]: <b> andrew : TTY=pts/2 ; PWD=/home/andrew ; USER=root ; COMMAND=/usr/bin/grub-mkconfig -o /boot/grub/grub.cfg</b>
дек 07 20:58:24 ArchPC sudo[3748]: pam_unix(sudo:session): session opened for user root(uid=0) by andrew(uid=1000)
дек 07 20:58:25 ArchPC systemd[1]: tmp-grub\x2dbtrfs.D0cFPKSBoQ.mount: Deactivated successfully.
дек 07 20:58:25 ArchPC sudo[3748]: pam_unix(sudo:session): session closed for user root
дек 07 21:00:00 ArchPC CROND[4315]: (root) CMD (timeshift --check --scripted)
дек 07 21:00:00 ArchPC CROND[4314]: (root) CMDOUT (Another instance of this application is running (PID=1207))
дек 07 21:00:00 ArchPC CROND[4314]: (root) CMDEND (timeshift --check --scripted)
дек 07 21:01:00 ArchPC CROND[4349]: (root) CMD (run-parts /etc/cron.hourly)
дек 07 21:01:00 ArchPC CROND[4348]: (root) CMDEND (run-parts /etc/cron.hourly)
дек 07 21:02:56 ArchPC grub-btrfsd[4381]: <b>465: Detected snapshot creation/ deletion, recreating Grub menu</b>
дек 07 21:03:03 ArchPC systemd[1]: tmp-grub\x2dbtrfs.rPPWcL8v2n.mount: Deactivated successfully.
дек 07 21:03:03 ArchPC grub-btrfsd[4992]: <b>Grub menu recreated</b>
дек 07 21:03:16 ArchPC grub-btrfsd[4999]: <b>465: Detected snapshot creation/ deletion, recreating Grub menu</b>
дек 07 21:03:22 ArchPC systemd[1]: tmp-grub\x2dbtrfs.2j3mjD8t8F.mount: Deactivated successfully.
дек 07 21:03:22 ArchPC grub-btrfsd[5562]: <b>Grub menu recreated</b>
</pre>
I also tried to manually generate grub snapshot entries with "sudo /etc/grub.d/41_snapshots-btrfs"
<pre>Detecting snapshots ...
Found snapshot: 2024-12-07 20:17:01 | timeshift-btrfs/snapshots/2024-12-07_20-17-01/@ | ondemand | N/A |
Found snapshot: 2024-12-07 00:22:17 | timeshift-btrfs/snapshots/2024-12-07_00-22-17/@ | ondemand | {timeshift-autosnap} {created before upgrade} |
Found snapshot: 2024-12-07 00:21:42 | timeshift-btrfs/snapshots/2024-12-07_00-21-42/@ | ondemand daily | {timeshift-autosnap} {created before upgrade} |
Found snapshot: 2024-12-05 16:05:54 | timeshift-btrfs/snapshots/2024-12-05_16-05-54/@ | ondemand | N/A |
Found snapshot: 2024-12-05 03:02:11 | timeshift-btrfs/snapshots/2024-12-05_03-02-11/@ | ondemand | N/A |
Found snapshot: 2024-12-05 02:36:28 | timeshift-btrfs/snapshots/2024-12-05_02-36-28/@ | ondemand | {timeshift-autosnap} {created before upgrade} |
Found snapshot: 2024-11-17 19:23:47 | timeshift-btrfs/snapshots/2024-12-04_01-16-58/@ | ondemand | Before restoring '2024-12-04 01:00:42' |
Found snapshot: 2024-11-14 23:32:58 | timeshift-btrfs/snapshots/2024-11-14_23-32-58/@ | ondemand | {timeshift-autosnap} {created before upgrade} |
if [ ! -e "${prefix}/grub-btrfs.cfg" ]; then
echo ""
else
submenu 'Arch Linux snapshots' {
configfile "${prefix}/grub-btrfs.cfg"
}
fi
Found 8 snapshot(s)
Unmount /tmp/grub-btrfs.jB44mNYnTX .. Success
</pre>
Also
<pre>[andrew@ArchPC ~]$ sudo grub-mkconfig -o /boot/grub/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-linux
Found initrd image: /boot/initramfs-linux.img
Found fallback initrd image(s) in /boot: initramfs-linux-fallback.img
Warning: os-prober will not be executed to detect other bootable partitions.
Systems on them will not be added to the GRUB boot configuration.
Check GRUB_DISABLE_OS_PROBER documentation entry.
Adding boot menu entry for UEFI Firmware Settings ...
Detecting snapshots ...
Found snapshot: 2024-12-07 20:17:01 | timeshift-btrfs/snapshots/2024-12-07_20-17-01/@ | ondemand | N/A |
Found snapshot: 2024-12-07 00:22:17 | timeshift-btrfs/snapshots/2024-12-07_00-22-17/@ | ondemand | {timeshift-autosnap} {created before upgrade} |
Found snapshot: 2024-12-07 00:21:42 | timeshift-btrfs/snapshots/2024-12-07_00-21-42/@ | ondemand daily | {timeshift-autosnap} {created before upgrade} |
Found snapshot: 2024-12-05 16:05:54 | timeshift-btrfs/snapshots/2024-12-05_16-05-54/@ | ondemand | N/A |
Found snapshot: 2024-12-05 03:02:11 | timeshift-btrfs/snapshots/2024-12-05_03-02-11/@ | ondemand | N/A |
Found snapshot: 2024-12-05 02:36:28 | timeshift-btrfs/snapshots/2024-12-05_02-36-28/@ | ondemand | {timeshift-autosnap} {created before upgrade} |
Found snapshot: 2024-11-17 19:23:47 | timeshift-btrfs/snapshots/2024-12-04_01-16-58/@ | ondemand | Before restoring '2024-12-04 01:00:42' |
Found snapshot: 2024-11-14 23:32:58 | timeshift-btrfs/snapshots/2024-11-14_23-32-58/@ | ondemand | {timeshift-autosnap} {created before upgrade} |
Found 8 snapshot(s)
Unmount /tmp/grub-btrfs.D0cFPKSBoQ .. Success
done
</pre>
I also tried reinstalling "grub-btrfs" "inotify-tools", "timeshift" and "timeshift-autosnap" with no success
Last edited by Foolish★smug( ° ʖ °) (2024-12-07 23:16:48)
Offline
I didn't forget to change the .service file of grub-btrfsd from "ExecStart=/usr/bin/grub-btrfsd /.snapshots --syslog" to "ExecStart=/usr/bin/grub-btrfsd --syslog --timeshift-auto"
How did you change that, exactly? If you didn't use an override file then the change might have been lost after an update.
EDIT: use this to check the current configuration of the unit file:
systemctl cat grub-btrfsd
Last edited by Head_on_a_Stick (2024-12-07 18:33:04)
Para todos todo, para nosotros nada
Offline
I used "sudo systemctl edit --full grub-btrfsd"
[andrew@ArchPC ~]$ systemctl cat grub-btrfsd
# /etc/systemd/system/grub-btrfsd.service
[Unit]
Description=Regenerate grub-btrfs.cfg
[Service]
Type=simple
LogLevelMax=notice
# Set the possible paths for `grub-mkconfig`
Environment="PATH=/sbin:/bin:/usr/sbin:/usr/bin"
# Load environment variables from the configuration
EnvironmentFile=/etc/default/grub-btrfs/config
# Start the daemon, usage of it is:
# grub-btrfsd [-h, --help] [-t, --timeshift-auto] [-l, --log-file LOG_FILE] SNAPSHOTS_DIRS
# SNAPSHOTS_DIRS Snapshot directories to watch, without effect when --timeshift-auto
# Optional arguments:
# -t, --timeshift-auto Automatically detect Timeshifts snapshot directory
# -o, --timeshift-old Activate for timeshift versions <22.06
# -l, --log-file Specify a logfile to write to
# -v, --verbose Let the log of the daemon be more verbose
# -s, --syslog Write to syslog
ExecStart=/usr/bin/grub-btrfsd --syslog --timeshift-auto
[Install]
WantedBy=multi-user.target
Last edited by Foolish★smug( ° ʖ °) (2024-12-07 23:17:17)
Offline
Is the service enabled? Does the journal show anything relevant?
Please edit your posts to use code tags instead of quote tags when sharing terminal output, it greatly improves readability. Thanks.
Para todos todo, para nosotros nada
Offline
I ran the commands:
sudo systemctl enable grub-btrfsd
sudo systemctl start grub-btrfsd
also created a snapshot in timeshift
[andrew@ArchPC ~]$ journalctl -f
дек 08 02:26:56 ArchPC rtkit-daemon[641]: Supervising 7 threads of 4 processes of 1 users.
дек 08 02:26:56 ArchPC rtkit-daemon[641]: Supervising 7 threads of 4 processes of 1 users.
дек 08 02:26:57 ArchPC rtkit-daemon[641]: Supervising 7 threads of 4 processes of 1 users.
дек 08 02:26:57 ArchPC rtkit-daemon[641]: Supervising 7 threads of 4 processes of 1 users.
дек 08 02:26:57 ArchPC rtkit-daemon[641]: Supervising 7 threads of 4 processes of 1 users.
дек 08 02:26:57 ArchPC rtkit-daemon[641]: Supervising 7 threads of 4 processes of 1 users.
дек 08 02:26:58 ArchPC rtkit-daemon[641]: Supervising 7 threads of 4 processes of 1 users.
дек 08 02:26:58 ArchPC rtkit-daemon[641]: Supervising 7 threads of 4 processes of 1 users.
дек 08 02:26:58 ArchPC rtkit-daemon[641]: Supervising 7 threads of 4 processes of 1 users.
дек 08 02:26:58 ArchPC rtkit-daemon[641]: Supervising 7 threads of 4 processes of 1 users.
дек 08 02:27:09 ArchPC systemd-timesyncd[457]: Contacted time server 162.159.200.123:123 (2.arch.pool.ntp.org).
дек 08 02:27:09 ArchPC systemd-timesyncd[457]: Initial clock synchronization to Sun 2024-12-08 02:27:09.164172 MSK.
дек 08 02:27:09 ArchPC systemd[1]: systemd-hostnamed.service: Deactivated successfully.
дек 08 02:27:22 ArchPC systemd[1]: systemd-timedated.service: Deactivated successfully.
дек 08 02:27:30 ArchPC sudo[1259]: andrew : TTY=pts/0 ; PWD=/home/andrew ; USER=root ; COMMAND=/usr/bin/systemctl start grub-btrfsd
дек 08 02:27:30 ArchPC sudo[1259]: pam_unix(sudo:session): session opened for user root(uid=0) by andrew(uid=1000)
дек 08 02:27:30 ArchPC sudo[1259]: pam_unix(sudo:session): session closed for user root
дек 08 02:28:13 ArchPC sudo[1269]: andrew : TTY=pts/0 ; PWD=/home/andrew ; USER=root ; COMMAND=/usr/bin/timeshift-launcher
дек 08 02:28:13 ArchPC sudo[1269]: pam_unix(sudo:session): session opened for user root(uid=0) by andrew(uid=1000)
дек 08 02:28:15 ArchPC grub-btrfsd[1313]: 468: detected Timeshift startup, PID is: 1274
дек 08 02:28:16 ArchPC systemd[1]: tmp-grub\x2dbtrfs.VNZSyO0DzT.mount: Deactivated successfully.
дек 08 02:28:16 ArchPC grub-btrfsd[2022]: Grub menu recreated
дек 08 02:28:16 ArchPC grub-btrfsd[2023]: 468: Watching /run/timeshift/1274/backup/timeshift-btrfs/snapshots for new snapshots...
дек 08 02:29:14 ArchPC sudo[2091]: andrew : TTY=pts/3 ; PWD=/home/andrew ; USER=root ; COMMAND=/usr/bin/systemctl enable grub-btrfsd
дек 08 02:29:14 ArchPC sudo[2091]: pam_unix(sudo:session): session opened for user root(uid=0) by andrew(uid=1000)
дек 08 02:29:14 ArchPC systemd[1]: Reload requested from client PID 2097 ('systemctl') (unit session-1.scope)...
дек 08 02:29:14 ArchPC systemd[1]: Reloading...
дек 08 02:29:14 ArchPC systemd[1]: Reloading finished in 275 ms.
дек 08 02:29:14 ArchPC sudo[2091]: pam_unix(sudo:session): session closed for user root
дек 08 02:30:04 ArchPC crontab[2173]: (root) LIST (root)
дек 08 02:30:04 ArchPC crontab[2174]: (root) LIST (root)
дек 08 02:30:04 ArchPC systemd[1]: run-timeshift-1274-backup.mount: Deactivated successfully.
дек 08 02:30:04 ArchPC sudo[1269]: pam_unix(sudo:session): session closed for user root
дек 08 02:30:09 ArchPC grub-btrfsd[2183]: 468: detected timeshift shutdown
дек 08 02:30:09 ArchPC grub-btrfsd[2187]: Watching /run/timeshift for timeshift to start
Offline
Use the plain `set` command from the GRUB command line to find where it is looking for $configfile (grub.cfg), perhaps GRUB is not reading the correct file.
Para todos todo, para nosotros nada
Offline
photo with grub set
Sorry I am a bit confused where to look. I don't see the line with a config
Offline
$prefix is set to (hd0,gpt2)/boot/grub/ with the ESP at (hd0,gpt1). So it's looking in the second partition on the drive that contains the ESP.
EDIT: it's not looking under a subvolume though. Is that correct? How is your system configured?
Last edited by Head_on_a_Stick (2024-12-08 20:57:29)
Para todos todo, para nosotros nada
Offline
[andrew@ArchPC ~]$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 238,5G 0 disk
├─sda1 8:1 0 1G 0 part /efi
└─sda2 8:2 0 237,5G 0 part /home
/
sdb 8:16 0 298,1G 0 disk
└─sdb1 8:17 0 298,1G 0 part /myhdd
EDIT: Also just noticed that my old snapshots contain just the "root" but newer snapshots (that are not visible in GRUB) contain "home" as well
[root@ArchPC snapshots]# ls
2024-11-14_23-32-58 2024-12-07_00-21-42 2024-12-08_00-41-11
2024-11-15_00-35-11 2024-12-07_00-22-17 2024-12-08_00-48-14
2024-12-04_01-16-58 2024-12-07_23-35-11 2024-12-08_02-28-47
2024-12-05_02-36-28 2024-12-07_23-54-14 2024-12-08_23-18-18
2024-12-05_03-02-11 2024-12-08_00-11-54 2024-12-09_01-00-01
2024-12-05_16-05-54 2024-12-08_00-33-23
[root@ArchPC snapshots]# ls 2024-11-14_23-32-58
@ info.json
[root@ArchPC snapshots]# ls 2024-11-15_00-35-11
@ info.json
[root@ArchPC snapshots]# ls 2024-12-08_00-11-54
@ @home info.json
[root@ArchPC snapshots]#
Last edited by Foolish★smug( ° ʖ °) (2024-12-08 22:24:06)
Offline
So it looks like GRUB is reading /boot/grub/grub.cfg on /dev/sda2, is there a file there?
mount /dev/sda2 /mnt
find /mnt -name grub.cfg
umount /mnt
EDIT: please also share the content of /etc/fstab and the output of
findmnt --real --notruncate
Last edited by Head_on_a_Stick (2024-12-09 07:14:14)
Para todos todo, para nosotros nada
Offline
So it looks like GRUB is reading /boot/grub/grub.cfg on /dev/sda2, is there a file there?
Yes there is:
/mnt/@/boot/grub/grub.cfg
EDIT: please also share the content of /etc/fstab and the output of
findmnt --real --notruncate
[andrew@ArchPC ~]$ cat /etc/fstab
# Static information about the filesystems.
# See fstab(5) for details.
# <file system> <dir> <type> <options> <dump> <pass>
# /dev/sda2
UUID=d3fbdb2a-dcd2-4d54-b16c-bf33d024ebd3 / btrfs rw,relatime,compress=zstd:3,ssd,discard=async,space_cache=v2,subvolid=256,subvol=/@ 0 0
# /dev/sda2
UUID=d3fbdb2a-dcd2-4d54-b16c-bf33d024ebd3 /home btrfs rw,relatime,compress=zstd:3,ssd,discard=async,space_cache=v2,subvol=/@home 0 0
# /dev/sda1
UUID=238F-0099 /efi vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro 0 2
# /dev/sdb1
UUID=bc6c39dd-b547-4781-b238-d2ea76bb6ead /myhdd btrfs rw,relatime,compress=zstd:3,space_cache=v2,subvolid=5,subvol=/ 0 0
[andrew@ArchPC ~]$ findmnt --real --notruncate
TARGET SOURCE FSTYPE OPTIONS
/ /dev/sda2[/timeshift-btrfs/snapshots/2024-11-14_23-32-58/@]
│ btrfs rw,relatime,compress=zstd:3,ssd,discard=async,space_cache=v2,subvolid=276,subvol=/timeshift-btrfs/snapshots/2024-11-14_23-32-58/@
├─/run/user/1000/doc
│ portal fuse.portal rw,nosuid,nodev,relatime,user_id=1000,group_id=984
├─/home /dev/sda2[/@home] btrfs rw,relatime,compress=zstd:3,ssd,discard=async,space_cache=v2,subvolid=339,subvol=/@home
├─/efi /dev/sda1 vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro
└─/myhdd /dev/sdb1 btrfs rw,relatime,compress=zstd:3,space_cache=v2,subvolid=5,subvol=/
Offline
So you're booted into the 2024-11-14 snapshot rather than the main @ subvolume. Is there a /timeshift-btrfs/snapshots/2024-11-14_23-32-58/@/boot/grub/grub.cfg and does that contain the "missing" snapshot menuentries?
Unfortunately though I really don't know how Timeshift is supposed to work so I am unable to see what the problem is or how to fix it.
Para todos todo, para nosotros nada
Offline
Yes, it is exactly how you describe. I wasn't thinking that I am booting into the snapshot because now I don't specify it in GRUB. I only specified it once when my system was broken and I chose to "Restore" the selected snapshot in Timeshift-gtk.
EDIT: though the snapshots are in grub-btrfs.cfg which is a submenu for GRUB as i believe (it is in the same folder as grub.cfg)
Last edited by Foolish★smug( ° ʖ °) (2024-12-10 18:50:44)
Offline