-
Bug
-
Resolution: Done-Errata
-
Major
-
rhel-8.4.0
-
rear-2.6-12.el8
-
None
-
High
-
sst_cs_system_management
-
ssg_core_services
-
25
-
26
-
3
-
False
-
-
No
-
None
-
Release Note Not Required
-
-
All
-
None
This bug was initially created as a copy of Bug #1989140
I am copying this bug because:
Also applies.
Description of problem:
When there is a rogue file e.g. /boot/grub2XXX, ReaR doesn't include the grub2-* binaries, making it impossible to recover a system.
Version-Release number of selected component (if applicable):
rear-2.4, maybe Upstream, didn't check
How reproducible:
Always
Steps to Reproduce:
1. Create a rogue file
- touch /boot/grub2FAIL
2. Create a rescue in debug
- rear -dD mkrescue
3. Check the rescue content: no /bin/grub2-* files embedded!
- ll /tmp/rear.BIwW0X1HU7trKny/rootfs/bin/grub2*
Actual results:
ls: cannot access '/tmp/rear.BIwW0X1HU7trKny/rootfs/bin/grub2*': No such file or directory
Expected results:
Files there
Additional info:
In the log, we can see that the script /usr/share/rear/prep/GNU/Linux/300_include_grub_tools.sh is kinda stupid because it checks for /boot/grub* files.
Due to the rogue file, the name being returned is "/boot/grub2 /boot/grub2FAIL" which makes ReaR consider it's not valid and expects "/boot/grub" to exist.
Due to not existing, it doesn't include the binaries:
+ source /usr/share/rear/prep/GNU/Linux/300_include_grub_tools.sh
++ test -d /var/lib/rear/recovery
+++ echo -n /boot/grub2 /boot/grub2FAIL
++ local 'grubdir=/boot/grub2 /boot/grub2FAIL'
++ test -d '/boot/grub2 /boot/grub2FAIL'
++ grubdir=/boot/grub
++ has_binary grub-probe
++ for bin in $@
++ type grub-probe
/usr/share/rear/lib/_input-output-functions.sh: line 331: type: grub-probe: not found
++ return 1
++ has_binary grub2-probe
++ for bin in $@
++ type grub2-probe
++ return 0
++ grub2-probe -t device /boot/grub
++ return 0
--> grub2-probe fails due to checking for /boot/grub which doesn't exist, so rest of the script is not executed.
- external trackers
- links to
-
RHSA-2024:128198 rear update