# Problems with HAL

## suttewal

Hi guys

I've recently came across a problem concerning the HAL-deamon. I'm currently not able to start via "/etc/init.d /hald start". The message output is like:

 *Quote:*   

> 
> 
>  * Caching service dependencies ...
> 
> /var/lib/init.d/depcache: line 3043: keyword: command not found
> ...

 

It noticed the problem for first time when I tried to start up pulseaudio. Obviously, pulse needs the HAL-deamon to be started, so pulse will fail without it. Anyway, the message given above says that the service "root" couldn't be started. Putting a "rc-update show" in, gives me this:

 *Quote:*   

> 
> 
> * Broken runlevel entry: /etc/runlevels/shutdown/savecache
> 
>  * Broken runlevel entry: /etc/runlevels/shutdown/killprocs
> ...

 

Seems like I have some broken links.

So the questions are:

 - Why are those links broken? I couldn't find a reason on the web, so maybe somebody could tell me...

 - Where should those links normally point to? I assume once they point to the correct path again (especially the link to "root"), HAL will start again, won't it? And therefore, I would be able to start up Pulseaudio as well.

Maybe it is useful to know that I upgraded to kernel-2.6.34-r6 few days ago. Although I cannot see a connection to my actual problem. However, I've had that problem since the upgrade of the kernel.

Any help is appreciated. Thanks in advance.

Walter

----------

## DONAHUE

did you just switch to openrc baselayout2? If just now,  http://www.gentoo.org/doc/en/openrc-migration.xml may help.

maybe 

```
emerge openrc baselayout
```

 will fix you.

Symlinks:

ls -l /etc/runlevels/shutdown

killprocs -> /etc/init.d/killprocs

mount-ro -> /etc/init.d/mount-ro

savecache -> /etc/init.d/savecache

ls -l /etc/runlevels/sysinit 

devfs -> /etc/init.d/devfs

dmesg -> /etc/init.d/dmesg

udev -> /etc/init.d/udev

ls -l /etc/runlevels/boot   

bootmisc -> /etc/init.d/bootmisc

consolefont -> /etc/init.d/consolefont

fsck -> /etc/init.d/fsck

hostname -> /etc/init.d/hostname

hwclock -> /etc/init.d/hwclock

keymaps -> /etc/init.d/keymaps

localmount -> /etc/init.d/localmount

modules -> /etc/init.d/modules

mtab -> /etc/init.d/mtab

net.lo -> /etc/init.d/net.lo

procfs -> /etc/init.d/procfs

root -> /etc/init.d/root

swap -> /etc/init.d/swap

sysctl -> /etc/init.d/sysctl

termencoding -> /etc/init.d/termencoding

urandom -> /etc/init.d/urandom

ls -l /etc/runlevels/nonetwork

local -> /etc/init.d/local

ls -l /etc/runlevels/default

dbus -> /etc/init.d/dbus

gpm -> /etc/init.d/gpm

hald -> /etc/init.d/hald

local -> /etc/init.d/local

net.wlan0 -> /etc/init.d/net.wlan0

netmount -> /etc/init.d/netmount

ntp-client -> /etc/init.d/ntp-client

ntpd -> /etc/init.d/ntpd

syslog-ng -> /etc/init.d/syslog-ng

udev-postmount -> /etc/init.d/udev-postmount

vixie-cron -> /etc/init.d/vixie-cron

----------

## suttewal

Hi DONAHUE

Thanks for your reply.

To my surprise, OpenRC had gone!!! I cannot remember having removed it.

When I checked the version with "eix openrc", I figured out that there are no stable version available.

 *Quote:*   

> 
> 
> * sys-apps/openrc
> 
>      Available versions:  ~0.6.0-r1 ~0.6.1-r1 ~0.6.2 ~0.6.3 **9999 {debug elibc_glibc kernel_FreeBSD kernel_linux ncurses pam unicode}
> ...

 

Well, although I couldn't explain why OpenRC was not installed anymore and how this had happened, I decided to add openrc to my /etc/portage/package.keywords/... list. Emerge than asked for baselayout-2 and I put that to the list as well.

 *Quote:*   

> 
> 
> [I] sys-apps/baselayout
> 
>      Available versions:  [P]1.11.15-r3 1.12.11.1 ~1.12.12 1.12.13 ~2.0.0 ~2.0.1 {bootstrap build static unicode}
> ...

 

I hope this is not gonna break, cause none of those packages are marked stable. So I just gave it a try.

Compilation seemed to be fine and the broken links I mentioned above were repaired during the installing procedure. I'm going to reboot now.

Thanks for giving me a heads-up.

Walter

----------

## suttewal

Hi,

The good thing is, OpenRC is working. Formerly broken links were fixed and services start just fine.

The bad thing is, that I still cannot start HAL-deamon. So, I guess there is more than just those broken links.

 *Quote:*   

> 
> 
> localhost boot # /etc/init.d/hald start
> 
>  * Caching service dependencies ... [ ok ]
> ...

 

However, it seems to work if I start it manually not via the init.d script.

 *Quote:*   

> 
> 
> Cassiopeia boot # hald --verbose=yes --daemon=yes
> 
> 02:50:12.952 [I] hald.c:673: hal 0.5.14
> ...

 

But a "ps -Al | grep hald" results in no output. So, I guess HAL-deamon has not really started.

By the way, I am now unable to shutdown the system. All processes are stopped perfectly fine, but powering the machine off automatically, doesn't work.

I have found this 4-year-old (!) bug-report and tried things people suggested there. Unfortunately without success.

Any help is appreciated.

Walter

----------

## DONAHUE

go through this in detail since you have effectively just upgraded to openrc

check all the links I presented above are in place.

That not working (shot in the dark):

ensure consolekit dbus hal policykit udev are in USE=" 

```
emerge --unmerge consolekit dbus hal policykit udev

emerge -D consolekit dbus hal policykit udev

revdep-rebuild
```

That not working (more shot in the dark):

```
emerge -e world
```

----------

## suttewal

Hi DONAHUE

I have gone through manual and redefined things mentioned there. It didn't have an effect on HAL-deamon.

However, I have found a couple of other things going wrong on my system. Some are minor, some are just awkward. I remember having installed openRC, syslog-ng and vixie-cron before. I'm pretty damn sure that all of them had an init-script and were started during boot. Well, not anymore! This is just weird. I have now installed all of them again and added them with rc-update. I did the same thing with acpid, as this had gone as well.

I also figured out, that my default user is not in the group plugdev anymore! So added the user to the group again. I would never have guessed that my user is not member of that group anymore, if there hadn't been the emerge-message after reinstalling hald. It basically said that I should add my user either to plugdev or policykit.

Well, this is the solution. Don't ask me why all that happened. Anyhow, it's fixed now.

Thanks.

Walter

----------

## DONAHUE

strange one, glad it worked out. 

some of it looked like you had had ACCEPT_KEYWORDS="~amd64 (or~x86)" in /etc/make.conf and lost it or /etc/portage/package.keywords with openrc and baselayout as ~amd64(~x86) and lost that and then did a world update.

----------

## suttewal

No, I cannot confirm that. I've never had an ACCEPT_KEYWORDS in my /etc/make.conf. I am neither aware that I had had an openrc or baselayout entry in my package.keywords before. But I must agree that it seems like I accidently deleted such an entry. Well, whatever the reason was, it past now...

----------

