把 GNU/Debian 裝在 IBM X31 上


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 &

這是我的 /.Xmodmap:

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 或是其他的套件, 都有相似的功能, 能讓您得筆記型電腦適時的發揮效能, 也能省電

最後來一張快照吧:


快照

WindowMaker

相關資源:


中文:

英文:

NOTE:



  • 2004/11/03: 增加 Xmodmap, 及 Xsession.d 部分

拖吊事件

要是我們的公務人員,人人都有這樣的效率

‘拖吊!’ from 愛麗絲夢遊部落格仙境 Link

沒機車停車位

今天在離開了,令我難分難捨的被窩後, 開始了機車大冒險, 在都市叢林中求生存, 到了建國南京旁, 才發現, 原本的機車車位, 因為道路重鋪, 格線不見, 全被汽車停滿了

看來今天鐵遲到了

台北市真是經費非常多, 覺得是把原本很平的路, 鋪的不平, 反正應該過不了兩個月, 又會開始挖馬路吧

這樣才可以把預算花玩吧!

其實把預算用完的問題, 已經存在公務機關太久了, 沒用完, 還怪你執行不利, 看來都沒有媒體願意作個深度報導, 這個惡質的文化, 怕影響媒體的廣告預算吧!

沒用完, 怕明年預算被砍, 看來台灣的老百姓可要辛苦點了

說太多了, 沒停車位也能扯這麼多 :o)

燒錄軟體 K3b


K3b


K3b 是在 Linux 下開發的燒錄軟體,大多是人機介面的整合,原本是針對 KDE 作最佳化,但是其實不管是哪個 window manager 都可以用, Nero 有的功能,大多都有,有興趣的可以試試。如果是 Debian 的話有現成的 deb 可用 。

請在 /etc/apt/source.list 加入官方網站的 deb 位址

用 woody (stable ) 的加入

deb http://www.planet-moll.de/debian woody main

用 sarge 也就是現在的 testing 加入下一行

deb http://www.planet-moll.de/debian sarge main

在執行

apt-get update

apt-get install k3b

安裝完了,就輸入 k3b 試試看合不合用了

生日晚餐


Dinner


星期三讓小愛破費了,吃的可是相當美味可口的素食日本料理,真是委屈他了,陪我一起吃清淡的口味,不過也對身體好嘛,是 399 吃到飽的,服務人員會細心的介紹菜色,口味不錯,尤其是烤小卷,現在還無法忘記他的美味。

延壽屋素食日本料理

台北市復興北路125號

TEL (02) 2766-7091, (02) 2766-7093

Website

email: life21 at 58168.net

唯一的瑕疵,瞄到廚師在吃檳榔 !!!

紅燈右轉

紅單


在星期六,大多數台北人都不需上班的日子, 我悠悠的騎著我的鐵騎, 光陽豪邁

在上班的路上 看到前方紅燈, 我一如以往的右轉, 要去買早餐, 前方的警察伯伯就用非常非常開心的表情來迎接我這隻肥羊, 今天又要奉獻給台北市了(果然, 前天才說台北市鋪路的壞話), 今天就有報應了, 我就問表情非常開心的警察伯伯, 說這要罰多少, 他說這算是闖紅燈, 1800 coco, 看來一天賺的還不夠拿來奉獻, 後來手下留情, 罰我, 未禮讓行人, 1200 coco :-(

我會記得台北市的經費, 我有奉獻

機車權益


其實在很久以前, 紅燈是可以右轉的, 再那個時候, 紅綠燈上都會有一個向右的箭頭, 行人的權益高漲後, 就換罰我們coco 了, 我想機車騎士們, 真是需要一個管道, 來怒吼, 斯喊一下, 要不然長年來的不公平待遇, 真是無處可申

  1. 如果能禮讓行人, 機車紅燈右轉, 並不影響行人權益, 因為在右邊的有兩種動線, 由右往左, 由右往前, 若是不禮讓行人的機車, 在綠燈後右轉, 一樣危害由右往前的行人安全

  2. 機車紅燈右轉, 竟然視同闖紅燈, 您覺得合理嗎? 為何會這樣, 因為定遊戲規則的人大概沒人騎機車吧 :-) (笑)

  3. 機車禁行內側車道, 只要有機車專用道, 我想應該就可以解決了(汽車不能暫停, 或是佔用那種), 但是右側車道, 不是臨時停車, 公車, 計程車突然的向右靠, 公車也會用大角度的方式停到公車的停車位, 因為公車很不喜歡停在其他公車的後面, 有些公車甚致就直接在慢車道就開門了, 機車真是不知要騎去哪裡, 有一次, 看到一位交警, 看到一大串機車騎上人行道, 就堵了其中一個倒楣的, 但是真相卻是這樣(都有錯), 大客車, 計程車擋到機車, 機車路權被侵害, 機車上人行道, 侵害行人的權利, 為何機車罰錢, 大客車, 計程車沒事, 真的是機車騎士好欺負

  4. 機車兩段左轉, 您知道這樣等的紅綠燈是汽車的幾倍嗎?

  5. 高架道路, 快速道路禁行, 台北市的車子, 有多少只座一個人, 而小小的機車都沒什麼路權


解決辦法


機車視路段,開放紅燈右轉, 改取締不禮讓行人的騎士, 及違規的行人

機車兩段左轉, 改在紅燈變換綠燈時, 在最前方畫上機車左轉車車格, 可以左轉, 兩個車位, 兩個司機, 就可停下無數的機車

機車禁行慢車道, 請建機車專用道

高架, 快速路段, 建機車專用道, 開放給重型機車(125 cc 含以上),

以上如有情緒的用字, 請見諒, 比上一些民意代表只會反對, 完全沒有解決問題的辦法好多了.

目前因應之道


紅燈要右轉, 請下車牽過去

兩段左轉, 可以牽就牽吧

其他無解

參考資源: