Our modprobe is an ancient heritage from the past, probably dating to
a time where busybox's modprobe features were limited. There is no reason
at all to keep using our own version instead of the busybox one.
This commit also makes modules_scan 15% faster.
On some system the output from the new lddtree does not match with what
genkernel expects, however lddtree have insted gained a new option that
essentially gives what we want with less code.
Signed-off-by: Peter Hjalmarsson <xake@rymdraket.net>
Whenever /etc/zfs/{zdev.conf,zpool.cache} was missing, we would fail.
zpool.cache is not generated during cross compilation, which causes a
failure in Catalyst when building LiveCDs. Users that do not follow a
strict set of installation instructions can also suffer failures as a
consequence of this.
zpool.cache includes information about known pools that enables ZFS to
detect situations where an entire pool disappears. It is also required
to do pool import in corner cases, such as those those involving
file-based pools, and has the beneficial effect of reducing pool import
times. Unconditional omission of zpool.cache in general is not an
option, but for the situations identified, it is okay to convert the
failure into a warning, which is what we do.
Reported-by: Rick Farina <zero_chaos@gentoo.org>
Reported-by: Alexander Zubkov <green@msu.ru>
Signed-off-by: Richard Yao <ryao@gentoo.org>
Somewhere in the mists of time we lost part of the multipath patch, so
we were bundling the userspace, but not the kernel modules, or ever
using it.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
The copy_binaries function is explicitly released into the public domain to
encourage wide adoption and re-use.
This is to enable use in some cases of BSD and other licensing, and
specifically avoiding the need to be party to any contributor agreements.
Additionally, the code could be considered of trivial length in some regions.
Written by:
- Robin H. Johnson <robbat2@gentoo.org> (complete rewrite)
- Richard Yao <ryao@cs.stonybrook.edu> (original concept)
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
dmraid is entirely broken if you try to use the system static
LVM/device-mapper. Instead, always build our own LVM2 for the initramfs,
using DESTDIR for cleaner install. Dead code paths for old LVM2 build
not removed yet until more users have tested.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
This implements customizable initramfs compression, based on the Pentoo
genkernel fork (SVN revs r2142, r2145, by Jens Pranaitis
<jens@chaox.net>).
New configuration option COMPRESS_INITRD_TYPE to allow manual selection,
whereas the Pentoo fork provided auto-selection based on what was
available in the kernel configuration. Auto-selection is used by
default, and is available with the argument of 'best' to the new option.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
The existing multipath functionality manually picks up a binary and lots
of needed libraries manually, and sometimes misses libraries if the
binary was linked against something else.
Use lddtree from app-misc/pax-utils to get all libraries with the
binary. The only ones that will be missed are those that are dlopen()ed.
cpio is used for copying to preserve directory structure.
lddtree usage replaces a larger manual function from calling ldd, that
was also vulnerable to injections.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
(commit message rewritten)