|
|
第 1 帖 | |
|
|
标题: 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 '[k]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个部分 [General]和[Profile]和[Rule] 通用配置只能有一个,策略和规则可以有多个。 ×通用配置用来配置cpufreqd本身。 ×策略规定CPU的工作频率范围和监听方法 ×规则确定在什么时候调用什么策略 这个配置好了,绝对比windows下的能源管理程序好100倍! 我给出我的。 [General] poll_interval=5 pm_type=acpi verbosity=3 [Profile] name=fullFreq minfreq=600000 maxfreq=1300000 policy=ondemand [Profile] name=highUP minfreq=800000 maxfreq=1300000 policy=ondemand [Profile] name=lowDOWN minfreq=600000 maxfreq=1000000 policy=conservative [Rule] name=normal-ac ac=on cpu_interval=1-100 profile=fullFreq [Rule] name=normal-bat ac=off battery_interval=10-100 profile=lowDOWN [Rule] name=when-compiling-ac ac=on programs=gcc,g++,make cpu_interval=20-100 profile=highUP [Rule] name=when-compileing-bat ac=off programs=gcc,g++,make cpu_interval=30-100 battery_interval=30-100 profile=highUP 完啦!完美笔记本出来啦!
__________________
Intel CentrinoDuo T2400 DELL INSPIRON 6400 ATi X1400 1024MB@667MHz TrueLife-1280x800-LCD + SyncMaster940BW-1440x900-LCD Intel CentrinoDuo2 T8100 DELL XPS 1530 nVidia 8600m GT dual 1024MB@667MHz TrueLife-1440x900-LCD 我是东南毕业的,我爱大学。 我是志愿者,我爱祖国。 我是别人的儿子,我爱我家。 我是某人的老公,我爱她。 但最重要的是, 我是LinuX用户,我爱Debian! |
|
|
|
|
|
|
|
第 2 帖 | |
|
|
这也能叫完美?看你STR的脚本就知道有多粗糙
|
|
|
|
|
|
|
|
第 3 帖 | |
|
|
root@loveIBM:/etc/acpi# cat tosleep.sh
#!/bin/sh #echo "See you later..." echo eject > /proc/acpi/ibm/bay echo mem > /sys/power/state 我不相信你这个能用 不是 scsi 设备,你直接 eject, kernel 会发疯一样寻找你的 hdc 的。 应该用 hotswap 来 unregister hdc 这个设备。然后在 eject
__________________
BLOG http://blog.linuxfire.com.cn/optical Debian On T42 http://linuxfire.com.cn/~optical/Debian_On_T42/html/ |
|
|
|
|
|
|
|
第 4 帖 | |
|
|
哈哈,见笑啦!
二楼的朋友,STR是什么意思啊? 糙是糙了点儿,但是所有西西工作正常啊! ^_^ 三楼的朋友: echo eject > /proc/acpi/ibm/bay echo mem > /sys/power/state 我每次合上笔记本屏幕,计算机就自动执行啊。 这个是ibm-acpi的接口文件,没有问题的。 这个笔记本的光驱是可以“温拔插”的。 此帖于 06-01-06 12:51 被 超级用户 编辑. |
|
|
|
|
|
|
|
第 5 帖 | |
|
|
上 thinkwiki 查了一下,原来 R40 的是 ultrabay plus。
和我的 ultrabay slim 还不一样。 代码:
|
|
|
|
|
|
|
|
第 6 帖 | |
|
|
so much kind of 'bay' !!!
^_^ 此帖于 06-01-06 17:16 被 超级用户 编辑. |
|
|
|
|
|
|
|
第 7 帖 | |
|
|
内核那块要怎么整啊?新手,麻烦楼主写下详细步骤啊。
|
|
|
|
|
|