红联Linux门户
Linux帮助
当前位置: 红联Linux门户 > Ubuntu

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

发布时间:2008-03-27 00:47:31来源:红联作者:Inetxper
  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冲突.
文章评论

共有 0 条评论