You are not logged in.

#1 2016-03-28 11:32:27

thevoidnn
Member
Registered: 2014-08-13
Posts: 1

[SOLVED] linux-mainline 4.6rc1 won't boot with / in f2fs

hi ppl!
after upgrading to mainline 4.6rc1 i cannot boot anymore, because  mount fails inside initramfs:

F2FS: Cannot load crc32 driver.
mount: no such file or directory.


i've found that it's related to this commit:
https://github.com/torvalds/linux/commi … c994f5cf56

they are now using crypto_alloc_shash("crc32", 0, 0); to do the crypto-related work.

so my question is: how can i make it work? how can i put the required module/files into initramfs?

i've lsmod while in ramfs, all i saw was "fscrypt" and nothing about crc32 or other crypto modules.

i tryed this in /etc/mkinitcpio.conf:
MODULES="crc32"

but with no luck.

any ideas on this?

UPD:
solved with

MODULES="crc32 libcrc32c crc32c_generic crc32c-intel crc32-pclmul"

Last edited by thevoidnn (2016-03-28 11:59:54)

Offline

#2 2016-05-17 02:56:01

thelongdivider
Member
Registered: 2013-11-09
Posts: 52

Re: [SOLVED] linux-mainline 4.6rc1 won't boot with / in f2fs

Actually, I can confirm that this is still true.  I installed 4.6-1 out of the testing repository and this problem remains.

thevoidnn wrote:

hi ppl!
after upgrading to mainline 4.6rc1 i cannot boot anymore, because  mount fails inside initramfs:

F2FS: Cannot load crc32 driver.
mount: no such file or directory.


i've found that it's related to this commit:
https://github.com/torvalds/linux/commi … c994f5cf56

they are now using crypto_alloc_shash("crc32", 0, 0); to do the crypto-related work.

so my question is: how can i make it work? how can i put the required module/files into initramfs?

i've lsmod while in ramfs, all i saw was "fscrypt" and nothing about crc32 or other crypto modules.

i tryed this in /etc/mkinitcpio.conf:
MODULES="crc32"

but with no luck.

any ideas on this?

UPD:
solved with

MODULES="crc32 libcrc32c crc32c_generic crc32c-intel crc32-pclmul"

Offline

#3 2016-05-18 20:50:57

blitz
Banned
Registered: 2014-06-14
Posts: 32

Re: [SOLVED] linux-mainline 4.6rc1 won't boot with / in f2fs

linux-zen 4.6.0-1 on F2FS formatted SSD fails to mount.
Modified /etc/mkinicpio.conf with

MODULES="crc32 libcrc32c crc32c_generic crc32c-intel crc32-pclmul"

does rebuild correct kernel image.

% lsmod | grep crc32
crc32_pclmul           16384  1
crc32c_generic         16384  0
crc32c_intel           24576  2
libcrc32c              16384  0

Offline

#4 2016-05-19 02:06:19

Scimmia
Fellow
Registered: 2012-09-01
Posts: 12,092

Re: [SOLVED] linux-mainline 4.6rc1 won't boot with / in f2fs

Guys, does the "fallback" initramfs boot?

Offline

#5 2016-05-19 09:47:10

anespo
Member
From: Europe
Registered: 2007-07-17
Posts: 39

Re: [SOLVED] linux-mainline 4.6rc1 won't boot with / in f2fs

Offline

#6 2016-05-21 15:25:39

lauchazombie
Member
Registered: 2008-07-05
Posts: 25

Re: [SOLVED] linux-mainline 4.6rc1 won't boot with / in f2fs

Scimmia wrote:

Guys, does the "fallback" initramfs boot?

It did work for me.

Offline

#7 2016-06-02 08:24:14

panaut0lordv
Member
Registered: 2016-04-18
Posts: 3

Re: [SOLVED] linux-mainline 4.6rc1 won't boot with / in f2fs

For me fallback failed to boot, too.

Offline

#8 2016-06-08 15:40:50

tmoorman
Member
Registered: 2012-08-07
Posts: 22

Re: [SOLVED] linux-mainline 4.6rc1 won't boot with / in f2fs

Upgraded to kernel 4.6.1, rebooted.
Will not boot, get kicked to emergency shell, with message: "F2FS-fs (sda3): cannot load crc32 driver"
Restore from backup. Find this forum post, apply change to /etc/mkinicpio.conf and "# mkinitcpio -p linux" (as per blitz above)
Reboot without upgrading and crc32 shows up with lsmod.
Upgrade and reboot.  I am kicked to emergency shell with same error as before.
I think the title for this post should have [SOLVED] removed.

Edit:
Just noticed the original post was for the rc1 of 4.6.  I am trying to use the production version: linux-4.6.1-2-x86_64.pkg.tar.xz.

Edit2:
Under kernel 4.5.4-1, modprobe of crc32_pclmul and crc32c_intel give
"modprobe: ERROR: could not insert 'crc32_pclmul': No such device"
"modprobe: ERROR: could not insert 'crc32c_intel': No such device"
crc32c_generic and libcrc32c load successfully.

Last edited by tmoorman (2016-06-08 16:32:55)

Offline

#9 2016-06-08 19:42:43

matteoipri
Member
Registered: 2016-06-08
Posts: 17

Re: [SOLVED] linux-mainline 4.6rc1 won't boot with / in f2fs

I have the same issue with 4.6.1-2 updated today. On a different PC I use as a server, but without f2fs, the upgrade went just fine.
I have no backup, I have to figure out a way to revert back to the old kernel and wait for a fix.

Offline

#10 2016-06-08 23:03:51

j1simon
Member
From: Denmark
Registered: 2016-01-28
Posts: 189

Re: [SOLVED] linux-mainline 4.6rc1 won't boot with / in f2fs

I have installed linux-zen 4.6.1-1 today and this works for me:

MODULES="crc32_generic crc32c-intel"

My PC has an Intel processor.

Offline

#11 2016-06-09 10:18:21

v1n33t
Member
Registered: 2013-06-16
Posts: 3

Re: [SOLVED] linux-mainline 4.6rc1 won't boot with / in f2fs

Boot error:
..F2FS: Cannot load crc32 driver.
mount: no such file or directory.

1.Boot Archiso
2 arch-chroot /dev/sd? (see install guide)
3 edit /etc/mkinitcpio.conf

 MODULES="crc32_generic crc32c-intel" 

4 rebuild intramfs

 sudo mkinitcpio -p linux 

5 reboot


I have linux-4.6.1-2 installed and f2fs on root/ and this works for me:

 MODULES="crc32_generic crc32c-intel" 

Edit: Intel processor.

Last edited by v1n33t (2016-06-09 12:39:50)

Offline

#12 2016-06-09 11:08:03

beroal
Member
From: Ukraine
Registered: 2009-06-07
Posts: 359
Website

Re: [SOLVED] linux-mainline 4.6rc1 won't boot with / in f2fs

Compiled the initramfs with

MODULES="crc32 crc32_pclmul crc32c libcrc32c crc32c_generic crc32c_intel"

No luck. The fallback initramfs does not work too.

In the emergency shell, "modprobe crc32" outputs "error could not insert crc32_pclmul no such device", and "modprobe crc32c" outputs "error could not insert crc32c_intel no such device." So the modules are in the filesystem, but the kernel can't load them. In the old kernel, "modprobe crc32" works, but "modprobe crc32_pclmul" and "modprobe crc32c" does not. It looks like "crc32" stopped working some time ago, and I didn't notice it. I have an AMD Athlon 64 X2 processor, apparently without SSE4.

The only solution I found is to downgrade the kernel to 4.5.4-1.

Last edited by beroal (2016-06-09 11:47:47)


we are not condemned to write ugly code

Offline

#13 2016-06-09 13:13:43

beroal
Member
From: Ukraine
Registered: 2009-06-07
Posts: 359
Website

Re: [SOLVED] linux-mainline 4.6rc1 won't boot with / in f2fs


we are not condemned to write ugly code

Offline

#14 2016-06-09 15:53:03

beroal
Member
From: Ukraine
Registered: 2009-06-07
Posts: 359
Website

Re: [SOLVED] linux-mainline 4.6rc1 won't boot with / in f2fs

The correct configuration is

MODULES="crc32_generic crc32-pclmul libcrc32c crc32c_generic crc32c-intel"

The module "crc32" has been renamed to "crc32_generic".


we are not condemned to write ugly code

Offline

#15 2016-06-09 20:29:15

tmoorman
Member
Registered: 2012-08-07
Posts: 22

Re: [SOLVED] linux-mainline 4.6rc1 won't boot with / in f2fs

Upgraded kernel to 4.6.2.  Rebooted and got the same result as 4.6.1.
I rebooted using Archiso (which has kernel 4.5.4) and used arch-chroot to chroot into my root partition.
From there I edited /etc/mkinitcpio.conf:
  MODULES="crc32_generic libcrc32c crc32c_generic"
then
# mkinitcpio -p linux
# exit
# reboot now
Reboot is successful.
tmoorman@aria:~$ uname -a
Linux aria 4.6.2-1-ARCH #1 SMP PREEMPT Wed Jun 8 08:40:59 CEST 2016 x86_64 GNU/Linux
tmoorman@aria:~$ lsmod | grep crc
crc16                  16384  1 ext4
crc_itu_t              16384  1 firewire_core
crc32c_generic         16384  1
libcrc32c              16384  0
crc32_generic          16384  1
I have an AMD Phenom II x4 cpu which could explain why I can get away with not using the crc32c-intel module.

Offline

#16 2016-06-10 08:03:45

matteoipri
Member
Registered: 2016-06-08
Posts: 17

Re: [SOLVED] linux-mainline 4.6rc1 won't boot with / in f2fs

v1n33t wrote:

Boot error:
..F2FS: Cannot load crc32 driver.
mount: no such file or directory.

1.Boot Archiso
2 arch-chroot /dev/sd? (see install guide)
3 edit /etc/mkinitcpio.conf

 MODULES="crc32_generic crc32c-intel" 

4 rebuild intramfs

 sudo mkinitcpio -p linux 

5 reboot


I have linux-4.6.1-2 installed and f2fs on root/ and this works for me:

 MODULES="crc32_generic crc32c-intel" 

Edit: Intel processor.

Thanks for the detailed steps. I'll try later today to fix my installation and to see if it survives the 4.6.2 upgrade.
Thanks everybody for the tips and infos smile

Offline

#17 2016-06-10 11:14:56

matteoipri
Member
Registered: 2016-06-08
Posts: 17

Re: [SOLVED] linux-mainline 4.6rc1 won't boot with / in f2fs

Thanks again, it worked!
I was wandering... Is there a reason for the order of that modules?
Is there any performance benefit in putting one of theme before (or after) the others?
As context, I have a Gigabyte motherboard with an Intel i7-4790k and boot device is Samsung SSD 950 Pro.
Thanks :-)

Offline

#18 2016-06-10 12:17:07

beroal
Member
From: Ukraine
Registered: 2009-06-07
Posts: 359
Website

Re: [SOLVED] linux-mainline 4.6rc1 won't boot with / in f2fs

Is there a reason for the order of that modules? Is there any performance benefit in putting one of theme before (or after) the others?

I doubt that the order matters. I think that the kernel chooses the best module. You can check what modules are used by "lsmod | grep crc". If I am not mistaken, "*_generic" don't use hardware acceleration, "crc32c-intel" uses the SSE4.2 "crc" instruction, "crc32-pclmul" uses the CLMUL instructions. You must see "crc32-pclmul" then.

Last edited by beroal (2016-06-10 12:21:16)


we are not condemned to write ugly code

Offline

#19 2016-06-18 22:09:20

qlum
Member
Registered: 2015-05-02
Posts: 2

Re: [SOLVED] linux-mainline 4.6rc1 won't boot with / in f2fs

adding "crc32_generic" worked on my laptop running an amd e350. Just wondering is there any module for crc that would use hardware accelleration / perform better on my cpu?
Since the e350 supports neither SSE4.2 nor CLMUL are supported on the platform. (probably not)

Offline

#20 2016-06-27 04:17:16

dedxi
Member
Registered: 2014-11-30
Posts: 3

Re: [SOLVED] linux-mainline 4.6rc1 won't boot with / in f2fs

beroal wrote:

The correct configuration is

MODULES="crc32_generic crc32-pclmul libcrc32c crc32c_generic crc32c-intel"

This also worked on my AMD FX 8350 CPU with mainline and CK sources (mkinitcpio -p linux-ck). 

Thanks.

Offline

#21 2016-08-20 10:18:22

mazhar
Member
From: Sanandaj
Registered: 2016-07-12
Posts: 60

Re: [SOLVED] linux-mainline 4.6rc1 won't boot with / in f2fs

beroal wrote:

The correct configuration is

MODULES="crc32_generic crc32-pclmul libcrc32c crc32c_generic crc32c-intel"

thanks so much. i had the same problem and now i'm hell happy big_smile

Last edited by mazhar (2016-08-20 10:18:44)


We are archers, we live in dark to serve the light.

Offline

#22 2016-08-20 12:21:22

R00KIE
Forum Fellow
From: Between a computer and a chair
Registered: 2008-09-14
Posts: 4,734

Re: [SOLVED] linux-mainline 4.6rc1 won't boot with / in f2fs

@mazhar
Me too posts in old threads is not allowed[1-2], closing.

[1] https://wiki.archlinux.org/index.php/Co … bumping.22
[2] https://wiki.archlinux.org/index.php/Co … mpty_posts


R00KIE
Tm90aGluZyB0byBzZWUgaGVyZSwgbW92ZSBhbG9uZy4K

Offline

Board footer

Powered by FluxBB