[OE-core] udev blacklist ineffective

Khem Raj raj.khem at gmail.com
Wed Feb 20 07:34:56 UTC 2013


On (28/01/13 13:09), Michael_E_Brown at Dell.com wrote:
> > _______________________________________
> > From: Darren Hart [dvhart at linux.intel.com]
> > Sent: Monday, January 28, 2013 12:52 PM
> > To: Brown, Michael E
> > Cc: openembedded-core at lists.openembedded.org
> > Subject: Re: [OE-core] udev blacklist ineffective
> > 
> > On 01/28/2013 08:36 AM, Michael_E_Brown at Dell.com wrote:
> > > I have two embedded systems that share some devices over an i2c bus. Only one system may load the device driver at a time, and loading the device driver is already well-controlled by the HA subsystem.
> > >
> > > Our new yocto build with udev enabled is auto-loading these device drivers with catastrophic results. We must absolutely prohibit such automatic behaviour for our list of devices. I have tried:
> > >
> > > $ cat etc/modprobe.d/blacklist.conf
> > > blacklist seepmtd
> > > ... cut ...
> > >
> > > And this does *NOT* work. I have tried renaming blacklist.conf to
> > > modprobe.conf as well as creating modprobe.conf with these blacklist
> > > entries.
> > >
> > > This is a huge blocking issue and I have been unable to figure out a
> > > workaround for it. I would appreciate any suggestions.
> > 
> > 
> > OK, so... this needs to be addressed.
> > 
> > However, can you just not build/install the drivers for the system that
> > shouldn't be accessing them? Or do you require a more general image?
> 
> Both systems have to access these devices. They just cannot load the drivers simultaneously. The driver load is under control of the HA process that ensures that only one system at a time accesses the devices, and takes care of fencing, etc.
> 
> We have a custom FPGA that can switch access to the devices between two systems, loading drivers from both systems twiddles bits that ought not to be twiddled and catastrophically crashes one or both systems.
>  
> > You will need to provide details about the version of oe-core you are
> > using, kmod or modutils, and any relevant DISTRO configurations you have
> > made, which bit of software do you expect to be honoring the blacklist, etc.
> 
> Yocto release 1.3, danny branch + meta-oe/meta-systemd for system startup
> udev_v195-r10
> libkmod2_9-r0.0
> 
> Distro is poky + systemd
> 
> What is happening is that, on boot, the udev Coldplug startup step is loading drivers that must not be loaded based on i2c discovery.

yes udev is exactly for that. You are up for writing some udev rules
here may be something etc/udev/rules.d/10-local.rules and add
OPTIONS=="ignore_device" if condition (that you will define based on
device you want to ignore) is met.

> --
> Michael
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

-- 
-Khem




More information about the Openembedded-core mailing list