Subject: Re: bug#34162: linux-libre 4.20+ fails to mount ext4 on aarch64

From: Ludovic Courtès <[email-masked]>
Date: Wed, 23 Jan 2019 11:54:31 +0100

Hi Vagrant,

Vagrant Cascadian <[email-masked]> 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) initialised: [email-masked]
> ext2fs_check_if_mount: Can't check if filesystem is mounted due to missing 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
>
> Entering a new prompt.  Type `,bt' for a backtrace or `,q' to continue.
> GNU Guile 2.2.4
> Copyright (C) 1995-2017 Free Software Foundation, Inc.
>
> Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
> This program is free software, and you are welcome to redistribute it
> under certain conditions; type `,show c' for details.
>
> Enter `,help' for help.
> scheme@(guile-user)>
>
> 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’t crc32c_generic.ko automatically pulled in by the initrd
     build code?  Isn’t it a dependency of ext4.ko?

  2. Is crc32c_generic built-in in our x86_64 kernel config?

Thanks,
Ludo’.