All of lore.kernel.org
 help / color / mirror / Atom feed
From: Harald Hoyer <harald-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
To: "Amadeusz Żołnowski" <aidecoe-2qtfh70TtYba5EbDDlwbIw@public.gmane.org>
Cc: initramfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH] add option --ignore-kernel-modules
Date: Wed, 04 Aug 2010 18:32:09 +0200	[thread overview]
Message-ID: <4C599609.6060107@redhat.com> (raw)
In-Reply-To: <20100804181519.5eaf9f1c-2qtfh70TtYba5EbDDlwbIw@public.gmane.org>

pushed

On 08/04/2010 06:15 PM, Amadeusz Żołnowski wrote:
> Instead of adding modprobe and rmmod, create symlinks to /bin/true to
> don't produce unnecessary errors.  Anyway it's a workaround for
> following desired behaviour: modprobe tries to insert module only if
> it's not built into kernel
> ---
>   dracut                   |   10 +++++++++-
>   dracut.8                 |    4 ++++
>   modules.d/99base/install |   13 ++++++++++---
>   3 files changed, 23 insertions(+), 4 deletions(-)
>
> diff --git a/dracut b/dracut
> index c22051c..e0c2186 100755
> --- a/dracut
> +++ b/dracut
> @@ -46,6 +46,10 @@ Creates initial ramdisk images for preloading modules
>                           firmwares, separated by :
>     --kernel-only         Only install kernel drivers and firmware files
>     --no-kernel           Do not install kernel drivers and firmware files
> +  --ignore-kernel-modules
> +                        Don't try to load modules. It automatically implies
> +                        '--no-kernel'. It's assumed that everything needed
> +                        is built into kernel.
>     --strip               Strip binaries in the initramfs
>     --nostrip             Do not strip binaries in the initramfs (default)
>     --mdadmconf           Include local /etc/mdadm.conf
> @@ -86,6 +90,10 @@ while (($#>  0)); do
>   	--fwdir) fw_dir_l="$2"; shift;;
>   	--kernel-only) kernel_only="yes"; no_kernel="no";;
>   	--no-kernel) kernel_only="no"; no_kernel="yes";;
> +    --ignore-kernel-modules) kernel_only="no"; no_kernel="yes"
> +        ignore_kmodules="yes"
> +        omit_dracutmodules_l+=\ kernel-modules
> +        ;;
>   	--strip) do_strip_l="yes";;
>   	--nostrip) do_strip_l="no";;
>           --mdadmconf) mdadmconf_l="yes";;
> @@ -228,7 +236,7 @@ chmod 755 "$initdir"
>
>   export initdir hookdirs dracutbasedir dracutmodules drivers \
>       fw_dir drivers_dir debug beverbose no_kernel kernel_only \
> -    add_drivers mdadmconf lvmconf filesystems
> +    add_drivers mdadmconf lvmconf filesystems ignore_kmodules
>
>   if [[ $kernel_only != yes ]]; then
>       # Create some directory structure first
> diff --git a/dracut.8 b/dracut.8
> index 3a85cb5..4890357 100644
> --- a/dracut.8
> +++ b/dracut.8
> @@ -52,6 +52,10 @@ only install kernel drivers and firmware files
>   .BR \-\-no-kernel
>   do not install kernel drivers and firmware files
>   .TP
> +.BR \-\-ignore-kernel-modules
> +don't try to load modules; it automatically implies \fB--no-kernel\fR; it's
> +assumed that everything needed is built into kernel
> +.TP
>   .BR \-\-mdadmconf
>   include local /etc/mdadm.conf
>   .TP
> diff --git a/modules.d/99base/install b/modules.d/99base/install
> index 6ba9e7e..9cdb086 100755
> --- a/modules.d/99base/install
> +++ b/modules.d/99base/install
> @@ -1,6 +1,13 @@
>   #!/bin/bash
> -dracut_install mount mknod mkdir modprobe pidof sleep chroot \
> -    sed ls flock cp mv dmesg rm ln rmmod mkfifo less
> +dracut_install mount mknod mkdir pidof sleep chroot sed ls flock cp mv dmesg \
> +        rm ln mkfifo less
> +if [[ ${ignore_kmodules} = yes ]]; then
> +    inst /bin/true
> +    ln -s /bin/true "${initdir}"/sbin/modprobe
> +    ln -s /bin/true "${initdir}"/sbin/rmmod
> +else
> +    dracut_install modprobe rmmod
> +fi
>   if [ ! -e "${initdir}/bin/sh" ]; then
>       dracut_install bash
>       (ln -s bash "${initdir}/bin/sh" || :)
> @@ -18,7 +25,7 @@ if which switch_root>/dev/null 2>&1; then
>       dracut_install switch_root
>   else
>       inst "$moddir/switch_root" "/sbin/switch_root" \
> -	|| derror "Failed to install switch_root"
> +            || derror "Failed to install switch_root"
>   fi
>   inst "$moddir/dracut-lib.sh" "/lib/dracut-lib.sh"
>   inst_hook cmdline 10 "$moddir/parse-root-opts.sh"

      parent reply	other threads:[~2010-08-04 16:32 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-04 16:15 [PATCH] add option --ignore-kernel-modules Amadeusz Żołnowski
     [not found] ` <20100804181519.5eaf9f1c-2qtfh70TtYba5EbDDlwbIw@public.gmane.org>
2010-08-04 16:32   ` Harald Hoyer [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=4C599609.6060107@redhat.com \
    --to=harald-h+wxahxf7alqt0dzr+alfa@public.gmane.org \
    --cc=aidecoe-2qtfh70TtYba5EbDDlwbIw@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.