[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#748805: initrd-tools: Systems on btrfs root fail to boot due to missing module dependency



Control: retitle -1 initrd-tools: Systems on btrfs root fail to boot due
to missing module dependency
Control: severity -1 critical
Control: tags -1 patch
Control: reassign -1 initramfs-tools 0.115

Dear kernel maintainers,

I recently ran into this very issue on a head-less armel system,
effectively making the system un-bootable. I had to attach a serial
console to un-brick the box.

Since Linux 3.14 (or 0b947aff1599afbbd2ec07ada87b05af0f94cf10, to be
precise), the btrfs module no longer depends on libcrc32c, but only on
crc32c. However, this is one of the "hidden" dependencies, so
modules.dep doesn't list it. If mkinitramfs doesn't happen to include
crc32c for some other reason, an initrd without that module is
generated, even if btrfs needs it to boot. For me, this led to the same
error upon boot, as others have posted, before:

modprobe: can't load module btrfs (kernel/fs/btrfs/btrfs.ko): unknown
symbol in module, or unknown parametr

(Without any further hints in dmegs, BTW)


The attached patch adds an entry to the list of hidden dependencies to
/usr/share/initramfs-tools/hook-functions to fix this issue. This also
renders the work-around proposed by Tristan unnecessary.

Thanks to WorMzy Tykashi for the actual analysis of the issue [0].

Regards

Markus Wanner


[0]: Mail by WorMzy Tykashi on the linux-btrfs list:
http://marc.info/?l=linux-btrfs&m=139370881713639&w=2
--- a/hook-functions	2014-07-14 14:27:43.324000000 +0200
+++ b/hook-functions	2014-07-14 14:28:19.960000000 +0200
@@ -512,7 +512,9 @@
 hidden_dep_add_modules()
 {
 	local modules=
-	for dep in "lib/libcrc32c crc32c" "fs/ubifs/ubifs deflate zlib lzo"; do
+	for dep in "lib/libcrc32c crc32c" \
+			"fs/ubifs/ubifs deflate zlib lzo" \
+			"fs/btrfs/btrfs crc32c"; do
 		set -- $dep
 		if [ -f "${DESTDIR}/lib/modules/${version}/kernel/$1.ko" ]; then
 			shift

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: