When acpid starts after dbus, it gives roughly this error and fails: acpid /proc/acpi/event device or resource busy. Personally, I put networkmanager and acpid both on default runlevel and dbus is requirement for networkmanager. For reference, the gentoo power management guide says to put acpid on default runlevel. This is solved by adding the line "before dbus" in /etc/init.d/acpid in the depend function. Its a simple 1 liner, but I went ahead and pasted a patch in additional information. Reproducible: Always Steps to Reproduce: 1. emerge acpid hal 2. rc-update add acpid default 3. rc-update add hal default 4. reboot Actual Results: acpid /proc/acpi/even device or resource busy on startup. Expected Results: acpid starts without error. It could do this by starting before dbus. --- acpid.orig 2008-10-03 04:56:10.000000000 -0700 +++ acpid 2008-10-03 04:56:21.000000000 -0700 @@ -9,6 +9,7 @@ need localmount use logger before hald + before dbus } checkconfig() {
Doing a little testing, I found that on a parallel startup, the "before dbus" didn't make acpid finish before dbus and still I got the error. I put "need acpid" in /etc/init.d/dbus to fix it, but I know this isn't the correct solution. What would be the correct thing to put in acpid to say it must finish before dbus can start?
use acpid
It's not actually D-Bus that's using /proc file. So putting this in the D-Bus initscript is the wrong place. It's HAL. The HAL init script already contains "use acpid" and the acpid init script already contains "before hald". These services resolve properly using baselayout-2/OpenRC but if you're using parallel start on baselayout-1 there are no guarantees. So which one are you using?
I'm using parallel. Thank you for the coments.