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)
When using an integrated initramfs (including in kernel during build),
it's better NOT to compress the initramfs, as the kernel build process
will then be re-compressing it. This can provide space savings on disk
as well as potential time & memory savings (one less decompress pass is
needed before the kernel can use the initramfs).
This functionality was previously available in the undocumented
COMPRESS_INITRD variable.
Code-by: Richard Yao <ryao@cs.stonybrook.edu>
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
(commit message rewritten).
Provide real boolean commandline options for options that were
previously only available as booleans in the config, so that they can be
enable in configuration and overridden to disable on the commandline.
Remove negation on options: NOINSTALL, NORAMDISKMODULES,
NO_KERNEL_SOURCES.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
Make it possible to choose a custom mdadm.conf for your ramdisk.
If not set, no mdadm.conf will be copied, and ramdisk will auto-detect.
This also fixes a regression where genkernel always tried to copy
/etc/mdadm.conf to the ramdisk, failing if it was non-existant.
mdassemble can't handle newer metadata formats and fails for partitioned
arrays, among other things.
This...
- replaces the bundled mdassemble with proper support for mdadm
- fixes raid autodetection/assemble when no mdadm.conf is available
- fixes a compilation failure for newer mdadm versions
Tested w/ genkernel 3.4.10.907 and mdadm 3.1.3.