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"