Bug 160987 - rc.sysinit breaks udevd on non modular kernel
rc.sysinit breaks udevd on non modular kernel
Status: CLOSED RAWHIDE
Product: Fedora
Classification: Fedora
Component: initscripts (Show other bugs)
4
All Linux
medium Severity medium
: ---
: ---
Assigned To: Bill Nottingham
Brock Organ
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2005-06-19 09:44 EDT by Andrew Clayton
Modified: 2014-03-16 22:54 EDT (History)
1 user (show)

See Also:
Fixed In Version: 8.12-1
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2005-06-20 12:35:01 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
Patch to fix udev with non moduar kernel. (420 bytes, patch)
2005-06-23 00:11 EDT, Andrew Clayton
no flags Details | Diff

  None (edit)
Description Andrew Clayton 2005-06-19 09:44:54 EDT
Description of problem:

After upgrading my machine from FC3 to FC4, I found that the udevd process 
would no longer run.

I am running a 2.6.12 without module support. This setup worked prior to FC4.

After investigating this for some time. I have found the following.

With when I boot FC4 with a modular kernel, /proc/sys/kernel/hotplug is 
set to /sbin/udevsend and udevd runs ok.

If I boot with a non modular kernel, /proc/sys/kernel/hotplug is to
/sbin/hotplug and after the system has booted, the udevd process is 
not running. 

If I add the following line:

sysctl -w kernel.hotplug="/sbin/udevsend" >/dev/null 2>&1

after:

# Initialize hardware
if [ -f /proc/sys/kernel/modprobe ]; then
   if ! strstr "$cmdline" nomodules && [ -f /proc/modules ] ; then
       sysctl -w kernel.modprobe="/sbin/modprobe" >/dev/null 2>&1
       sysctl -w kernel.hotplug="/sbin/udevsend" >/dev/null 2>&1
   else
       # We used to set this to NULL, but that causes 'failed to exec' messages"
       sysctl -w kernel.modprobe="/bin/true" >/dev/null 2>&1
       sysctl -w kernel.hotplug="/bin/true" >/dev/null 2>&1
   fi
fi

in /etc/rc.d/rc.sysinit this allows udevd to work on a non modular kernel.


Version-Release number of selected component (if applicable):


How reproducible:

Always.

Steps to Reproduce:
1. Boot a kernel without modules support
2.
3.
  
Actual results:

The udevd process is not running. 

Expected results:

The udevd process to be running.

Additional info:

Just let me know if you need any more.

Cheers,

Andrew Clayton
Comment 1 Bill Nottingham 2005-06-20 12:35:01 EDT
Added in CVS, will be in 8.12-1.
Comment 2 Andrew Clayton 2005-06-23 00:11:28 EDT
Created attachment 115852 [details]
Patch to fix udev with non moduar kernel.
Comment 3 Andrew Clayton 2005-06-23 00:17:16 EDT
Woops my comments got wacked.

Basically, the fix in my initial submit has some issues. Namely device nodes
weren't being created at boot for attached usb storage devices.

The line I added needs to come out and a change made to a line a wee bit above it.

The patch fix's the problem.

Cheers,

Andrew
Comment 4 Andrew Clayton 2005-06-23 00:19:12 EDT
Argghh.

I forgot to mention that the patch is against the rc.sysinit from
initscripts-8.11.1-1
Comment 5 Bill Nottingham 2005-06-23 00:22:21 EDT
Why would you need that? What is it set to before that?
Comment 6 Andrew Clayton 2005-06-23 00:38:56 EDT
OK,

Booting a 2.6.12 with out modular support gives,

$ cat /proc/sys/kernel/hotplug 
/sbin/hotplug

And when the system is finished booting, udevd is not running and no device 
nodes for my attached (and swicthed on) usb storage devices have been created.

With that patch, /proc/sys/kernel/hotplug is set to /sbin/udevsend and udevd is
running as nornmal and device nodes for my usb storage devices do get created.


Cheers,

Note You need to log in before you can comment on or make changes to this bug.