星期二, 5月 17, 2005

Compile kernel

基本上使用RedHat從RedHat 6.x到現在的FC3
印象中好像FC1開始就沒編譯kernel,應該是現在硬體支援度越來越高的關係
想當初編譯kernel可說是家常便飯,三天兩頭就要重新編譯kernel
這次的主要任務是要把Default iocharset for FAT 改成utf8
當然也可以加入,如支援NTFS(NTFS file system support)...等等

之前在一台準系統平常使用上網和打報告都能正常使用,甚至安裝win都能使用
但是在編譯kernel時,每次編譯到一半就關機
後來才發現是CPU過熱,主機板的安全防護措施
原來平常使用時,CPU根本沒有發揮到極限
最後用好一點的散熱膏才解決問題!!!
因此以下動作可能造成當機的危險,請勿輕易嘗試...

首先到官方網站下載 kernel-2.6.11-1.14_FC3.src.rpm
# rpm -ivh kernel-2.6.11-1.14_FC3.src.rpm
以下分成兩種方式

方法一
# cd /usr/src/redhat/SPECS/
# rpmbuild -bp --target=i686 kernel-2.6.spec
# cd /usr/src/redhat/BUILD/kernel-2.6.11/linux-2.6.11/
# gedit Makefile(修改EXTRAVERSION = -linuxnote_FC3)
# make mrproper
# cp -p configs/kernel-2.6.11-i686.config .config
# make oldconfig
# make xconfig(要安裝qt-devel)

# make dep (kernel 2.6之後不用)
# make clean
# make bzImage
# make modules

# cp -p arch/i386/boot/bzImage /boot/vmlinuz-2.6.11-linuxnote_FC3
# make modules_install
# cp -p System.map /boot/System.map-2.6.11-linuxnote_FC3
# new-kernel-pkg --mkinitrd --depmod --install 2.6.11-linuxnote_FC3

方法二
建立專屬的rpm
# gedit /usr/src/redhat/SPECS/kernel-2.6.spec
修改這一行
%define release %(R="$Revision: 1.14 $"; RR="${R##: }"; echo ${RR%%?})_linuxnote_FC3%{rhbsys}

# cd /usr/src/redhat/SOURCES
# cp kernel-2.6.11-i686-smp.config kernel-2.6.11-i686-smp.config.bak
# gedit kernel-2.6.11-i686-smp.config
將ascii改成utf8
CONFIG_FAT_DEFAULT_IOCHARSET="utf8"
# cd /usr/src/redhat/SPECS
# rpmbuild -vv -ba --target=i686 kernel-2.6.spec --clean
# cd /usr/src/redhat/RPMS/i686/
# rpm -ivh kernel-smp-2.6.11-1.14_linuxnote_FC3.root.i686.rpm (請勿使用Uvh,切記!!!)
最後重新開機看看新的kernel能不能正常運作...

基本上方法一,是我n年前的筆記,不過除了make dep不能用之外,其他應該都還適用
而至於方法二,smp是支援多顆cpu的版本,如果只有單一cpu的機器,請自行更改...

UPDATE 2008-7-18
看到自己3年前寫的東西,有種奇妙的感覺,哈哈~~
可以參考以下連結
http://wiki.debian.org.hk/w/Compile_Linux_kernel

星期六, 5月 14, 2005

用mplayerplug-in瀏覽mov檔時,有影無聲

用mplayerplug-in瀏覽mov檔的電影預告片的時候,有影無聲...
MPlayer official site下載qt63dlls-20050115.tar.bz2

# tar jxvf qt63dlls-20050115.tar.bz2
# mkdir /usr/lib/win32
# cp -a qt63dlls-20050115/* /usr/lib/win32/

去年所寫的多媒體這篇
codes是放在/usr/local/lib/win32路徑下,就會產生這個問題
裝完到以下網站測試看看吧!!
http://www.apple.com/trailers/

星期四, 5月 05, 2005

無效的統一碼

存取vfat檔案系統遇到中文檔名
會變成無效的統一碼或是一堆問號...
只要在mount指令加入參數 -o iocharset=utf8,就不會變成亂碼
記得之前有一版的kernel,不用加參數就能正常顯示中文
看來要找個時間重新編譯kernel...

星期三, 5月 04, 2005

Wicked Cool Shell Scripts

這次要介紹一本書 Wicked Cool Shell Scripts
在本書的官方網站中有提供程式碼以及部份章節試閱
嚴格說來這不算是入門的書籍,不過對於有心學習Shell Script的人來說
書中提供了許多好玩而且實用的範例,應該算是一本不錯的書
有許多章節讓我看了之後恍然大悟,原來指令是要這樣使用
想要更瞭解Linux或是要撰寫自己專屬的指令
書中多少能帶給你一些啟發,特別值得一提的就是本書有中文的版本