From: "Dan Horák" <dan-mBPqX7VnFd4@public.gmane.org>
To: initramfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH] Re: control what kernel modules get loaded into ramdisk
Date: Tue, 03 Nov 2009 12:07:33 +0100 [thread overview]
Message-ID: <1257246453.3790.48.camel@eagle.danny.cz> (raw)
In-Reply-To: <4AF0065A.4070100-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
[-- Attachment #1: Type: text/plain, Size: 715 bytes --]
Harald Hoyer píše v Út 03. 11. 2009 v 11:30 +0100:
> > I have solved the problem with filesystem modules with an introduction
> > of new command line/config file parameter. It controls the list of
> > filesystem modules that will be included when running in generic mode.
> > See the attached patch for details.
> >
> >> limit the list of drivers for block devices would be also nice. Is there
> >> a way to control what kernel modules get loaded into the ramdisk, like
> >> some black- or whitelist?
> >
> >
> > Dan
> >
>
> s/kenrel/kernel/
>
> s/modules to be loaded into generic initramfs/modules to be included in the
> generic initramfs/
updated and joined into 1 commit with better description
Dan
[-- Attachment #2: filesystems.patch --]
[-- Type: text/x-patch, Size: 4576 bytes --]
From e67c382bd883ef6b567933b4800c135fd62c8244 Mon Sep 17 00:00:00 2001
From: =?utf-8?q?Dan=20Hor=C3=A1k?= <dan-mBPqX7VnFd4@public.gmane.org>
Date: Tue, 3 Nov 2009 11:50:55 +0100
Subject: [PATCH] control filesystems included in the generic initramfs
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
New "filesystems" command line/config file option is added with the ability to
control the list of kernel filesystem modules that are included in the generic
initramfs.
Signed-off-by: Dan Horák <dan-mBPqX7VnFd4@public.gmane.org>
---
dracut | 7 ++++++-
dracut.8 | 3 +++
dracut.conf | 3 +++
modules.d/90kernel-modules/installkernel | 10 +++++++---
4 files changed, 19 insertions(+), 4 deletions(-)
diff --git a/dracut b/dracut
index 7b9304f..1954177 100755
--- a/dracut
+++ b/dracut
@@ -37,6 +37,9 @@ Creates initial ramdisk images for preloading modules
exclusively include in the initramfs.
--add-drivers [LIST] Specify a space-separated list of kernel
modules to add to the initramfs.
+ --filesystems [LIST] Specify a space-separated list of kernel filesystem
+ modules to exclusively include in the generic
+ initramfs.
-k, --kmoddir [DIR] Specify the directory, where to look for kernel
modules
--fwdir [DIR] Specify additional directories, where to look for
@@ -76,6 +79,7 @@ while (($# > 0)); do
-a|--add) add_dracutmodules_l="$2"; shift;;
-d|--drivers) drivers_l="$2"; shift;;
--add-drivers) add_drivers_l="$2"; shift;;
+ --filesystems) filesystems_l="$2"; shift;;
-k|--kmoddir) drivers_dir_l="$2"; shift;;
--fwdir) fw_dir_l="$2"; shift;;
--kernel-only) kernel_only="yes"; nokernel="no";;
@@ -127,6 +131,7 @@ fi
[[ $add_dracutmodules_l ]] && add_dracutmodules="$add_dracutmodules $add_dracutmodules_l"
[[ $drivers_l ]] && drivers=$drivers_l
[[ $add_drivers_l ]] && add_drivers=$add_drivers_l
+[[ $filesystems_l ]] && filesystems=$filesystems_l
[[ $drivers_dir_l ]] && drivers_dir=$drivers_dir_l
[[ $fw_dir_l ]] && fw_dir=$fw_dir_l
[[ $do_strip_l ]] && do_strip=$do_strip_l
@@ -180,7 +185,7 @@ chmod 755 "$initdir"
export initdir hookdirs dracutbasedir dracutmodules drivers \
fw_dir drivers_dir debug beverbose no_kernel kernel_only \
- add_drivers mdadmconf lvmconf
+ add_drivers mdadmconf lvmconf filesystems
if [[ $kernel_only != yes ]]; then
# Create some directory structure first
diff --git a/dracut.8 b/dracut.8
index 309d0dd..6dc90ad 100644
--- a/dracut.8
+++ b/dracut.8
@@ -32,6 +32,9 @@ specify a space-separated list of kernel modules to exclusively include in the i
.BR \-\-add-drivers " \fILIST\fR"
specify a space-separated list of kernel modules to add to the initramfs.
.TP
+.BR \-\-filesystems " \fILIST\fR"
+specify a space-separated list of kernel filesystem modules to exclusively include in the generic initramfs.
+.TP
.BR \-k ", " \-\-kmoddir " \fI{DIR}\fR
specify the directory, where to look for kernel modules
.TP
diff --git a/dracut.conf b/dracut.conf
index 2ebeeda..8c8db21 100644
--- a/dracut.conf
+++ b/dracut.conf
@@ -9,6 +9,9 @@
# additional kernel modules to the default
#add_drivers=""
+# list of kernel filesystem modules to be included in the generic initramfs
+#filesystems=""
+
# build initrd only to boot current hardware
#hostonly="-h"
#
diff --git a/modules.d/90kernel-modules/installkernel b/modules.d/90kernel-modules/installkernel
index b5e4c93..c739bfc 100755
--- a/modules.d/90kernel-modules/installkernel
+++ b/modules.d/90kernel-modules/installkernel
@@ -6,16 +6,20 @@ if [[ -z $drivers ]]; then
nm -uPA "$1" | egrep -q "$blockfuncs"
}
instmods pcmcia sd_mod $(filter_kernel_modules block_module_test) "=drivers/pcmcia" =ide
- # if not on hostonly mode, install all known filesystems.
+ # if not on hostonly mode, install all known filesystems if the required list is not set via the filesystems variable
if [[ $hostonly = '' ]]; then
- instmods '=fs'
+ if [[ -z $filesystems ]]; then
+ instmods '=fs'
+ else
+ instmods $filesystems
+ fi
else
instmods $(get_fs_type "/dev/block/$(find_root_block_device)")
fi
# hardcoded list of exceptions
rm -fr ${initdir}/lib/modules/*/kernel/fs/ocfs2
else
- instmods $drivers
+ instmods $drivers $filesystems
fi
[[ $add_drivers ]] && instmods $add_drivers
--
1.6.3.3
prev parent reply other threads:[~2009-11-03 11:07 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-02 17:34 control what kernel modules get loaded into ramdisk Dan Horák
[not found] ` <1257183267.3755.286.camel-Gu2OudDT4ISyu7giWUE+hA@public.gmane.org>
2009-11-03 10:25 ` [PATCH] " Dan Horák
[not found] ` <1257243945.3790.45.camel-Gu2OudDT4ISyu7giWUE+hA@public.gmane.org>
2009-11-03 10:30 ` Harald Hoyer
[not found] ` <4AF0065A.4070100-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-11-03 11:07 ` Dan Horák [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1257246453.3790.48.camel@eagle.danny.cz \
--to=dan-mbpqx7vnfd4@public.gmane.org \
--cc=initramfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.