[OE-core] udev blacklist ineffective

Michael_E_Brown at Dell.com Michael_E_Brown at Dell.com
Mon Jan 28 19:09:39 UTC 2013


> _______________________________________
> 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.
--
Michael




More information about the Openembedded-core mailing list