and plymouth is in use. Previously, this would use plymouth's
ask-for-password action, passing it a --command argument that
included a pipeline (line 206 in previous version of 00-crypt.sh).
As plymouth does not shell-interpret its command however, this fails.
In this version, we create a temporary script file with the necessary
pipeline command in it, and pass this temporary script to plymouth instead.
The temporary script is deleted after use.
(In theory, it should be possible to construct a "/bin/sh -c 'cmd'"-style
invocation for the --command, thereby avoiding this, but I have had no
luck with this approach, due to plymouth's argument parser.)
After generating the module dependencies for drm drivers, we
should pick up all the modules by looking at the whole kernel
modules directory path and not just at drivers/drm.
This has been reported in GitHub issue #17 for genkernel-next.
Since we now have ldconfig which can run during the boot, make sure we
unconditionally copy all the other configuration files (ld.so.conf and
relatives), while only skipping the "cache" step.
/bin/mountpoint was copied to the initramfs only when --multipath
is enabled. Now, I'm not sure why we need the full blown mountpoint
when there is busybox mountpoint which exposes the same cmdline
interface. Furthermore, bb mountpoint can be used to determine if
a filesystem is already mounted.
genkernel's initramfs image is built incrementally by appending to the
cpio file. The introduction of copy_binaries resulted in copying
libraries from the host system, which causes the cpio to include certain
libraries multiple times whenever different stages depended upon the
same library. We address this by extracting the cpio to a temporary
directory and then compressing it again to "finalize" it. The extraction
eliminates the duplicate files.
This makes generated initramfs images slightly smaller and in theory,
should make the initramfs load slightly faster.
Signed-off-by: Richard Yao <ryao@gentoo.org>
Conflicts:
gen_initramfs.sh
zpool.cache and zdev.conf are optional files, so instead of warning when
they are missing, we print a message when they are copied.
Signed-off-by: Richard Yao <ryao@gentoo.org>
Users were seeing the following error message printed:
cp: cannot stat ‘/etc/zfs/zdev.conf’: No such file or directory
Both zdev.conf and zpool.cache are optional files. We print a warning
when they are absent, but cp printed its own error in addition to our
warning. We suppress that.
Signed-off-by: Richard Yao <ryao@gentoo.org>
Some executables (namely: udevadm) may link against libraries in
non-standard paths. For this reason, and as dracut does, we must
copy /etc/ld.so.conf{.d/*,} over and generate a custom ld.so.cache
file.