Debian
是非常好用的 Linux 版本, 在國外是相當受歡迎的 Linux, 您可以選擇跟隨不同的版本, 有 stable, testing, unstable, stable 適用於一般不需最新套件軟體, 只追求穩定的使用者, testing 的軟體版本則較新, unstable 則是更新的軟體版本, 我是裝 testing 的 Debian, 是由官方網站下載的 testing CD
每週都有新的光碟, 是 weekly build 的光碟, 我是選擇裝 i386 的第一片
前置作業
將原本 IBM 硬碟上的 HPA 備分起來, 預防萬一, 用 Debian 光碟開機後, 先利用 Debian 硬碟分割工具, 將原本的硬碟空間改變, 我原本是40G的 C 碟一顆, 扣掉 IBM 的隱藏區後大約還有 37 G 的空間, 將 C 碟的空間縮小(原本資料不會不見), 我是將 C 碟縮到 10 G, 在割一個 6 G 的 FAT 磁區, 準備要放 HPA 的備份, 請參考 IBM HPA BACPUP & RESTORE
開始安裝
先了解硬體是哪些, 我的 IBM X31有
- CPU 1.6
- INTEL gigabit 網路晶片
- ATI 顯示晶片
- BlueTooth
- INTEL 2100 3B wireless
- i810 audio
lspci的結果:
debian:# lspci
0000:00:00.0 Host bridge: Intel Corp. 82855PM Processor to I/O Controller (rev 03)
0000:00:01.0 PCI bridge: Intel Corp. 82855PM Processor to AGP Controller (rev 03)
0000:00:1d.0 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 01)
0000:00:1d.1 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 01)
0000:00:1d.2 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 01)
0000:00:1d.7 USB Controller: Intel Corp. 82801DB/DBM (ICH4/ICH4-M) USB 2.0 EHCI Controller (rev 01)
0000:00:1e.0 PCI bridge: Intel Corp. 82801 PCI Bridge (rev 81)
0000:00:1f.0 ISA bridge: Intel Corp. 82801DBM LPC Interface Controller (rev 01)
0000:00:1f.1 IDE interface: Intel Corp. 82801DBM (ICH4) Ultra ATA Storage Controller (rev 01)
0000:00:1f.3 SMBus: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (rev 01)
0000:00:1f.5 Multimedia audio controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 01)
0000:00:1f.6 Modem: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 01)
0000:01:00.0 VGA compatible controller: ATI Technologies Inc Radeon Mobility M6 LY
0000:02:00.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev aa)
0000:02:00.1 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev aa)
0000:02:00.2 FireWire (IEEE 1394): Ricoh Co Ltd R5C552 IEEE 1394 Controller (rev 02)
0000:02:01.0 Ethernet controller: Intel Corp. 82540EP Gigabit Ethernet Controller (Mobile) (rev 03)
0000:02:02.0 Network controller: Intel Corp. PRO/Wireless LAN 2100 3B Mini PCI Adapter (rev 04)
大概就這些了, 需要的大概也就這些了, 想到再加, 首先由光碟開機, 我是選擇 linux26 的開機方式, 我想用 2.6 Linux 核心了, 按照說明一步步安裝, 請參考 Debian Install (Debian 無痛起步法), 或是 , 圖解 Debian 桌面入門, 安裝好之後, 就會抓到聲音, 不過是用 OSS Sound system, 我想改成 ALSA 的聲音系統, Xfree86 也可以正確得設定, 電源管理是用 2.6 核心預設的 ACPI 的方式作管理, 將
/etc/apt/source.list
設定好吧, 我的內容是:
terry@debian:$ cat /etc/apt/sources.list
deb ftp://debian.linux.org.tw/debian testing main non-free contrib
deb ftp://debian.linux.org.tw/debian-non-US testing/non-US main non-free contrib
deb-src ftp://debian.linux.org.tw/debian testing main non-free contrib
deb-src ftp://debian.linux.org.tw/debian-non-US testing/non-US main non-free contrib
deb http://security.debian.org/ testing/updates main contrib
# Mplayer
deb ftp://ftp.nerim.net/debian-marillat/ testing main
# K3b
deb http://www.planet-moll.de/debian sarge main
mount XP fat file system
把 XP 原本分割的 6 G 的 fat 磁區 mount 起來, 成為 Windows 和 Linux 共享的磁區, 在 /etc/fstab 中加入
/dev/hda2 /mnt/xpshare vfat user,noauto,iocharset-big5 0 0
下面是我的 fstab file 給大家參考:
terry@debian:$ cat /etc/fstab
# /etc/fstab: static file system information.
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
/dev/hda3 / ext3 defaults,errors=remount-ro,noatime 0 1
/dev/hda5 none swap sw 0 0
/dev/scd0 /media/cdrom0 iso9660 ro,user,noauto 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto 0 0
/dev/sda1 /mnt/pendrive vfat user,noauto 0 0
/dev/hda2 /mnt/xpshare vfat user,noauto,iocharset=big5 0 0
True Type 字型, 微軟細明體, 瑩火飛前輩的新宋體
除了, 原本有安裝的文鼎字型外, 將 xpshare mount 起來,mount xpshare 就可以將微軟細明體的字體復製到 Linux 下, 下載瑩火飛前輩的新宋體, Font, (真是要感恩前輩的奉獻) 將字體存放到一個通用的目錄下, 我是放在
/usr/share/fonts/truetype/mingliu 及
/usr/share/fonts/truetype/firefly 下
利用 KDE 的字型管理工具(kcontrol 下的字型管理), 將這兩的字型加入, 順便在字型設定中把anti alias及sub-pixel hinting 選起來就可以了, 字會更清楚, 看看
/etc/X11/XF86Config-4
檔案內的字型部分有無將字型的路徑加入, 如果沒有請自行加入
Wireless, INTEL 2100 3G
這一部分 intel 已經有發表在 Linux 上的驅動程式,網站是 http://ipw2100.sourceforge.net/
您可以去下載firmware, 在 Debian 下, 則是要安裝:
ipw2100-source
hotplug
wireless-tools
kernel-package
kernel-kbuild
kernel-headers
debhelper
等套件
參考一下, 我安裝的kernel package:
terry@debian:$ dpkg -l “kernel” | grep ^i
ii kernel-headers 2.6.8-4 Header files related to Linux kernel version
ii kernel-headers 2.6.8-4 Linux kernel headers 2.6.8 on PPro/Celeron/P
ii kernel-image-2 2.6.8-4 Linux kernel image for version 2.6.8 on PPro
ii kernel-image-2 2.6.8-4 Linux kernel image for version 2.6.8 on PPro
ii kernel-kbuild- 2.6.8-1 Linux kernel 2.6 kbuild tools
ii linux-kernel-h 2.5.999-test7- Linux Kernel Headers for development
接著就請大家看一下 /usr/share/doc/ipw2100-source 的說明, 照著說明安裝, 看 doc 應該是用 Linux 必須的觀念, 讀簡單的英文就成了家常便飯, 最後再用 modprobe ipw2100, 就可以把 module 載入, 記得下載同版本的firmware這樣我們就有了 eth1 這個新的網路介面了
這是我的流程, 不過還是建議您要有看 doc 的習慣:
debian:# cd /usr/src/
debian:/usr/src#
debian:/usr/src# tar zxvf ipw2100-source.tar.gz
debian:/usr/src# module-assistant a-i ipw2100
裝完了別忘了去下載版本符合的 firmware
在放入 /usr/lib/hotplug/firmware 這個資料夾, 並且解壓縮:
debian:/usr/lib/hotplug/firmware# tar zxvf ipw2100-fw-1.3.tgz
老話一句, 記得養成看 doc 的習慣
接下來 您可以先手動載入 ipw2100 這一個 kernel module:
debian:/usr/src#modprobe ipw2100
試試看有沒有問題:
debian:/etc# iwconfig
lo no wireless extensions.
eth0 no wireless extensions.
eth1 IEEE 802.11b ESSID:“test” Nickname:“ipw2100”
Mode:Managed Frequency:2.422 GHz Access Point: 00:02:6F:01:58:AA
Bit Rate=5.5 Mb/s Tx-Power=32 dBm
Retry:on RTS thr=2304 B Fragment thr:off
Encryption key:off
Power Management:off
Link Quality=92/100 Signal level=-66 dBm Noise level=-98 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
eth2 no wireless extensions.
sit0 no wireless extensions.
ALSA Sound System
首先將 oss sound disable, Debian 的 testing 在安裝時是用discover 來偵測硬體, 將原本的 OSS SOUND 關閉, 在 /etc/discover.conf 最後一行加入
skip i810_audio
安裝 alsa-base 及 alsa-utils
參考:
debian:/etc# dpkg -l “alsa” | grep ^i
ii alsa-base 1.0.6a-5 ALSA configuration files
ii alsa-utils 1.0.6-3 Advanced Linux Sound Architecture (utilities
ii gstreamer0.8-a 0.8.5-1 ALSA plugin for GStreamer
ii libpt-plugins- 1.6.6.4-5 Portable Windows Library Audio Plugin for th
再用 alsaconf 來設定即可
ACPI Power Manage
安裝 acpi 及acpid , 在參考一下內附的doc , 及 x31.sh , 至於要不要安裝 ibm_acpi 就見仁見智了, 我是沒有裝
我的 x31.sh 是放在 /etc/acpi/ 下面,您必須在 /etc/acpi/events/default
這樣設定:
terry@debian:$ cat /etc/acpi/events/default
# This is the ACPID default configuration, it takes all
# events and passes them to /etc/acpi/default.sh for further
# processing.
# event keeps a regular expression matching the event. To get
# power events only, just use something like “event=button power."
# to catch it.
# action keeps the command to be executed after an event occurs
# In case of the power event above, your entry may look this way:
#event=button power.
#action=../../sbin/init 0
# Optionally you can specify the placeholder %e. It will pass
# through the whole kernel event message to the program you’ve
# specified.
event=.*
action=../../etc/acpi/x31.sh %e
按造 x31.sh 裡寫的, 我的 Fn+F4 會休眠, 可是大約 3, 4 秒 就又在文字模式下醒過來, 因為在 x31.sh 中fgconsole 路徑錯誤, 將/usr/bin/fgconsole 改成/bin/fgconcole, error 又 說 xxxxx1d.7 裝置不能 suspend, 這應該是, ehci_hcd 這一個 kernel module 造成的, 我把這個 module unload 後, 可以Fn+F4 (suspend), 可是醒不過來, 要按 power 才行,目前, 還有問題, 查了一下 Google 說是 2.6.8 kernel usb 部份的 bug 在 2.6.9 就有修正了, 等不及的就自己先編吧
Fn+F3 的部份, 因為在x31.sh 他抓的even 是在 /proc/acpi/ibm 下面,就一定要裝 ibm_acpi 這個 kernel modul 非常容易裝, 但是我裝了後, 不能正確捉到 Fn+F3, 我想還需要 debug 一下
Fn key
關於 Fn key 的功能, 可以安裝, tpb 這一個套件, 就可以像在 windows 裡一樣, 按 Fn+Home(螢幕變亮), Fn+End(螢幕變暗) , 及音量的升降,都有圖示, 也可以自行設定IBM按鍵
客制化 Xsession.d 下的服務
在登入時我是用 kdm 來作管理(太騷包了), 又一定都會需要中文輸入法, 也不想浪費 x31 鍵盤上 forward, 和 backward 這兩個鍵,加了兩個檔案在
/etc/X11/Xsession.d/ 目錄下, xcin 是參考 doc, xmodmap 則是參考 Xsession 的 man page
/etc/X11/Xsession.d/40custom_load-xmodmap 檔案內容:
debian:/etc/X11/Xsession.d# cat 40custom_load-xmodmap
SYSMODMAP="/etc/X11/Xmodmap”
USRMODMAP="$HOME/.Xmodmap"
if [ -x /usr/bin/X11/xmodmap ]; then
if [ -f “$SYSMODMAP” ]; then
xmodmap “$SYSMODMAP”
fi
fi
if [ -x /usr/bin/X11/xmodmap ]; then
if [ -f “$USRMODMAP” ]; then
xmodmap “$USRMODMAP”
fi
fi
/etc/X11/Xsession.d/70xcin 檔案內容:
debian:/etc/X11/Xsession.d# cat 70xcin
LC_CTYPE=zh_TW.Big5; export LC_CTYPE
XMODIFIERS="@im=xcin"; export XMODIFIERS
xcin &
這是我的
terry@debian:$ cat ~/.Xmodmap
keycode 234 = Prior
keycode 233 = Nex
keycode 是用 xev 去抓的
這樣一來, 就可以把 x31 鍵盤上的 forward, backward 變成 “上一頁” 和 “下一頁”
SpeedStep
在 Linux 下, 有相當多的套件可以控制, 基本上您必須有載入
這些 kernel module, 或是有編入核心, 我是把
speedstep_centrino
cpufreq_userspace
加入 /etc/modules 中
然後我是安裝 powernowd, 是相當實用的套件, 可以設定cpu 每一個 step 的級距, 其他還有cpudyn, cpufreqd 或是其他的套件, 都有相似的功能, 能讓您得筆記型電腦適時的發揮效能, 也能省電
最後來一張快照吧:
快照
相關資源:
中文:
- TP非官方情報站!! http://www.tpuser.idv.tw
- IBM 半官方網站 ThinkClub
- 瑩火飛前輩的網站 http://firefly.idv.tw/test/Forum.php?Board=1
英文:
- The Xdeb31 Project
- GNU/Linux on an IBM ThinkPad X31
- Debian GNU/Linux on the Thinkpad X31
- Linux (Slackware 9.1) on IBM X31 (2672-CEG)
NOTE:
- 2004/11/03: 增加 Xmodmap, 及 Xsession.d 部分