LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1915|回复: 6

解决Dell笔记本ACPI相关问题

[复制链接]
发表于 2007-7-3 19:27:54 | 显示全部楼层 |阅读模式
 用Dell本本装Fedora 7的都知道,装好系统第一次重启的时候机器会死在"Uncompress ing linux… OK, booting the kernel"后面,没有反应,通过kernel 传递 acpi=off 参数的方法可以正常启动。

 但是由于禁用了ACPI,很多ACPI的功能无法使用,比如对于笔记本比较有用的几项功能:查看电池信息,挂起到内存,调节CPU频率等。

 下面教大家怎么解决这个问题。
 到 www.kernel.org 下载最新的内核源代码(到07年7月3日为2.6.21.5),然后自己编译内核。
 编译过程中记得一定要把 Processor type and features 中的 Dell laptop support 编译进内核(用空格键把它前面的选项改为"*"号),这个选项默认是编译为模块的。如附件的图所示。

 其它的选项按你的需要来,跟正常编译内核一样。

 编译完成后,修改 grub.conf 文件,把内核指向我们新编译的内核。
 重启,呵呵,这次我们不向 kernel 传递 acpi=off 参数也可以正常启动了。进系统后,在面板上添加“CPU频率范围监视器”,“电池电量监视器”,可以看到它们已经可以起作用了。

 你应该还会看到“系统”菜单里多出一个“挂起”功能。在我的本本上测试挂起功能正常。


 注意:以上功能在我的 Inspiron 640m(BIOS A10) 上测试通过,别的Dell本本没有测试过。欢迎有Dell本本的帮忙测试,请贴出你们的测试结果。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2007-7-3 20:10:32 | 显示全部楼层
没有用过 dell 的笔记本,还有这么特殊的要求啊,我用的是联想的笔记本,Fedora Core 6 和 Fedora 7 都直接支持得很好。
回复 支持 反对

使用道具 举报

发表于 2007-7-4 14:43:58 | 显示全部楼层
兄弟,你是用DELL INSPIRON 8000的吗?不是的话,你这个选项是没有用的。

看看说明:

  1. Dell laptop support (I8K)

  2. This adds a driver to safely access the System Management Mode
  3. of the CPU on the Dell Inspiron 8000. The System Management Mode
  4. is used to read cpu temperature and cooling fan status and to
  5. control the fans on the I8K portables.

  6. This driver has been tested only on the Inspiron 8000 but it may
  7. also work with other Dell laptops. You can force loading on other
  8. models by passing the parameter `force=1' to the module. Use at
  9. your own risk.

  10. For information on utilities to make use of this driver see the
  11. I8K Linux utilities web site at:
  12. <http://people.debian.org/~dz/i8k/>

  13. Say Y if you intend to run this kernel on a Dell Inspiron 8000.
  14. Say N otherwise.
复制代码


因为DELL的机器的电源及电池管理是用ACPI的,APM是不能用的,所以在重新编译内核里,电源管理这里的选项是这样的就OK了:


  1. #
  2. # Power management options (ACPI, APM)
  3. #
  4. CONFIG_PM=y
  5. # CONFIG_PM_LEGACY is not set
  6. # CONFIG_PM_DEBUG is not set
  7. # CONFIG_PM_SYSFS_DEPRECATED is not set
  8. # CONFIG_SOFTWARE_SUSPEND is not set

  9. #
  10. # ACPI (Advanced Configuration and Power Interface) Support
  11. #
  12. CONFIG_ACPI=y
  13. CONFIG_ACPI_SLEEP=y
  14. CONFIG_ACPI_SLEEP_PROC_FS=y
  15. CONFIG_ACPI_SLEEP_PROC_SLEEP=y
  16. CONFIG_ACPI_PROCFS=y
  17. CONFIG_ACPI_AC=y
  18. CONFIG_ACPI_BATTERY=y
  19. CONFIG_ACPI_BUTTON=y
  20. CONFIG_ACPI_FAN=y
  21. CONFIG_ACPI_DOCK=y
  22. # CONFIG_ACPI_BAY is not set
  23. CONFIG_ACPI_PROCESSOR=y
  24. CONFIG_ACPI_THERMAL=y
  25. # CONFIG_ACPI_ASUS is not set
  26. # CONFIG_ACPI_IBM is not set
  27. # CONFIG_ACPI_TOSHIBA is not set
  28. CONFIG_ACPI_BLACKLIST_YEAR=2001
  29. # CONFIG_ACPI_DEBUG is not set
  30. CONFIG_ACPI_EC=y
  31. CONFIG_ACPI_POWER=y
  32. CONFIG_ACPI_SYSTEM=y
  33. CONFIG_X86_PM_TIMER=y
  34. # CONFIG_ACPI_CONTAINER is not set

  35. #
  36. # APM (Advanced Power Management) BIOS Support
  37. #
  38. # CONFIG_APM is not set

  39. #
  40. # CPU Frequency scaling
  41. #
  42. CONFIG_CPU_FREQ=y
  43. CONFIG_CPU_FREQ_TABLE=y
  44. # CONFIG_CPU_FREQ_DEBUG is not set
  45. CONFIG_CPU_FREQ_STAT=y
  46. CONFIG_CPU_FREQ_STAT_DETAILS=y
  47. CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
  48. # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
  49. CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
  50. CONFIG_CPU_FREQ_GOV_POWERSAVE=y
  51. CONFIG_CPU_FREQ_GOV_USERSPACE=y
  52. CONFIG_CPU_FREQ_GOV_ONDEMAND=y
  53. CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y

  54. #
  55. # CPUFreq processor drivers
  56. #
  57. CONFIG_X86_ACPI_CPUFREQ=y
  58. # CONFIG_X86_POWERNOW_K6 is not set
  59. # CONFIG_X86_POWERNOW_K7 is not set
  60. # CONFIG_X86_POWERNOW_K8 is not set
  61. # CONFIG_X86_GX_SUSPMOD is not set
  62. # CONFIG_X86_SPEEDSTEP_CENTRINO is not set
  63. # CONFIG_X86_SPEEDSTEP_ICH is not set
  64. # CONFIG_X86_SPEEDSTEP_SMI is not set
  65. CONFIG_X86_P4_CLOCKMOD=y
  66. # CONFIG_X86_CPUFREQ_NFORCE2 is not set
  67. # CONFIG_X86_LONGRUN is not set
  68. # CONFIG_X86_LONGHAUL is not set
  69. # CONFIG_X86_E_POWERSAVER is not set

复制代码


兄弟说的那个选项是可以不用的!!
回复 支持 反对

使用道具 举报

发表于 2007-7-7 20:52:08 | 显示全部楼层
d610一直没有这个问题
回复 支持 反对

使用道具 举报

发表于 2007-7-7 23:41:03 | 显示全部楼层
640m只要升级内核就行了,不需要重新编译
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-7-8 12:37:52 | 显示全部楼层
今天又试了一下,确实是不用把"Dell laptop support"编译进内核

我下载了2.6.21.1的内核,然后用/boot目录下的config-2.6.21-1.3194.fc7来make oldconfig,然后什么也没有修改,编译好后用新内核启动

这次正常启动,不会hung在"Uncompress ing linux… OK, booting the kernel"这里。

这点另我很不解,这两个内核应该完全一样的,但是为什么用系统自带的会hung住,而自己编译的不会呢?

哪位能给个解释。
回复 支持 反对

使用道具 举报

发表于 2007-7-31 15:27:27 | 显示全部楼层
Post by rossini23
今天又试了一下,确实是不用把"Dell laptop support"编译进内核

我下载了2.6.21.1的内核,然后用/boot目录下的config-2.6.21-1.3194.fc7来make oldconfig,然后什么也没有修改,编译好后用新内核启动

这次正常启动,不会hung在"Uncompress ing linux… OK, booting the kernel"这里。

这点另我很不解,这两个内核应该完全一样的,但是为什么用系统自带的会hung住,而自己编译的不会呢?

哪位能给个解释。

会不会是F7的内核打了什么补丁造成的?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表