Gentoo Linux on T43 (5) 配置内核(kernel)

以下的内容,适合于正在按照Gentoo手册安装Gentoo Linux 系统,并且已经进行到:第7部分 配置内核 的人。此外,也适合那些已经安装了Gentoo 系统,打算调整内核配置或者需要升级内核的人。 内核版本:gentoo-sources-2.6.23  不同的内核 在网络上,我们经常会看到很多命名不同的Linux kernel 以及它们所对应的patchs,比如: git-sources, mm-sources 等等,它们分别代表了不同的含义,vanilla-sources 是官方...

以下的内容,适合于正在按照Gentoo手册安装Gentoo Linux 系统,并且已经进行到:第7部分 配置内核 的人。此外,也适合那些已经安装了Gentoo 系统,打算调整内核配置或者需要升级内核的人。

内核版本:gentoo-sources-2.6.23 

不同的内核

在网络上,我们经常会看到很多命名不同的Linux kernel 以及它们所对应的patchs,比如: git-sources, mm-sources 等等,它们分别代表了不同的含义,vanilla-sources 是官方 的定期发布版本,未经过任何修改与patch,而git-sources 则每天更新,是vanilla-sources 的开发快照。其它的,诸如mm-sources 是一个增加了补丁集合的版本,由Andrew Morton 进行维护。

这些kernel 也包含在Gentoo 的官方Package 列表里面,可以使用emerge 命令进行安装(虽然Gentoo 并不推荐),Gentoo 也为它们提供了一个概要的描述

在Gentoo手册中要求安装的gentoo-sources 也与它们类似,属于Gentoo Team 维护的一个经过patch 的版本。我们接下来的讨论都是基于此内核。

T43 有关的内核配置

这一节讨论与硬件有关的内核配置选项,以下的内容源于我在网上查找的资料以及自己的经验,有出处的的方我尽量附上链接。对于内核中配置的选择,我尽量摒除无用的选项,以减小内核文件的体积和生成的Modules 规模,但由于我的知识所限,以及个人喜好,仍然会有很多有争议的的方,如果您认为是一个错误,欢迎指正。

T43 不同型号的配置可能会有差别, 以下每一项设备后面,都标出了可能配备的硬件型号,这些硬件信息来源于ThinkWiki ,在开始之前,多花些时间,了解您的Thinkpad 含有哪些硬件,是值得的。

CPU

Intel Pentium M (Dothan) 1.6, 1.73, 1.86, 2.0, 2.13 or 2.26 GHz CPU

CONFIG_X86_PC=y
CONFIG_MPENTIUMM=y
CONFIG_X86_GENERIC=y
主板南桥 

Intel 82801FBM ICH6-M southbridge

CONFIG_I2C_I801=m 
电源管理
CONFIG_PM=y
CONFIG_PM_SLEEP=y
CONFIG_SUSPEND_UP_POSSIBLE=y
CONFIG_SUSPEND=y
CONFIG_HIBERNATION_UP_POSSIBLE=y
CONFIG_ACPI=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_AC=y
CONFIG_ACPI_BATTERY=y
CONFIG_ACPI_BUTTON=m
CONFIG_ACPI_FAN=m
CONFIG_ACPI_DOCK=m
CONFIG_ACPI_BAY=m
CONFIG_ACPI_PROCESSOR=m
CONFIG_ACPI_THERMAL=m
CONFIG_ACPI_BLACKLIST_YEAR=0
CONFIG_ACPI_DEBUG=y
CONFIG_ACPI_DEBUG_FUNC_TRACE=y
CONFIG_ACPI_EC=y
CONFIG_ACPI_POWER=y
CONFIG_ACPI_SYSTEM=y
CONFIG_X86_PM_TIMER=y
CPU 频率调节
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=y
CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
CONFIG_X86_ACPI_CPUFREQ=m
Fn + Keys
CONFIG_THINKPAD_ACPI=m
CONFIG_THINKPAD_ACPI_BAY=y
硬盘/光驱
  • 40, 60 or 80GB PATA HDD1
  • UltraBay Slim with one of the following:
    • DVD-ROM
    • DVD-ROM/CD-RW Combo
    • DVD±RW

有关PATA ,其实就是传统的、使用扁线缆的ATA 硬盘,是对应新的SATA 硬盘而提出的名称。T43 使用PATA 硬盘,但控制器是SATA 的。

前面文章中,提到了硬盘/光驱设备名称的问题 ,以下的设置会决定设备使用哪一种驱动程序,也决定了设备名使用sd* ,还是hd*。

如果打开CONFIG_IDE 选项,那么设备将会识别为hd* ,即使同时打开了scsi 的有关选项。因此,应该关闭CONFIG_IDE 及其以下的所有选项,无论它看起来多么正确,或者你仅仅为了保持兼容性,它都会强制使用落后的驱动程序,硬盘传输速度将遭受明显损失,CPU 占用率也明显提高。方案来源:Desktop Lags under Heavy IO

# CONFIG_IDE is not set
#
# SCSI device support
#
# CONFIG_RAID_ATTRS is not set
CONFIG_SCSI=y
CONFIG_SCSI_DMA=y
CONFIG_SCSI_NETLINK=y
CONFIG_SCSI_PROC_FS=y
#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=y
CONFIG_BLK_DEV_SR=y
CONFIG_CHR_DEV_SG=y
#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
#
CONFIG_SCSI_WAIT_SCAN=m
#
# SCSI Transports
#
CONFIG_SCSI_SPI_ATTRS=y
CONFIG_SCSI_FC_ATTRS=m
CONFIG_ATA=y
CONFIG_ATA_ACPI=y
CONFIG_ATA_PIIX=y
CONFIG_PATA_MPIIX=m
CONFIG_MD=y
CONFIG_BLK_DEV_DM=y
CONFIG_DM_CRYPT=y
显卡

ATI X300 有2种驱动方案,一种是开源驱动,一种是ATI 官方的闭源驱动(已经加入Gentoo Package 列表),闭源驱动对3D 加速支持的更好一些,不过最近开源社区的R300 项目已经可以支持X300 显卡的3D 加速功能了。对于内核配置之外的内容,将来讨论。

以下内核选项对显卡系统起到支持作用,确保已经配置(来源于Gentoo ATI Radeon FAQ: 2.1 - Which kernel options are important for the ATI drivers?

CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_KMOD=y
CONFIG_PCI=y
CONFIG_MTRR=y
CONFIG_TMPFS=y

下面讨论与显卡直接相关的内核选项。

使用开源驱动程序,仅仅需要配置以下2项即可。

CONFIG_DRM=m
CONFIG_DRM_RADEON=m

CONFIG_DRM 与CONFIG_DRM_RADEON 编译为module 会分别对应为drm 与radeon 。

如果使用官方驱动,仅配置以下选项即可

CONFIG_DRM=m

另外一种选择,可以在内核disable CONFIG_DRM 选项,然后在外面emerge x11-base/x11-drm 软件包。

有很多人在论坛上问,X300 是否需要配置CONFIG_AGP(对应agpgart module),X300是 PCIe 接口,经过测试,不需要配置CONFIG_AGP ,无论是内建,还是Module,虽然加入AGP 支持可能不会产生错误,但也不会带来任何性能提升。以下FAQ 也可以作为参考: 2.1 - Which kernel options are important for the ATI drivers? 

NOTE 2: if you have a PCIe card, the AGP settings should be irrelevant. If you encounter problems, make sure you're using a recent kernel and the latest driver version. Some people have also reported that they had to enable AGP for their PCIe cards to work.

...
If you're using a PCIe card, then as noted above, it shouldn't be necessary to enable AGP, but it may be worth trying if you have problems. 

网卡

Broadcom 10/100/1000 Ethernet

CONFIG_TIGON3=m  
无线网卡

Intel 2200/2915 芯片可以使用内置驱动程序

CONFIG_IPW2200=m 
Bluetooth/Modem
声卡 

AD1981B AC'97 Audio controller

内核支持很多种类的声卡驱动,主要包括2种:ALSA 与OSS,如下。几年前在Linux 下装声卡驱动程序,都是用OSS,不过现在有了更好的ALSA

<*> Sound card support
Advanced Linux Sound Architecture  ---> 
Open Sound System  ---> 

对于T43,我们可以使用内核中的ALSA 驱动程序,选项CONFIG_SND_INTEL8X0 为此提供支持,CONFIG_SND_INTEL8X0M是对Modem 的支持,也要选择上。

以下是在我的系统中设定的所有与声卡有关的内核选项:

CONFIG_SOUND=y
CONFIG_SND=m
CONFIG_SND_TIMER=m
CONFIG_SND_PCM=m
CONFIG_SND_HWDEP=m
CONFIG_SND_RAWMIDI=m
CONFIG_SND_SEQUENCER=m
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
CONFIG_SND_PCM_OSS=m
CONFIG_SND_PCM_OSS_PLUGINS=y
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_MPU401_UART=m
CONFIG_SND_AC97_CODEC=m
CONFIG_SND_DUMMY=m
CONFIG_SND_VIRMIDI=m
CONFIG_SND_MTPAV=m
CONFIG_SND_MPU401=m
CONFIG_SND_INTEL8X0=m
CONFIG_SND_INTEL8X0M=m
CONFIG_SND_AC97_POWER_SAVE=y
CONFIG_AC97_BUS=m 

另外还有一种方案,即使用外面的ALSA 驱动程序,可以直接在alsa 项目 的主页下载 alsa-driver。

有关内核以外的配置,后面单独讨论。

PCMCIA *2

CardBus slot (Type 2) (未测试)

ExpressCard/54 slot (未测试)

HDAPS 硬盘动态保护系统

IBM Active Protection System(使用第三方驱动)

Fingerprint Reader 指纹识别

Integrated Fingerprint Reader(使用第三方驱动)

嵌入式加密

IBM Embedded Security Subsystem 2.0 (未测试)

键盘、指点杆、触摸板、usb鼠标

UltraNav (TrackPoint / Touchpad combo) (整理中)

内核选项如下:

CONFIG_INPUT=y
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1400
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=1050
CONFIG_INPUT_EVDEV=y
CONFIG_INPUT_KEYBOARD=y
CONFIG_INPUT_MOUSE=y
CONFIG_INPUT_MISC=y
CONFIG_INPUT_UINPUT=m
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_PS2_ALPS=y
CONFIG_MOUSE_PS2_LOGIPS2PP=y
CONFIG_MOUSE_PS2_SYNAPTICS=y
CONFIG_MOUSE_PS2_LIFEBOOK=y
CONFIG_MOUSE_PS2_TRACKPOINT=y

 

非T43 相关特性的内核配置

这些配置不再一一列举,请见配置文件:config-2.6.23

Tips

查看当前运行系统的内核配置

$ zcat /proc/config.gz |grep -i drm  

延展阅读

(未完)

Update all ibm drivers and apps automatically by Software Installer

I ran the  Thinkpad Software Installer, but it seems only checks the local path for the...
I ran the  Thinkpad Software Installer, but it seems only checks the local path for the available updated softwares. the default local path are:

C:\DRIVERS
C:\IBMTOOLS

I made a check for my thinkpad. 

check result for my thinkpad

 

The current version is 2.52.0501 

I didn't run either IBM Update Connector nor Thinkpad Software Installer successfully before. I'm not sure what the difference is between these 2 applications. 

However, I found an article at ibm.com which describs a new version(3.21.0601) of Thinkpad Software Installer.

I downloaded it and installed. The new feature of checking update on Internet is available now.

new feature

I ran it and got following update list. the new version(1.40) of APS software is included.

get update info on Internet

I got in following state after an automatical update.

updated state
updated state

mail.png


标签订阅|Tag Subscription

If you use an RSS reader, you can subscribe to a feed of all future entries tagged 'driver'. [What is this?]

Subscribe to feed Subscribe to feed

最近更新|Recent Entries

不定期更新|Handy Entries

其它标签|Other Tags

分类栏目|Categories

按月归档|By Month

2008
11
10
07
05
04
03
02
01
2007
12
10
07
06
05
04
03
02
01
2006
12
11
10
09
08
07
06
05
04
03
02
01
2005
11
10
09
08
07
04
03
2004
12
11
10
09
08
07
06
05
04
03
02
01
2003
12
10
09
08
06
2002
09
08
04
03
02
2001
12
09
07
06
05

站内链接|Site Links

Powered by
Movable Type 3.34