From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Subject: bug#34162: linux-libre 4.20+ fails to mount ext4 on aarch64 Date: Fri, 25 Jan 2019 09:59:09 +0100 Message-ID: <87h8dxru3m.fsf@gnu.org> References: <87a7jtyeow.fsf@ponder> <874l9zhcew.fsf@gnu.org> <87h8dzw9i9.fsf@ponder> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([209.51.188.92]:43079) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gmxLJ-0006Kl-2b for bug-guix@gnu.org; Fri, 25 Jan 2019 04:00:05 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gmxLH-0003fQ-61 for bug-guix@gnu.org; Fri, 25 Jan 2019 04:00:05 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:45246) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gmxLG-0003du-7s for bug-guix@gnu.org; Fri, 25 Jan 2019 04:00:03 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1gmxLG-0007xL-3g for bug-guix@gnu.org; Fri, 25 Jan 2019 04:00:02 -0500 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <87h8dzw9i9.fsf@ponder> (Vagrant Cascadian's message of "Wed, 23 Jan 2019 09:48:14 -0800") List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: Vagrant Cascadian Cc: 34162@debbugs.gnu.org Hi, Vagrant Cascadian skribis: > On 2019-01-23, Ludovic Court=C3=A8s wrote: >> Vagrant Cascadian skribis: >>> After upgrading to linux-libre 4.20, and again tested with 4.20.3, an >>> aarch64 system failed to boot (using 4.19.10 worked fine): >>> >>> [ 3.692351] device-mapper: ioctl: 4.39.0-ioctl (2018-04-03) initiali= sed: dm-devel@redhat.com >>> ext2fs_check_if_mount: Can't check if filesystem is mounted due to miss= ing mtab file while determining whether /dev/sda6 is mounted. >>> /dev/sda6: clean, 596262/6553600 files, 7663147/26214400 blocks >>> [ 3.948786] EXT4-fs (sda6): Cannot load crc32c driver. >>> ERROR: In procedure mount: >>> In procedure mount: No such file or directory > ... >>> Workaround or fix was to add to config.scm: >>> >>> (initrd (append (list "crc32c_generic" ... ) %base-initrd-modules)) >> >> There are potentially two issues here: >> >> 1. Why wasn=E2=80=99t crc32c_generic.ko automatically pulled in by the= initrd >> build code? Isn=E2=80=99t it a dependency of ext4.ko? > > It is not a hard dependency, no. It's an optional feature only needed if > certain ext4 features are enabled on the filesystem (maybe metadata_csum > in this case?). So it's listed as a MODULE_SOFTDEP of ext4: > > fs/ext4/super.c:MODULE_SOFTDEP("pre: crc32c"); Interesting. Should we add support for soft dependencies in (gnu build linux-modules), and pull in soft dependencies in the initrd? Currently we only do that for hard dependencies. That wouldn=E2=80=99t help in this case since ext4 is built-in. So my gues= s is that for this particular case we should probably just change the AArch64 kernel config so it matches the x86 ones. Thoughts? Thanks, Ludo=E2=80=99.