筆記本上使用Archlinux(轉)

worldblog發表於2007-08-10
筆記本上使用Archlinux(轉)[@more@]

  摘要:筆記本上配置使用Archlinux,比如電源管理,CPU降溫,熱鍵設定及DPMS的使用等;

  、網路環境的配置

  首先新增udev規則,解決兩個網路卡的順序問題.

編輯/etc/udev/rules.d/10-network.rules

  SUBSYSTEM=="net", SYSFS{address}=="00:02:8a:47:f4:a5", NAME="wlan0"

SUBSYSTEM=="net", SYSFS{address}=="00:09:6b:06:a5:b4", NAME="lan0"

  筆記本上經常移動,需要多套網路的配置.

編輯rc.conf

  ...

HOSTNAME="localhost"

lo="lo 127.0.0.1"

INTERFACES=(lo)

NET_PROFILES=(menu)

...

  

將NET_PROFILES=(menu)開啟,在/etc/network-profiles/中新增配置檔案.

  例如檔案/etc/network-profiles/20-home

  DESCRIPTION="home"

INTERFACE=lan0

HOSTNAME=localhost

IFOPTS="219.242.113.92 netmask 255.255.255.0 broadcast 219.242.113.255 hw ether 00132051A785"

GATEWAY=219.242.113.1

DNS1=202.112.144.30

  

使用sudo /etc/rc.d/network restart則可更改網路設定,/etc/resolv.conf的值會被更新.

當有多個配置時,檔名以字典序排列,數字開頭則比較方便,數字最小的為預設網路配置.

2、laptop-mode的配置

  安裝 laptop-mode-tools 軟體包.

  編輯檔案/etc/laptop-mode/laptop-mode.conf

預設設定已經能夠滿足需要了,只要把CONTROL_開頭的開啟即可,

裡面包含了硬碟,cpu等多方面的設定,能極大延長電池的使用時間, 推薦使用.

3、設定筆記本的待機

  安裝acpid,機器待機時,背光仍然開啟,主要是使用radeon的顯示卡可能會有這個問題.

詳細的描述見1,使用radeontool解決該問題,指令碼2如下:

  #!/bin/sh

# if launched through a lid event and lid is open, do nothing

echo "$1" | grep "button/lid" && grep -q open /proc/acpi/button/lid/LID/state && exit 0

# remove USB 1.1 driver

rmmod uhci_hcd

# sync filesystem and clock

sync

/sbin/hwclock --systohc

# switch to console

FGCONSOLE=`fgconsole`

chvt 6

/usr/sbin/radeontool light off

# go to sleep

sleep 5 && echo -n "mem" > /sys/power/state

# readjust the clock (it might be off a bit after suspend)

/sbin/hwclock --adjust

/sbin/hwclock --hctosys

# reload USB 1.1 driver

modprobe uhci_hcd

# turn on the backlight and switch back to X

radeontool light on

chvt $FGCONSOLE

  將指令碼儲存在/etc/acpi/actions/sleep.sh,並chmod +x sleep.sh

  修改/etc/acpi/handler.sh

按下sleep按鍵時(我這裡是Fn+F4)執行sleep.sh,進入待機

  ...

...

button/sleep)

case "$2" in

SLPB) #echo -n mem >/sys/power/state ;;

/etc/acpi/actions/sleep.sh;;#註釋掉上句,新增這句

...

  

合上螢幕時,待機

  ...

button/lid)

#echo "LID switched!">/dev/tty5

/etc/acpi/actions/sleep.sh #新增這句

;;

...

  修改指令碼以後,重起服務即可生效.

  /etc/rc.d/acpid restart

  有個問題就是待機時usb口仍然供電,在windows下則無此現象.

4、cpu自動降頻

  查詢所需要的模組

  modprobe -l |grep cpufreq

/lib/modules/2.6.17-ARCH/kernel/drivers/cpufreq/cpufreq_powersave.ko

/lib/modules/2.6.17-ARCH/kernel/drivers/cpufreq/cpufreq_stats.ko

/lib/modules/2.6.17-ARCH/kernel/drivers/cpufreq/cpufreq_userspace.ko

/lib/modules/2.6.17-ARCH/kernel/drivers/cpufreq/cpufreq_ondemand.ko

/lib/modules/2.6.17-ARCH/kernel/drivers/cpufreq/cpufreq_conservative.ko

/lib/modules/2.6.17-ARCH/kernel/drivers/cpufreq/freq_table.ko

/lib/modules/2.6.17-ARCH/kernel/arch/i386/kernel/cpu/cpufreq/longrun.ko

/lib/modules/2.6.17-ARCH/kernel/arch/i386/kernel/cpu/cpufreq/powernow-k8.ko

/lib/modules/2.6.17-ARCH/kernel/arch/i386/kernel/cpu/cpufreq/powernow-k7.ko

/lib/modules/2.6.17-ARCH/kernel/arch/i386/kernel/cpu/cpufreq/powernow-k6.ko

/lib/modules/2.6.17-ARCH/kernel/arch/i386/kernel/cpu/cpufreq/speedstep-smi.ko

/lib/modules/2.6.17-ARCH/kernel/arch/i386/kernel/cpu/cpufreq/speedstep-lib.ko

/lib/modules/2.6.17-ARCH/kernel/arch/i386/kernel/cpu/cpufreq/speedstep-ich.ko

/lib/modules/2.6.17-ARCH/kernel/arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.ko

/lib/modules/2.6.17-ARCH/kernel/arch/i386/kernel/cpu/cpufreq/p4-clockmod.ko

/lib/modules/2.6.17-ARCH/kernel/arch/i386/kernel/cpu/cpufreq/cpufreq-nforce2.ko

/lib/modules/2.6.17-ARCH/kernel/arch/i386/kernel/cpu/cpufreq/gx-suspmod.ko

/lib/modules/2.6.17-ARCH/kernel/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.ko

  

我的cpu是P4M1.6GHZ,選擇speedstep-ich.ko,同時需要cpufreq governors:

我這裡顯示有5個可以選擇 userspace, powersave, ondemand, conservative, perform

ance.

  cpu降頻的軟體包有cpufreqd和cpufrequtils,後來發現laptop-mode-tools裡面直接可以控制cpu頻率和throttling.推薦使用這個.

  需要在rc.conf中新增speedstep-ich和ondemand

5、監測硬碟,cpu,電池等

  arch中監測支援smart硬碟溫度軟體有smartmontools和hddtemp,第一個監測的功能很多,我們使用第二個,

  [arch@localhost proc]$ sudo hddtemp -n /dev/hda

51

  監測cpu頻率,溫度,電池等.

這些資訊都在/proc/acpi中,一般視窗管理器裡面自帶指令碼/外掛都可以監測,若沒用的話,使用某個指令碼語言,用正規表示式抓取資料也是很容易的.

conky可以將資料輸出到桌面.

6、thinkpad筆記本的熱鍵設定

  主要使用ibm_acpi模組,其它品牌筆記本不適用.

新增ibm_acpi到rc.conf中的MODULES,在/etc/modprobe.conf

新增

  options ibm_acpi hotkey=enable,0xffff experimental=1

  

指定載入模組時的引數,hotkey=enable,0xffff指明使用盡可能多的快捷鍵,experimental=1開啟一些在測試中的功能,如控制cpu風扇等,啟用hotkey功能後,Fn+F4組合鍵將不產生sleep的acpi的事件,而是ibm/hotkey事件.

  這樣執行 acpi_listen後,可以監測Fn+F1-F12中那些組合產生acpi的事件,我這裡是

F3,F4,F7,F8,F12.我將F3設定為開關螢幕,F4為待機,F7為切換顯示器,F8為關閉bay(用來熱拔插光碟機或第2塊電池),F12設定為關機.

  我們使用radeontool來切換,它沒有監測lcd狀態的功能,可以使用指令碼來簡單判斷lcd的狀態.

  /etc/acpi/actions/lcd_switch.sh

  #!/bin/sh

flag=/tmp/thinkpad_lcd_off

if [ -e $flag ]; then

    /usr/sbin/radeontool light on

    rm -f $flag

else

    /usr/sbin/radeontool light off

    > $flag

fi

  

注意要chmod +x lcd_switch.sh

  切換顯示器使用

  echo video_switch > /proc/acpi/ibm/video

  

關閉bay使用

  echo eject > /proc/acpi/ibm/bay

  修改handler.sh

  ...

    ibm/hotkey)

         case "$2" in

             HKEY)

              case "$4" in

                 00001003) #echo "f3" >/dev/tty5

                    /etc/acpi/actions/lcd_switch.sh

                    ;;

                 00001004) #echo "f4" >/dev/tty5

                    /etc/acpi/actions/sleep.sh

                     ;;

                 00001007) #echo "f7" >/dev/tty5

                     echo video_switch > /proc/acpi/ibm/video

                    ;;

                 00001008) #echo "f8" >/dev/tty5

                     echo eject > /proc/acpi/ibm/bay

                    ;;

                 0000100c) #echo "f12" >/dev/tty5

                    /sbin/halt

                    ;;

                esac

                ;;

            *) logger "ibm_acpi undefined:$2";;

         esac

         ;;

...

  

使用tpb可以在螢幕上顯示音量等資訊,還可以設定thinkpad等熱鍵.

7、DPMS的使用

  修改xorg.conf在Section "Monitor" 中新增 Option "DPMS",在 Section "ServerLayout" 中新增

  

Option "StandbyTime" "20" # Turn off screen in 20 minutes

Option "SuspendTime" "30" # Full hibernation in 30 minutes

Option "OffTime" "40" # Turn off DPMS monitor

  

使用xset dpms force standby可以立即檢視效果.

  我這裡dpms一直無法使用,將驅動從"versa"換為"radeon"(軟體包為 xf86-video-ati)後dpms正常,但是它與/proc/acpi/ibm/video衝突.具體就是不能使用上面Fn+F7來切換顯示器.後發現使用laptop-mode-tools 可以控制dpms,驅動還是使用"vesa"較方便.

  radeontool的PKGBUILD

  pkgname=radeontool

pkgver=1.5

pkgrel=2

pkgdesc=

url=""

license=GPL

depends=('pciutils')

makedepends=()

backup=()

source=( $pkgname-$pkgver.tar.gz)

md5sums=(8065eebe5a2b163e43b40461bfe49a56)

build() {

    cd $startdir/src/$pkgname-$pkgver

    make || return 1

    mkdir -p $startdir/pkg/usr/sbin

    cp $pkgname $startdir/pkg/usr/sbin

}

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-940410/,如需轉載,請註明出處,否則將追究法律責任。

相關文章