Bug#600568: please move zfs.ko and opensolaris.ko to /boot
Package: kfreebsd-image-8.1-1-amd64
Version: 8.1-5
Severity: normal
Sometimes extra modules are needed for boot. This is more
common on GNU/Linux, where most filesystem drivers are split
into modules. These modules reside in /boot (inside initrd)
so that GRUB can load them.
In general, there's no garantee that / will be readable by
GRUB, as some setups (e.g. crypto or unsupported filesystems)
may prevent that.
Since kFreeBSD doesn't support initrd [1], the FreeBSD system
installs all kernel modules in /boot, to ensure their loader
will be capable of loading them in case they're necessary for
bootstrap. acpi.ko used to be a typical example of this.
With a ZFS root, GRUB needs to be able to load zfs.ko and
opensolaris.ko in order to boot your kernel. Usually this is
no problem because GRUB supports ZFS, but some ZFS features
(gzip compression, or volume arrays) or other conditions
(encrypted volumes) are not yet supported.
The usual workaround is to create two boot partitions instead
of one: one for /boot and one for /lib/modules.
A simpler solution would be to install zfs.ko and opensolaris.ko
in /boot/kfreebsd-${version}/ or such, and turn their old
paths in /lib/modules into symlinks. update-grub will then
adjust grub.cfg appropiately to load these modules from their
real location.
[1] well, it does, but without pivot_root() it can't be used
in this way.
-- System Information:
Debian Release: squeeze/sid
APT prefers testing
APT policy: (500, 'testing')
Architecture: kfreebsd-amd64 (x86_64)
Kernel: kFreeBSD 8.1-1-amd64
Locale: LANG=ca_AD.UTF-8, LC_CTYPE=ca_AD.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages kfreebsd-image-8.1-1-amd64 depends on:
ii freebsd-utils 8.1-2 FreeBSD utilities needed for GNU/k
ii kldutils 8.1-2 tools for managing kFreeBSD module
kfreebsd-image-8.1-1-amd64 recommends no packages.
kfreebsd-image-8.1-1-amd64 suggests no packages.
-- no debconf information
Reply to: