Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 258997 - sys-apps/openrc: I am not able to disable the coldplugging of modules with the blacklist or disable coldplugging all together
Summary: sys-apps/openrc: I am not able to disable the coldplugging of modules with th...
Status: RESOLVED NEEDINFO
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] baselayout (show other bugs)
Hardware: x86 Linux
: High major (vote)
Assignee: Gentoo's Team for Core System packages
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-02-14 19:40 UTC by Katriska Francis
Modified: 2009-02-25 14:19 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
My emerge, blacklist, and rc information (info.tar.bz2,5.91 KB, text/plain)
2009-02-14 19:42 UTC, Katriska Francis
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Katriska Francis 2009-02-14 19:40:52 UTC
I am having an issue with the ssb module. I've added it to /etc/modprobe.d/blacklist yet udev still loads it during boot.  I figured if I disabled coldplugging all together by changing, the RC_COLDPLUG flag to no in /etc/conf.d/rc, would help. I already know what modules I need so I really don't need coldplugging since its loads the modules I am already loading.

Another thing, I discovered that the ohci-hcd module depends on the ssb at which I added both to the blacklist in hopes of stopping it from being loaded but to no avail. 

I am attaching my emerge.info


Reproducible: Always

Steps to Reproduce:
1.Edit /etc/conf.d/rc and change RC_COLDPLUG flag to no
2.Edit /etc/modprobe.d/blacklist and add "blacklist ssb" and "blacklist ochi-hcd"
3.reboot

Actual Results:  
Cold plugging is still enabled and the ssb module is still loaded

Expected Results:  
Cold plugging should have been disabled and ssb should have not been loaded
Comment 1 Katriska Francis 2009-02-14 19:42:32 UTC
Created attachment 182043 [details]
My emerge, blacklist, and rc information

I also included my rc file
Comment 2 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2009-02-16 23:28:16 UTC
Please include your emerge --info and other output directly, not as a tarball.
Comment 3 Katriska Francis 2009-02-17 00:33:46 UTC
Portage 2.1.6.4 (default/linux/x86/2008.0, gcc-4.1.2, glibc-2.6.1-r0, 2.6.27-gentoo-r8 i686)
=================================================================
System uname: Linux-2.6.27-gentoo-r8-i686-AMD_Turion-tm-_64_X2_Mobile_Technology_TL-64-with-glibc2.0
Timestamp of tree: Mon, 02 Feb 2009 20:45:01 +0000
app-shells/bash:     3.2_p39
dev-java/java-config: 1.3.7-r1, 2.1.6-r1
dev-lang/python:     2.4.4-r13, 2.5.2-r7
dev-python/pycrypto: 2.0.1-r6
dev-util/cmake:      2.4.8
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.63
sys-devel/automake:  1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="x86"
CBUILD="i486-pc-linux-gnu"
CFLAGS="-O2 -march=i686 -pipe"
CHOST="i486-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-O2 -march=i686 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://ftp.ucsb.edu/pub/mirrors/linux/gentoo/ "
LDFLAGS="-Wl,-O1"
LINGUAS="en"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage"
USE="X aalib acl acpi alsa avahi bash-completion berkdb bluetooth bzip2 cddb cdparanoia cli cracklib crypt cups dbus dhcp dri dv dvb dvd dvdnav emerald ffmpeg fortran gdbm gif glitz gpm gstreamer gtk hal iconv ipv6 isdnlog jpeg lirc midi mng mp2 mp3 mudflap ncurses networkmanager nls nptl nptlonly openal opengl openmp oss pam pcre perl png pppd prediction pulseaudio python readline reflection samba sdl session speex spell spl sse sse2 ssl startup-notification svg svga sysfs tcl tcpd tga tiff tk truetype unicode v4l2 vidix x264 x86 xcb xorg xscreensaver xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse synaptics evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en" USERLAND="GNU" VIDEO_CARDS="radeon"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 4 Katriska Francis 2009-02-17 00:34:58 UTC
My blacklist file:

# This file lists modules which will not be loaded by udev,
# not at coldplugging and not on hotplug events.

# Add your own entries to this file
# in the format "blacklist <name of module>"

# Some examples:
# evbug is a debug tool and should be loaded explicitly
blacklist evbug
blacklist ssb
blacklist ohci-hcd


# Autoloading eth1394 most of the time re-orders your network
# interfaces, and with buggy kernel 2.6.21, udev persistent-net
# is not able to rename these devices, so you get eth?_rename devices
# plus an exceeded 30sec boot timeout
blacklist eth1394

# You probably want this to not get the console beep loud on every tab :)
#blacklist pcspkr

# these drivers are very simple, the HID drivers are usually preferred
#blacklist usbmouse
#blacklist usbkbd

# Sometimes loading a framebuffer driver at boot gets the console black
#install pci:v*d*sv*sd*bc03sc*i* /bin/true

Comment 5 Katriska Francis 2009-02-17 00:35:50 UTC
And... my rc file from /etc/conf.d/rc
==========================================================

# /etc/conf.d/rc: Global config file for the Gentoo RC System

# This is the number of tty's used in most of the rc-scripts (like
# consolefont, numlock, etc ...)

RC_TTY_NUMBER=11

# Set to "yes" if you want the rc system to try and start services
# in parallel for a slight speed improvement. NOTE: When RC_PARALLEL_STARTUP
# is enabled, init script output is replaced with simple "service foo
# starting/stopping" messages so that output is not mixed up.
# You can stop this from happening on the command line by passing --verbose
# to the init script or by setting RC_VERBOSE="yes" below.

RC_PARALLEL_STARTUP="no"

# Set RC_INTERACTIVE to "yes" and you'll be able to press the I key during
# boot so you can choose to start specific services. Set to "no" to disable
# this feature.

RC_INTERACTIVE="yes"

# Do we allow services to be hotplugged? If not, set to RC_HOTPLUG="no"
# NOTE: This does not affect anything hotplug/udev related, just the
# starting/stopping of the init.d service triggered by hotplug.

RC_HOTPLUG="yes"

# Dynamic /dev managers can trigger coldplug events which cause services to
# start before we are ready for them. If this happens, we can defer these
# services to start in the boot runlevel. Set RC_COLDPLUG="no" if you don't
# want this.
# NOTE: This also affects module coldplugging in udev-096 and higher
# If you want module coldplugging but not coldplugging of services then you
# can set RC_COLDPLUG="yes" and RC_PLUG_SERVICES="!*"

RC_COLDPLUG="no"

# Some people want a finer grain over hotplug/coldplug. RC_PLUG_SERVICES is a
# list of services that are matched in order, either allowing or not. By
# default we allow services through as RC_COLDPLUG/RC_HOTPLUG has to be yes
# anyway.
# Example - RC_PLUG_SERVICES="net.wlan !net.*"
# This allows net.wlan and any service not matching net.* to be plugged.

RC_PLUG_SERVICES=""

# RC_NET_STRICT_CHECKING allows some flexibility with the 'net' service.
# The following values are allowed:
#  none  - The 'net' service is always considered up.
#  no    - This basically means that at least one net.* service besides net.lo
#          must be up.  This can be used by notebook users that have a wifi and
#          a static nic, and only wants one up at any given time to have the
#          'net' service seen as up.
#  lo    - This is the same as the 'no' option, but net.lo is also counted.
#          This should be useful to people that do not care about any specific
#          interface being up at boot.
#  yes   - For this ALL network interfaces MUST be up for the 'net' service to
#          be considered up.

RC_NET_STRICT_CHECKING="no"

# RC_DOWN_INTERFACE allows you to specify if RC will bring the interface
# completely down when it stops. The default is yes, but there are some
# instances where you may not want this to happen such as using Wake On LAN.

RC_DOWN_INTERFACE="yes"

# RC_VOLUME_ORDER allows you to specify, or even remove the volume setup
# for various volume managers (MD, EVMS2, LVM, DM, etc).  Note that they are
# stopped in reverse order.

RC_VOLUME_ORDER="raid evms lvm dm"

# RC_VERBOSE will make init scripts more verbose. Only networking scripts
# really use this at this time, and this is useful for trouble shooting
# any issues you may have.
# This is also used to re-enable init script output for init scripts
# started or stopped from the command line.

RC_VERBOSE="no"

# RC_BOOTLOG will generate a log of the boot messages shown on the console.  
# Useful for headless machines or debugging.  You need to emerge the 
# app-admin/showconsole package for this to work.  Note that this probably
# won't work correctly with boot splash.

RC_BOOTLOG="no"

# Set to "yes" if you want to benchmark system boot with bootchart.
# You'll need to emerge the app-benchmarks/bootchart package for this to work.

RC_BOOTCHART="no"

# RC_USE_FSTAB allows you to override the default mount options for the 
# standard /proc, /sys, /dev, and /dev/pts mount points.  Note that this 
# is the new way for selecting ramfs/tmpfs/etc... for udev mounting.

RC_USE_FSTAB="no"

# RC_USE_CONFIG_PROFILE allows you to have different /etc/conf.d files 
# based on your runlevel - if a conf.d file for your profile does not exist
# then we try and use the default one.
# To enable runlevel selection at boot, append "softlevel=foobar" to your
# kernel line to change to the foobar runlevel.  Here we would search for
# /etc/conf.d/<service>.foobar config files before trying to use the default
# /etc/conf.d/<service>.
# Note that it is only active if 'softlevel' was specified via the kernel line,
# and it is intended to use for different grub/lilo entries to specify config
# changes for say laptops between home and work, where you would have setup
# 'work' and 'home' runlevels, with /etc/conf.d/*.<runlevel> as needed.

RC_USE_CONFIG_PROFILE="yes"

# RC_FORCE_AUTO tries its best to prevent user interaction during the boot and 
# shutdown process.  For example, fsck will automatically be run or volumes 
# remounted to create proper directory trees.  This feature can be dangerous 
# and is meant ONLY for headless machines where getting a physical console 
# hooked up is a huge pita.

RC_FORCE_AUTO="no"

# Use this variable to control the /dev management behavior.
#  auto   - let the scripts figure out what's best at boot
#  devfs  - use devfs (requires sys-fs/devfsd)
#  udev   - use udev (requires sys-fs/udev)
#  static - let the user manage /dev (YOU need to create ALL device nodes)

RC_DEVICES="auto"

# UDEV OPTION:
# Set to "yes" if you want to save /dev to a tarball on shutdown
# and restore it on startup.  This is useful if you have a lot of
# custom device nodes that udev does not handle/know about.

RC_DEVICE_TARBALL="no"

# RC_DMESG_LEVEL sets the level at which logging of messages is done to the
# console.  See dmesg(8) for more info.

RC_DMESG_LEVEL="1"





#
# Controlling start-stop-daemon behavior

# Set to "yes" if start-stop-daemon should always retry killing the
# service with sig KILL if it fails the first time.

RC_RETRY_KILL="yes"


# Set the amount of seconds start-stop-daemon should wait between
# retries.

RC_RETRY_TIMEOUT=1


# Set the amount of times start-stop-daemon should try to kill
# a service before giving up.

RC_RETRY_COUNT=5


# Set to "yes" if start-stop-daemon should fail if the service
# is marked as started, but not actually running on stop.

RC_FAIL_ON_ZOMBIE="no"


# Set to "yes" if start-stop-daemon should attempt to kill
# any children left in the system.
# Be careful with this as it really does what it was on the tin.
# fex, if you're in an ssh process and you restart a service on which ssh
# depends then your terminal will be killed also.

RC_KILL_CHILDREN="no"


# Set the amount of seconds start-stop-daemon waits after starting
# the daemon to check it is still running. If it's not then we
# try and stop any children if possible.
RC_WAIT_ON_START="0.1"


##############################################################################
# SERVICE CONFIGURATION VARIABLES
# These variables are documented here, but should be configured in
# /etc/conf.d/foo for service foo and NOT enabled here unless you
# really want them to work on a global basis.

# Some daemons are started and stopped via start-stop-daemon.
# We can launch them through other daemons here, for example valgrind.
# This is only useful for serious debugging of the daemon
# WARNING: If the script's "stop" function does not supply a PID file then
# all processes using the same daemon will be killed.
#RC_DAEMON="/usr/bin/valgrind --tool=memcheck --log-file=/tmp/valgrind.syslog-ng"

# strace needs to be prefixed with --background as it does not detach when
# it's following
#RC_DAEMON="--background /usr/sbin/strace -f -o /tmp/strace.syslog-ng"

# Pass ulimit parameters 
#RC_ULIMIT="-u 30"

##############################################################################


#
# Internal configuration variables
#
# NB:  These are for advanced users, and you should really
#      know what you are doing before changing them!
#
 
# rc-scripts dep-cache directory
#
# NOTE:  Do not remove the next line, as its needed by the baselayout ebuild!
#
#  svcdir="/var/lib/init.d"

svcdir="/var/lib/init.d"

# Should we mount $svcdir in a ram disk for some speed increase 
# for slower machines, or for the more extreme setups ?

svcmount="no"

# FS type that should be used for $svcdir.  Note that you need 
# $svcmount above set to "yes" for this to work ...  Currently 
# tmpfs, ramfs, and ramdisk are supported (tmpfs is the default).

svcfstype="tmpfs"

# Size of $svcdir in KB.  Note that ramfs doesn't support this 
# due to kernel limitations.

svcsize=2048
Comment 6 Roy Marples 2009-02-17 08:04:05 UTC
OpenRC only uses /etc/rc.conf, not /etc/conf.d/rc
What is more, that only controls the hotplugging of services, not modules.
You need to configure udev for module coldplugging.
Comment 7 Matthias Schwarzott gentoo-dev 2009-02-19 21:13:58 UTC
What versions of udev and openrc do you use?

Have a look at /etc/conf.d/udev for disabling coldplugging in udev.
Comment 8 Matthias Schwarzott gentoo-dev 2009-02-25 14:19:04 UTC
To check if udev causes ssb to be loaded you could edit the udev initscript and a call to lsmod near the end of _start.
In case you still have the directory /etc/modules.d/ you not only need to change the files in /etc/modprobe.d/, but also need to run update-modules after it.
I think if a module depends on any other module, blacklisting the depended module has absolutely no effect.

Does switching the coldplugging of in /etc/conf.d/udev gives any results?