LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: 野马joe

能有这样的安装模式吗:安装的时候自动检查机器支持的硬件模块,安装后都自动加载?

[复制链接]
发表于 2005-5-25 20:00:38 | 显示全部楼层
我这里用的是自己编译的内核,官方默认内核都有什么模块儿不太清楚了。不过手里还有一个kconfig26,是稍老一点儿的官方内核的设置文件,你可以看看:

  1. #
  2. # ACPI (Advanced Configuration and Power Interface) Support
  3. #
  4. CONFIG_ACPI=y
  5. CONFIG_ACPI_BOOT=y
  6. CONFIG_ACPI_INTERPRETER=y
  7. CONFIG_ACPI_SLEEP=y
  8. CONFIG_ACPI_SLEEP_PROC_FS=y
  9. CONFIG_ACPI_AC=y
  10. CONFIG_ACPI_BATTERY=y
  11. CONFIG_ACPI_BUTTON=y
  12. CONFIG_ACPI_VIDEO=y
  13. CONFIG_ACPI_FAN=y
  14. CONFIG_ACPI_PROCESSOR=y
  15. CONFIG_ACPI_THERMAL=y
  16. CONFIG_ACPI_ASUS=m
  17. CONFIG_ACPI_IBM=m
  18. CONFIG_ACPI_TOSHIBA=m
  19. CONFIG_ACPI_CUSTOM_DSDT_INITRD=y
  20. CONFIG_ACPI_BLACKLIST_YEAR=0
  21. # CONFIG_ACPI_DEBUG is not set
  22. CONFIG_ACPI_BUS=y
  23. CONFIG_ACPI_EC=y
  24. CONFIG_ACPI_POWER=y
  25. CONFIG_ACPI_PCI=y
  26. CONFIG_ACPI_SYSTEM=y
  27. CONFIG_X86_PM_TIMER=y
  28. # CONFIG_ACPI_CONTAINER is not set

  29. #
  30. # APM (Advanced Power Management) BIOS Support
  31. #
  32. CONFIG_APM=y
  33. # CONFIG_APM_IGNORE_USER_SUSPEND is not set
  34. CONFIG_APM_DO_ENABLE=y
  35. # CONFIG_APM_CPU_IDLE is not set
  36. # CONFIG_APM_DISPLAY_BLANK is not set
  37. # CONFIG_APM_RTC_IS_GMT is not set
  38. # CONFIG_APM_ALLOW_INTS is not set
  39. # CONFIG_APM_REAL_MODE_POWER_OFF is not set
复制代码
回复 支持 反对

使用道具 举报

发表于 2005-5-25 20:02:53 | 显示全部楼层
可以看到,很多东西arch都直接编译到内核中了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-5-25 21:22:20 | 显示全部楼层
Post by diony
可以看到,很多东西arch都直接编译到内核中了。



哦,如果是编译到内核中的东西,需要怎么样使它生效阿?


我在/boot下找到kconfig26内核的设置文件,我做了一些修改,但好象没有效果?是否做了修改后需要重新编译?还是需要再运行什么命令重新配置阿?

还有如下那些值,有些被设置为y,有些是m ,y应该就是代表有效或加载吧,那么m是代表什么呢?对这个不太了解
--------------------------------------------------------------
CONFIG_ACPI_THERMAL=y
CONFIG_ACPI_ASUS=m
CONFIG_ACPI_IBM=m
--------------------------------------------------------------------
回复 支持 反对

使用道具 举报

发表于 2005-5-25 22:11:22 | 显示全部楼层
这个kconfig26,其实是编译内核时候所用的设置。
之所以在/boot下放一个,应该是为了让使用者了解内核编译时都设置了什么选项。
不要修改它,不起作用的。

y表示直接编译进了内核,不用加载,直接起作用。
m表示编译成了模块儿,也就是需要用户或者系统加载它才会生效。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-5-25 22:23:09 | 显示全部楼层
Post by diony
这个kconfig26,其实是编译内核时候所用的设置。
之所以在/boot下放一个,应该是为了让使用者了解内核编译时都设置了什么选项。
不要修改它,不起作用的。

y表示直接编译进了内核,不用加载,直接起作用。
m表示编译成了模块儿,也就是需要用户或者系统加载它才会生效。


哦,明白了!那么我就是如果需要用到kconfig26中没有编译进系统或编译成模块的支持功能的,就需要从新编译内核或者安装相关的独立的支持该功能的软件驱动了吧(例如alsa声卡驱动这类程序)?
回复 支持 反对

使用道具 举报

发表于 2005-5-25 22:52:46 | 显示全部楼层
是的。没有y或者m的东西,你就需要重新编译内核以获得相关的模块儿或者直接编译进内核。
alsa是编译为模块儿的,但是版本较旧,也可以pacman安装比较新的版本。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-5-26 01:24:40 | 显示全部楼层
新问题,是关于编译内核的!

我在/usr/src/linux-2.6.11.10-ARCH/下运行

make oldconfig
make xconfig
配置内核选项后在运行
make

就出现以下出错信息:
-----------------------------------------------------------------------------------------------------
[root@myhost linux-2.6.11.10-ARCH]# make
  CHK     include/linux/version.h
  CHK     include/asm-i386/asm_offsets.h
scripts/Makefile.build:13: init/Makefile: 没有那个文件或目录
make[1]: *** 没有规则可以创建目标“init/Makefile”。 停止。
make: *** [init] 错误 2

------------------------------------------------------------------------------

请问你们知道是什么原因吗?thanks
顺便问一句,在执行make oldconfig的时候,它读取系统中现存内核的配置文件!这文件是放在那里的文件阿,是/boot目录下那个吗Kconfig26吗?
回复 支持 反对

使用道具 举报

发表于 2005-5-26 09:13:50 | 显示全部楼层
建议你去看看这里
http://wiki2.archlinux.org/index.php/Kernel

看完了,搞定了,最好贴个心得。。
回复 支持 反对

使用道具 举报

发表于 2005-5-26 10:13:45 | 显示全部楼层
arch在/usr/src下的并不是完整的源码。而是一些编译其他东西(比如nvidia驱动)需要用到的headers。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-5-26 14:53:04 | 显示全部楼层
晕得一阵阵.......
利用abs重新编译了一个内核,什么cpu_freq ,acpi , apm 都基本加进内核去了(比同一机上的ubuntu的内核还多)
安装新的内核后,发觉cpu_freq应该能工作,但是apm好象还是不能,在运行apm的时候说内核没有支持,如下:

-------------------------------------------------------------
[root@myhost mnt]# apm
No APM support in kernel
[root@myhost mnt]#
----------------------------------------------------------------
而内核关于acpi apm cpufreq的配置如下:



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

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

  37. #
  38. # APM (Advanced Power Management) BIOS Support
  39. #
  40. CONFIG_APM=y
  41. CONFIG_APM_IGNORE_USER_SUSPEND=y
  42. CONFIG_APM_DO_ENABLE=y
  43. CONFIG_APM_CPU_IDLE=y
  44. CONFIG_APM_DISPLAY_BLANK=y
  45. # CONFIG_APM_RTC_IS_GMT is not set
  46. CONFIG_APM_ALLOW_INTS=y
  47. CONFIG_APM_REAL_MODE_POWER_OFF=y

  48. #
  49. # CPU Frequency scaling
  50. #
  51. CONFIG_CPU_FREQ=y
  52. # CONFIG_CPU_FREQ_DEBUG is not set
  53. CONFIG_CPU_FREQ_STAT=m
  54. CONFIG_CPU_FREQ_STAT_DETAILS=y
  55. CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
  56. # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
  57. CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
  58. CONFIG_CPU_FREQ_GOV_POWERSAVE=y
  59. CONFIG_CPU_FREQ_GOV_USERSPACE=y
  60. CONFIG_CPU_FREQ_GOV_ONDEMAND=y
  61. CONFIG_CPU_FREQ_TABLE=y

  62. #
  63. # CPUFreq processor drivers
  64. #
  65. CONFIG_X86_ACPI_CPUFREQ=y
  66. CONFIG_X86_POWERNOW_K6=m
  67. CONFIG_X86_POWERNOW_K7=m
  68. CONFIG_X86_POWERNOW_K7_ACPI=y
  69. CONFIG_X86_POWERNOW_K8=m
  70. CONFIG_X86_POWERNOW_K8_ACPI=y
  71. CONFIG_X86_GX_SUSPMOD=m
  72. CONFIG_X86_SPEEDSTEP_CENTRINO=y
  73. CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI=y
  74. CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE=y
  75. CONFIG_X86_SPEEDSTEP_ICH=y
  76. CONFIG_X86_SPEEDSTEP_SMI=m
  77. CONFIG_X86_P4_CLOCKMOD=m
  78. CONFIG_X86_CPUFREQ_NFORCE2=m
  79. CONFIG_X86_LONGRUN=m
  80. CONFIG_X86_LONGHAUL=m

  81. #
  82. # shared options
  83. #
  84. CONFIG_X86_ACPI_CPUFREQ_PROC_INTF=y
  85. CONFIG_X86_SPEEDSTEP_LIB=y
  86. CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y

复制代码



看来在arch中实现比较完美的对notebook的acpi ,apm 和Cpu SPEEDSTEP 的结合比较困难,估计是arch在开发的过程中比较少在notebook上进行测试吧?

不知道这版中的兄弟,有没有是在notebook运行archlinux的,并且完美解决了acpi ,apm 和cpu  speedstep 的支持的?如果有的请提供一下解决方案和经验??
回复 支持 反对

使用道具 举报

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

本版积分规则

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