I hope this can be dealt with, it seems to be the only remaining issue in getting Debian to support btrfs root filesystems.
This is easily reproducible, I installed from a recent daily build netinst, put /boot on ext3 and / on btrfs and same problem on boot. The problem is that btrfs depends on libcrc32c, which demand loads any of several crc32c implementations, depending on hardware. Those modules are not declared as dependencies, so initramfs-tools does not include them. So, another way to see the same problem: r...@gnu:/lib/modules/2.6.32-5-686/kernel/crypto>mv crc32c.ko ~ r...@gnu:/lib/modules/2.6.32-5-686/kernel/crypto>insmod ../lib/libcrc32c.ko insmod: error inserting '../lib/libcrc32c.ko': -1 Unknown symbol in module r...@gnu:/lib/modules/2.6.32-5-686/kernel/crypto>mv ~/crc32c.ko . r...@gnu:/lib/modules/2.6.32-5-686/kernel/crypto>insmod ../lib/libcrc32c.ko r...@gnu:/lib/modules/2.6.32-5-686/kernel/crypto> So, at least a workaround would be for the initramfs to have crc32c added to it whenever libcrc32c is. Attached patch just adds it to the base modules list; since btrfs is already there that seems like an ok quick fix. Note that it would probably be better to try first loading hardware optimised versions like crc32c-intel, and only load crc32c if they fail to load. (BTW, this bug probably also breaks netbooting with certian ethernet cards whose drivers also use libcrc32c.) -- see shy jo
--- hook-functions.orig 2011-01-03 16:20:26.705813570 -0400 +++ hook-functions 2011-01-03 16:20:30.278780384 -0400 @@ -412,7 +412,7 @@ for x in ehci-hcd ohci-hcd uhci-hcd usbhid xhci hid-apple \ hid-cherry hid-logitech hid-microsoft \ btrfs ext2 ext3 ext4 ext4dev isofs jfs nfs reiserfs udf xfs \ - af_packet atkbd i8042 virtio_pci; do + af_packet atkbd i8042 virtio_pci crc32c; do manual_add_modules "${x}" done ;;
signature.asc
Description: Digital signature