From 9f9ed09508ddb25b0b3d0ccaf2306329330bbb19 Mon Sep 17 00:00:00 2001 From: illiliti Date: Fri, 17 Apr 2020 20:41:54 +0300 Subject: [PATCH] properly handle user specified modules --- tinyramfs | 17 ++++++++++++----- usr/share/tinyramfs/init | 8 ++++---- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/tinyramfs b/tinyramfs index 8721d25..14ac20a 100755 --- a/tinyramfs +++ b/tinyramfs @@ -342,11 +342,6 @@ install_hostonly_modules() } done < /proc/mounts || panic "failed to install root partition module" fi - - # install user specified modules if any - for _module in $modules; do - install_module "$_module" - done } install_all_modules() @@ -501,6 +496,18 @@ create_initramfs() install_all_modules fi + # install user specified modules if any + [ "$modules" ] && { + for _module in $modules; do + install_module "$_module" + done + + # copy config + printf "%s\n" \ + modules="$modules" \ + >> "${workdir}/etc/config" + } + for _binary in find sort modprobe; do install_binary "$_binary" done diff --git a/usr/share/tinyramfs/init b/usr/share/tinyramfs/init index 33e6eae..1b46dbe 100755 --- a/usr/share/tinyramfs/init +++ b/usr/share/tinyramfs/init @@ -70,6 +70,8 @@ prepare_environment() ln -s /proc/self/fd/2 /dev/stderr trap 'panic "something went wrong"' EXIT + + [ "$modules" ] && modprobe -a "$modules" } parse_cmdline() @@ -147,10 +149,8 @@ unlock_luks() set -- \ "--disable-locks" \ - "$luks_key" \ - "$luks_header" \ - "$luks_discard" \ - "$device" \ + "$luks_key" "$luks_header" \ + "$luks_discard" "$device" \ "${luks_name:-luks-${device##*/}}" cryptsetup open $@ || panic "failed to unlock LUKS"