Comment 0 for bug 1894329

Revision history for this message
Usarin Heininga (usarinheininga) wrote :

When I try to revert to a previous state from the grub menu, the boot fails. The system drops me to a repair modus.

zfs-mount-generator fails with the message:
couldn't ensure boot: Mounted clone bootFS dataset created by initramfs doesn't have a valid _suffix (at least .*_<onechar>): \"rpool/ROOT/ubuntu_\"".

After a reboot I have an extra clone called "rpool/ROOT/ubuntu_", indeed without a suffix.
After a little investigation I found the problem in /usr/share/initramfs-tools/scripts/zfs at the end in function
uid()
{
   dd if=/dev/urandom of=/dev/stdout bs=1 count=100 2>/dev/null | tr -dc 'a-z0-9' | cut -c-6
}, the dd command fails during boot with the message "process 'dd' started with executable stack.
After this an empty uid is returned which explains the dataset without a proper suffix.
Replacing the function with:
uid()
{
   grep -a -m10 -E "\*" /dev/urandom 2>/dev/null | tr -dc 'a-z0-9' | cut -c-6
}

fixes the problem.

Ubuntu version is:
Description: Ubuntu Groovy Gorilla (development branch)
Release: 20.10

zfs-initramfs version is:
0.8.4-1ubuntu11

With regards,

Usarin Heininga

ProblemType: Bug
DistroRelease: Ubuntu 20.10
Package: zfs-initramfs 0.8.4-1ubuntu11
ProcVersionSignature: Ubuntu 5.8.0-18.19-generic 5.8.4
Uname: Linux 5.8.0-18-generic x86_64
NonfreeKernelModules: zfs zunicode zavl icp zcommon znvpair
ApportVersion: 2.20.11-0ubuntu45
Architecture: amd64
CasperMD5CheckResult: skip
CurrentDesktop: KDE
Date: Fri Sep 4 20:23:44 2020
InstallationDate: Installed on 2020-09-02 (2 days ago)
InstallationMedia: Ubuntu 20.10 "Groovy Gorilla" - Alpha amd64 (20200831)
ProcEnviron:
 LANGUAGE=
 PATH=(custom, no user)
 XDG_RUNTIME_DIR=<set>
 LANG=nl_NL.UTF-8
 SHELL=/bin/bash
SourcePackage: zfs-linux
UpgradeStatus: No upgrade log present (probably fresh install)