超级用户 发表于 2006-1-6 11:23:12

Debian + IBM-R40(迅驰)

本文打造(一个滥俗的词,哈哈)笔记本下的完美Linux。
很简单,抄袭的。
1.内核,建议自己弄一下。因为象IBM/ACER等牌子的本本有很多特殊的按钮或者组合键,内核里有他们的驱动,也许其它笔记本的驱动可以单独下载吧,谁知道。
ACPI,CPUFreq(如果支持)等模块必选啊!

2.acpid
这个守护进程专门从事监听ACPI事件,并根据配置执行相应的操作。
在我的IBM笔记本上,如果没有弄ibm_acpi的曾强内核补丁则只有几个组合能产生acpi事件。如果加上的话,就基本全了(而且还多了两个!!哈哈)。所以内核一定要自己弄。

用“acpi_listen”这个小程序可以先看一下,本本键盘上的特殊按钮是否能够产生acpi事件,以确定驱动安装成功。
然后就可以配置acpid啦!
我的配置是:
Fn+F3 --->未定义事件(本来应该是关闭屏幕,认为无用,就让它响一声)
Fn+F4 --->立刻进入休眠状态
Fn+F5 --->打开/关闭 无线网卡的切换
Fn+F7 --->未定义事件 (本应是在CRT/DVI/LCD之间的转换,认为无用,就让它响一声)
Fn+F9/F8/F12 --->为定义事件 (F12本应该是挂起到硬盘,因为我的内核没有实现,所以就让它响一声;F8/F9键盘上没有标注什么,但是也能产生acpi信号,暂时也让它响一下吧,以后用)
具体配置文件如下:
root@loveIBM:/etc/acpi# ls
events instWiFi.sh powerbtn.sh tosleep.sh
root@loveIBM:/etc/acpi# cat undefine.sh
#!/bin/sh
echo 12 > /proc/acpi/ibm/beepundefine.sh

root@loveIBM:/etc/acpi# cat powerbtn.sh
#!/bin/sh
if ps -Af | grep -q 'desktop' && test -f /usr/bin/dcop
then
dcop --all-sessions --all-users ksmserver ksmserver logout 0 2 0 && exit 0
else
/sbin/shutdown -h now "Power button pressed"
fi

root@loveIBM:/etc/acpi# cat tosleep.sh
#!/bin/sh
#echo "See you later..."

echo eject > /proc/acpi/ibm/bay
echo mem > /sys/power/state

root@loveIBM:/etc/acpi# cat instWiFi.sh
#!/bin/sh
#echo Feel Freedom,using WiFi!
if lsmod |grep -q 'ipw2100'
then rmmod ipw2100 ieee80211 ieee80211_crypt
else modprobe ipw2100
fi

/etc/acpi/下有几个脚本,这些脚本是对与事件的,事件的定义在/etc/acpi/event下,看看我的:
root@loveIBM:/etc/acpi/events# ls
fn3 fn7 fn8 fn9 fnstoragetodisk powerbtn softsleepbtn turnoffbtn wifikey

比如wifikey这个文件
root@loveIBM:/etc/acpi/events# cat wifikey
event=ibm/hotkey.HKEY.00000080.00001005
action=/etc/acpi/instWiFi.sh
里面的第一行,写的是对应的事件名称(用acpi_listen可以看见)
第二行就是当发现这个脚本时,应该执行的脚本。


3.cpufreqd
笔记本最强的是什么?省电!
怎么省?!
守护京城cpufreqd,根据内核里的cpufreq驱动,调整CPU的工作频率。我的机器可以在600MHz到1300MHz之间改变。
LOOK!
/etc/cpufreqd.conf
这个配置文件分3个部分
和和
通用配置只能有一个,策略和规则可以有多个。
×通用配置用来配置cpufreqd本身。
×策略规定CPU的工作频率范围和监听方法
×规则确定在什么时候调用什么策略
这个配置好了,绝对比windows下的能源管理程序好100倍!
我给出我的。

poll_interval=5
pm_type=acpi
verbosity=3



name=fullFreq
minfreq=600000
maxfreq=1300000
policy=ondemand


name=highUP
minfreq=800000
maxfreq=1300000
policy=ondemand


name=lowDOWN
minfreq=600000
maxfreq=1000000
policy=conservative



name=normal-ac
ac=on
cpu_interval=1-100
profile=fullFreq


name=normal-bat
ac=off
battery_interval=10-100
profile=lowDOWN


name=when-compiling-ac
ac=on
programs=gcc,g++,make
cpu_interval=20-100
profile=highUP


name=when-compileing-bat
ac=off
programs=gcc,g++,make
cpu_interval=30-100
battery_interval=30-100
profile=highUP

完啦!完美笔记本出来啦!







_____________________________________
Intel PIII-C 733MHz
ECS P6-ISA-II (i815e)
nVidia NV11
128M-RAM
MAG-570FD-MK-II

我是东南毕业的,我爱大学。
我是志愿者,我爱祖国。
我是别人的儿子,我爱我家。
我是某人的男朋友,我爱她。
但最重要的是,
我是LinuX用户,我爱Debian!
页: [1]
查看完整版本: Debian + IBM-R40(迅驰)