#1881 Issue closed: Test of ReaR fails. Could not find 'mbr.bin'

Labels: support / question, fixed / solved / done

MagnetoOptical opened issue at 2018-07-26 17:04:

  • ReaR version ("/usr/sbin/rear -V"):
    Relax-and-Recover 2.4 / Git

  • OS version ("cat /etc/rear/os.conf" or "lsb_release -a" or "cat /etc/os-release"):
    OS_VENDOR=RedHatEnterpriseServer
    OS_VERSION=7

  • ReaR configuration files ("cat /etc/rear/site.conf" and/or "cat /etc/rear/local.conf"):
    OUTPUT=USB
    BACKUP=NETFS
    BACKUP_URL=usb:///dev/disk/by-label/REAR-000

  • Hardware (PC or PowerNV BareMetal or ARM) or virtual machine (KVM guest or PoverVM LPAR):
    PC

  • System architecture (x86 compatible or PPC64/PPC64LE or what excat ARM device):
    x86-64

  • Firmware (BIOS or UEFI or Open Firmware) and bootloader (GRUB or ELILO or Petitboot):
    UEFI

  • Description of the issue (ideally so that others can reproduce it):

Running "usr/sbin/rear -v mkrescue" produces...
Relax-and-Recover 2.4 / Git
Using log file: /home/some_guy/Downloads/rear/var/log/rear/rear-hoarder.log
Using backup archive '/tmp/rear.sfEfpHVpr78o26p/outputfs/rear/hoarder/20180726.1149/backup.tar.gz'
Using UEFI Boot Loader for Linux (USING_UEFI_BOOTLOADER=1)
ERROR: Could not find file 'mbr.bin'. Syslinux version 3.08 or newer is required, 4.x prefered!
Some latest log messages since the last called script 340_find_mbr_bin.sh:
  2018-07-26 11:49:36.703887077 Including prep/USB/Linux-i386/340_find_mbr_bin.sh
Aborting due to an error, check /home/some_guy/Downloads/rear/var/log/rear/rear-hoarder.log for details
Exiting rear mkrescue (PID 13759) and its descendant processes
Running exit tasks
Terminated
  • Work-around, if any:
    None known

MagnetoOptical commented at 2018-07-26 17:06:

I feel like I should add that this was done on a minimal install of CentOS 7.5. Other errors have been encountered; I've been installing packages as I go to resolve issues.

jsmeix commented at 2018-07-27 07:54:

@ProfElectric

usr/share/rear/prep/USB/Linux-i386/340_find_mbr_bin.sh
calls the find_syslinux_file function which is defined in
usr/share/rear/lib/bootloader-functions.sh as

function find_syslinux_file {
    # input argument is usually isolinux.bin
    # output argument is the full path of isolinux.bin
    local syslinux_file=""

    for file in /usr/{share,lib,libexec,lib/syslinux}/*/"$1" ; do
        if [[ -s "$file" ]]; then
            syslinux_file="$file"
            break # for loop
        fi
    done
    echo "$syslinux_file"
}

I assume it does not find a mbr.bin file on your
minimal install of CentOS 7.5 so that the root casue is
likely that you have to install whatever RPM package
that provides the needed mbr.bin file.

FYI: On my SLES12-SP3 system I have /usr/share/syslinux/mbr.bin
which is provided by the syslinux RPM package.

To prove my above assumption run usr/sbin/rear -D mkrescue
with full debugging information and inspect the ReaR log file.

In general you may hit by various problems when you use ReaR
on a minimal install of whatever Linux distribution because ReaR needs
a lot of stuff that is "usually there" and if it is not there then ReaR fails at
various places.

In particular you must verify that "rear recover" actually works, cf.
"No disaster recovery without testing and continuous validation" in
https://en.opensuse.org/SDB:Disaster_Recovery


[Export of Github issue for rear/rear.]