skyilyskyily.blog.chinaunix.net
skyily
全部博文(144)
2010年(16)
2009年(128)
Zane_Yu
tasteswe
zwrvvv
xiao888l
zimuqing
leilelei
Phyllis6
jonathan
denghai1
wbdwbd04
itTangze
lifj1234
18141908
AAABug
分类: LINUX
2010-08-04 11:09:54
在Ubuntu Linux下,有不少朋友遇到“failed to initialize hal”错误。这个错误最直接的表现是:在启动时弹出提示框告诉用户“failed to initialize hal”这个错误将间接导致一些即插即用硬件使用错误。比如:网卡本来是即插即用的,你拨掉网线、网络就会不可用,当你再插上网上,系统应该自动恢复网络。但如果出现上述错误就不会这样了。又比如:U盘和移动硬盘本来是即插即用的,你一插上U盘就会在桌面上显示一个U盘符号并显示卷名称。但如果出现上述错误,就会表现为U盘或移动硬盘不能自动挂载。出现上述原因的根本在于系统服务dbus和hal的启动顺序。Ubuntu Linux中采用dbus+hal来管理即插即用设备,关于具体工作方式,大家可以自己用google搜索一下。 关键要知道的一点就是dbus服务必须在hal之前启动,否则hal就会启动失败。
回到问题本身.要想让系统正常工作,必须先让dbus在hal之前启动,然后才是gdm。 gutsy之前的版本都是这么做的,即使设为shell也没有问题.而升级到gutsy后,hal与dbus处于同一启动级别.因此在 concurrency=shell设置下由于hal和dbus同时启动导致hal无法读取dbus.因此只需要将hal的启动级调到dbus之后即可. 而为了安全起见,也将gdm的启动级从13调到14,以防止与hal的13冲突.
注:
着手HAL的启动问题,查到hal的启动项为 /etc/rc2.d/S12hal。12表示启动优先级。(S for service?) 其依赖的dbus的启动项为S12dbus。
在修改好hal和gdm的顺序之后,我发现rc2.d中没有dbus
可能是在什么时候把这个服务禁止了,起的,
ln -s ../init.d/dbus S12dbus 这里以情况而定。
重启:成功,网卡有可以启动了。一切正常了。
上一篇:一首简单的歌
下一篇:ubuntu启动不了x server
登录 注册