#2688 Issue closed
: Ubuntu 20.04 initrd "decoding failed" - needs special command to make initrd¶
Labels: support / question
, no-issue-activity
will-code-for-pizza opened issue at 2021-09-30 14:34:¶
Relax-and-Recover (ReaR) Issue Template¶
Fill in the following items before submitting a new issue
(quick response is not guaranteed with free support):
-
ReaR version ("/usr/sbin/rear -V"):
Relax-and-Recover 2.5 / Git (Ubuntu 20.04 distro package)
-
OS version ("cat /etc/os-release" or "lsb_release -a" or "cat /etc/rear/os.conf"):
NAME="Ubuntu"
VERSION="20.04.3 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.3 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
- ReaR configuration files ("cat /etc/rear/site.conf" and/or "cat /etc/rear/local.conf"):
/etc/rear/site.conf
BACKUP=NETFS
OUTPUT=ISO
USE_CFG2HTML=y
BACKUP_PROG=tar
BACKUP_PROG_COMPRESS_OPTIONS="--gzip"
LOGFILE="/var/log/rear/$HOSTNAME.log"
BACKUP_PROG_EXCLUDE=( '/media/*' '/mnt/*' '/BACKUP/*' '/cache/*' '/tmp/*' '/dev/shm/*' $VAR_DIR/output/\* )
/etc/rear/local.conf
NETFS_KEEP_OLD_BACKUP_COPY=yes
KEEP_BUILD_DIR="no"
BACKUP_URL=nfs://139.1.xxx.xxx/srv/IMAGES/rear/myserver
EXCLUDE_COMPONENTS=( 'swap:/dev/mapper/rootvg-swaplv' 'fs:/tmp' 'fs:/var/cache' )
REQUIRED_PROGS+=( 'ifenslave' )
GRUB2_MODULES_LOAD+=( 'bonding' )
- Hardware vendor/product (PC or PowerNV BareMetal or ARM) or VM (KVM guest or PowerVM LPAR):
HPe Proliant DL580 Gen8
- System architecture (x86 compatible or PPC64/PPC64LE or what exact ARM device):
x86
- Firmware (BIOS or UEFI or Open Firmware) and bootloader (GRUB or ELILO or Petitboot):
Legacy BIOS activated, GRUB
- Storage (local disk or SSD) and/or SAN (FC or iSCSI or FCoE) and/or multipath (DM or NVMe):
local disks (HDD and SSD)
- Storage layout ("lsblk -ipo NAME,KNAME,PKNAME,TRAN,TYPE,FSTYPE,SIZE,MOUNTPOINT"):
# lsblk -ipo NAME,KNAME,PKNAME,TRAN,TYPE,FSTYPE,SIZE,MOUNTPOINT
NAME KNAME PKNAME TRAN TYPE FSTYPE SIZE MOUNTPOINT
/dev/loop0 /dev/loop0 loop squashfs 61.8M /snap/core20/1081
/dev/loop1 /dev/loop1 loop squashfs 55.5M /snap/core18/2074
/dev/loop2 /dev/loop2 loop squashfs 67.6M /snap/lxd/20326
/dev/loop3 /dev/loop3 loop squashfs 67.3M /snap/lxd/21545
/dev/loop4 /dev/loop4 loop squashfs 32.3M /snap/snapd/12883
/dev/loop6 /dev/loop6 loop squashfs 55.4M /snap/core18/2128
/dev/loop7 /dev/loop7 loop squashfs 32.3M /snap/snapd/13170
/dev/sda /dev/sda sas disk 558.7G
|-/dev/sda1 /dev/sda1 /dev/sda part 1M
|-/dev/sda2 /dev/sda2 /dev/sda part ext4 2G /boot
`-/dev/sda3 /dev/sda3 /dev/sda part LVM2_member 556.7G
|-/dev/mapper/rootvg-rootlv /dev/dm-2 /dev/sda3 lvm ext4 4G /
|-/dev/mapper/rootvg-swaplv /dev/dm-3 /dev/sda3 lvm swap 4G [SWAP]
|-/dev/mapper/rootvg-tmplv /dev/dm-4 /dev/sda3 lvm ext4 4G /tmp
|-/dev/mapper/rootvg-varlv /dev/dm-5 /dev/sda3 lvm ext4 6G /var
|-/dev/mapper/rootvg-varloglv /dev/dm-6 /dev/sda3 lvm ext4 2G /var/log
|-/dev/mapper/rootvg-homelv /dev/dm-7 /dev/sda3 lvm ext4 8G /home
|-/dev/mapper/rootvg-usrlv /dev/dm-8 /dev/sda3 lvm ext4 4G /usr
`-/dev/mapper/rootvg-optlv /dev/dm-9 /dev/sda3 lvm ext4 2G /opt
/dev/sdb /dev/sdb sas disk LVM2_member 4.6T
|-/dev/mapper/datavg-varliblv /dev/dm-0 /dev/sdb lvm ext4 2G /var/lib
`-/dev/mapper/datavg-srvlv /dev/dm-1 /dev/sdb lvm ext4 2G /srv
- Description of the issue (ideally so that others can reproduce it):
After 'mkrescue' and 'mkbackuponly' without any errors I tried to restore the machine,
bootin´ with rescue-iso-image.
System loads ISO:
Rescue image kernel 5.4.0-84-generic Thu, 30 Sept 2021 15:35:23 +0200
BACKUP_NETFS OUTPU=ISO BACKUP_URL=nfs://139.1.xxx.xxx/srv/IMAGES/rear/myserver
Loading kernel... ok
Loading initrd.cgz...ok
Decoding failed
--System halted
- Workaround, if any:
No workaround
- Attachments, as applicable ("rear -D mkrescue/mkbackup/recover" debug log files):
No attachements
Thanks in advance !
Cheers!
jsmeix commented at 2021-10-01 10:10:¶
By googling for initrd "decoding failed"
I found e.g.
https://forums.linuxmint.com/viewtopic.php?t=323152
and
https://askubuntu.com/questions/1269855/usb-installer-initramfs-unpacking-failed-decoding-failed
that both have links to (rather old from 2019)
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1835660
so it seems the root cause is in Ubuntu and not in ReaR
but I am not a Ubuntu user so I cannot check Ubuntu issues myself.
Specifying an appropriate REAR_INITRD_COMPRESSION (see default.conf)
should help for systems that cannot decompress the ReaR default initrd.
will-code-for-pizza commented at 2021-10-05 13:00:¶
Hi,
unfortunatelly none of the compression options worked for me.
REAR_INITRD_COMPRESSION="fast"
REAR_INITRD_COMPRESSION="best"
REAR_INITRD_COMPRESSION="lzma"
REAR_INITRD_COMPRESSION="lz4"
All options result in "decoding failed" --- System halted.
Regards
Will Code
jsmeix commented at 2021-10-05 14:43:¶
@will-code-for-pizza
I think you need to find out what the right command is
that creates an initrd for the specific system you have
so that this initrd can then be decompressed/decoded
by the specific kernel that runs on your particular system.
When you know that command you can modify your
usr/share/rear/pack/GNU/Linux/900_create_initramfs.sh
to let it run that command instead of what it currently does.
If it then works to boot the ReaR recovery system in your case
please tell us that exact command that created the initrd for you
so we could have a look what the differences are compared to
what 900_create_initramfs.sh currently does so that we
may finally enhance 900_create_initramfs.sh accordingly.
accordingly.
will-code-for-pizza commented at 2021-10-06 07:20:¶
Ok, I will do that.
Many thanks for the hint. Give me a few hours, please.
Cheers.
will-code-for-pizza commented at 2021-10-25 12:22:¶
After some days of searching the internet, I found serveral depending
issues.
The command for creating initrd in Ubuntu 20.04 is done in
'mkinitramfs'.
Regards.
will-code-for-pizza commented at 2021-10-25 12:35:¶
I think, I found it....
/usr/share/rear/pack/GNU/Linux/900_create_initramfs.sh (ReaR)
(lz4)
cpio -H newc --create --quiet | lz4 -l > "$TMP_DIR/$REAR_INITRD_FILENAME"
(lzma)
cpio -H newc --create --quiet | xz --format=lzma --compress --stdout > "$TMP_DIR/$REAR_INITRD_FILENAME"
(fast)
cpio -H newc --create --quiet | gzip --fast > "$TMP_DIR/$REAR_INITRD_FILENAME"
(best)
cpio -H newc --create --quiet | gzip --best > "$TMP_DIR/$REAR_INITRD_FILENAME"
(*)
cpio -H newc --create --quiet | gzip > "$TMP_DIR/$REAR_INITRD_FILENAME"
/usr/sbin/mkinitramfs (Ubuntu 20.04)
cpio --quiet $cpio_owner_root --reproducible -o -H newc | gzip >>"${outfile}"
cpio --quiet $cpio_owner_root --reproducible -o -H newc 4>&-; echo "ec2=$?;" >&4
where
cpio_owner_root="-R 0:0"
will-code-for-pizza commented at 2021-10-25 12:47:¶
So I will create a new
(custom) entry in
/usr/share/rear/pack/GNU/Linux/900_create_initramfs.sh
(custom)
cpio -R 0:0 --reproducible -o -H newc | gzip > "$TMP_DIR/$REAR_INITRD_FILENAME"
and try out...
will-code-for-pizza commented at 2021-10-25 17:09:¶
SOLVED !
/etc/rear/local.conf
REAR_INITRD_COMPRESSION="ubuntu2004"
/usr/share/rear/pack/GNU/Linux/900_create_initramfs.sh
(ubuntu2004)
# Create initrd.cgz with gzip compression (the UBUNTU way)
REAR_INITRD_FILENAME="initrd.cgz"
LogPrint "Creating recovery/rescue system initramfs/initrd $REAR_INITRD_FILENAME with gzip the UBUNTU way"
if find . ! -name "*~" | cpio -R 0:0 --reproducible -o -H newc | gzip > "$TMP_DIR/$REAR_INITRD_FILENAME" ; then
needed_seconds=$(( $( date +%s ) - start_seconds ))
LogPrint "Created $REAR_INITRD_FILENAME with gzip the UBUNTU way ($( stat -c%s $TMP_DIR/$REAR_INITRD_FILENAME ) bytes) in $needed_seconds seconds"
else
# No need to clean up things (like 'popd') because Error exits directly:
Error "Failed to create recovery/rescue system $REAR_INITRD_FILENAME"
fi
;;
jsmeix commented at 2021-10-26 08:23:¶
@will-code-for-pizza
thank you for your analysis what the root cause is
and for your solution!
I will add your solution to the ReaR code.
will-code-for-pizza commented at 2021-10-27 08:27:¶
@jsmeix: You´re welcome. This is how OpenSource should work ;-)
Thanks for your support.
Cheers!
will-code-for-pizza commented at 2021-10-27 15:34:¶
Unfortunatelly, the error occurs again.
I have to investigate deeper.
Booting into "Recover" succeeded most of the time. Booting in "Automatic recover" always failed.
Sorry.
jsmeix commented at 2021-10-28 06:28:¶
@will-code-for-pizza
do you mean booting in "Automatic recover" always fails with
Loading kernel... ok
Loading initrd.cgz...ok
Decoding failed
as in your initial
https://github.com/rear/rear/issues/2688#issue-1012259248
or does booting in "Automatic recover" fail differently?
I ask because offhandedly I could not imagine
how booting in "Automatic recover" mode
could make a difference about initrd decoding
because one same initrd is used.
jsmeix commented at 2021-11-02 13:32:¶
@will-code-for-pizza
what looks a bit strange is that we at ReaR upstream
do not have another same issue report from another user
but I know that there are several users with Ubuntu 20.04
so I wonder how ReaR with Ubuntu 20.04 works for them?
I.e. it could be something special in your environment
why no other ReaR users with Ubuntu 20.04
seem to also have this "Decoding failed" issue?
will-code-for-pizza commented at 2021-11-10 08:31:¶
Hi @jsmeix and thanks for reply.
Sorry for the late answer from my site.
For me, the problem described in #2688 (comment) often occurs while
choosing "Automatic recover".
I have to investigate further to be totally sure and will report my
findings here.
Your arguments about Ubuntu 20.04 and a bunch of other users WITHOUT
problems seems logical.
Probably it could depend on networking issues.
I´ll be back soon.
Cheers!
DEvil0000 commented at 2021-11-11 21:15:¶
I am running on ubuntu 20.04 and did not face such a issue. I however
never tested auto recover. The command change however is unlikely to
make a difference.
I use output=ISO and output=USB normally with backup=borg on HP and
other hardware.
Edit:
did you try with rear 2.6 instead of 2.5? Or with master?
I don't think this is a rear issue at all. Maybe ubuntu but I don't
think so. Did you update your HP firmware?
HP firmware tends to have all sorts of crazy bugs.
Thinking a bit more about it this may be bootloader config or kernel
commandline options as well. Since systemd the commandline options and
startup changed a bit. Not sure how automatic recover is done.
github-actions commented at 2022-01-15 02:23:¶
Stale issue message
[Export of Github issue for rear/rear.]