首 页文章中心

Linux学习网

您的位置Linux学习网 > Linux基本应用 > 文章内容

解决“failed to initialize HAL!”的问题

作者:佚名  来源:不详  发布时间:2008-3-28 8:27:00
Ubuntu Gutsy开机时出现”failed to initialize HAL”的解决办法:

  # mv /etc/rc2.d/S12hal /etc/rc2.d/S13hal
  # mv /etc/rc2.d/S13gdm /etc/rc2.d/S14gdm

  其中第二步视gdm项的启动顺序而定,只要gdm比hal启动级大即可.比如S14gdm的启动级就比S13hal大.以下有启动级的简介.

  问题原因其实是/etc/init.d/rc文件中的一句CONCURRENCY=shell造成的.默认是none.而设为shell之后系统加载将并 行启动程序.而concurrency=none则不会.并行启动将会大大节省系统启动的时间.因此很多linux优化的文章中都会介绍这一方法.

  启动项的启动顺序是由/etc/rc(n).d/里各链接名指定的.比如此例中/etc/rc2.d/S12hal就比S13gdm先启动,而相同S值的项目在concurrency=shell的情况下将并行启动.

  回到问题本身.要想让系统正常工作,必须先让dbus在hal之前启动,然后才是gdm。 gutsy之前的版本都是这么做的,即使设为shell也没有问题.而升级到gutsy后,hal与dbus处于同一启动级别.因此在 concurrency=shell设置下由于hal和dbus同时启动导致hal无法读取dbus.因此只需要将hal的启动级调到dbus之后即可. 而为了安全起见,也将gdm的启动级从13调到14,以防止与hal的13冲突.
收藏本页到: 365Key | del.icio.us | | 添加到雅虎收藏+
  • 网站帮助 - 广告合作 - 网站地图