2007年7月1日

Live CD (DSL 3.3) 小修改,加入中文字型來瀏覽中文網頁

,這篇是於東吳資科Unix課程中 關於LiveCD Remaster的簡易筆記及心得分享
這裡以補充一些比較基本的注意事項為主
##CONTINUE##
我們在製作過程中有很多不懂的地方,所以在流程中看到錯誤的話也請告知~感激不盡!



by IKARi & ChungYing
Instructor: Joe

目的:把原版DSL加入中文字型*可看中文網頁 (Damn Small Linux 3.3)

*字型是xfonts-intl-chinese,這是人稱最醜但是也是常用的基本字體,有其他很多更好的字型可以代替 ,此外字型種類若是 ttf(TrueType)佔的容量會比較大。

製作環境需求
-DSL 原始 iso檔,此次版本是3.3 (2007-June)(官網)
-可供DSL暫存檔案的Linux partition*,1~2G可
-網路

* 製作過程可用虛擬機器在Windows上做,就不必實際要有一個partition或硬碟,但要注意ram的大小,沒有512可能會在最後壓制 iso檔成品時錯誤,而且也很慢。

可能需要的背景知識
Linux基本指令
Debian基本常識(APT系統在幹麼的)
切割硬碟觀念
如何連上網路(若用虛擬機器就可以不用管)
文字編輯器(vi 或 nano)

大致步驟分為
1.切割硬碟,以產生修改LiveCD的環境
2.複製 DSL iso檔上的資料到硬碟上
3.chroot(change root)進去硬碟上的LiveCD環境
4.開始修改(此例是加入中文字型)
5.chroot出來
6.從剛修改過的內容壓制出新的LiveCD iso檔

製作過程中請注意
-有些過程是需要連續的,若有中斷要判斷影響到哪裡來決定哪些要重作,要有一直重頭做的心理準備(因為不知道會影響哪些所以只好重作,但越了解指令則重做部份就可以越少)

-錯誤訊息很重要,有些可以忽略,有些則是重要關鍵,文中沒提到的問題請善用google

開始:開啟terminal打sudo su,全程以root權限操作,也可在terminal圖示按右鍵以super user開啟,shift按住按+/-可以改變字型大小

#號開頭才是指令

1.切割硬碟,以產生修改LiveCD的環境
#fdisk /dev/hda [不是hda1,這裡不講fdisk用法,m是說明,最後記得w存檔]
#mkfs /dev/hda1 [不是hda]
#reboot [重開機剛才做的才會生效]

開機後...
#mount /mnt/hda1 [只要重開機就要記得重新mount,不然指令都是白打,此外可用DSL桌面右下角的mount 工具代替這一步,有時不能mount重開機看看,還是以錯誤訊息為主]

2.複製 DSL iso檔上的資料到硬碟上
#cd /mnt/hda1 [這一步沒做後面都錯,要先mount才能做這步]
#mkdir newcd [建立兩個資料夾]
#mkdir source
#cp -Rp /cdrom/* newcd/ [開始複製資料]
#cp -Rp /KNOPPIX/* source/
#cp -Rp /KNOPPIX/.bash_profile source/

複製概要:
cdrom --> newcd
Knoppix --> source

3.chroot(change root)進去硬碟上的LiveCD環境
#mount --bind /dev source/dev
#chroot source [做了這步提示符號會變,表示已經進入環境,根目錄已經改變成原先的source]
#mount -t proc /proc proc

4.開始修改(此例是加入中文字型)
[回復Debian的APT系統,用來增減程式]
#dpkg-restore
#vi /etc/apt/sources.list [加入下面一行文字]

deb http://ftp.us.debian.org/debian/ stable main non-free contrib

#apt-get update


[恢復GNU命令]
#wget http://distro.ibiblio.org/pub/linux/distributions/damnsmall/mydsl/system/gnu-utils.dsl
#tar xvfz gnu-utils.dsl


#vi /etc/locale.gen [修改此檔,以下兩行之外的都刪除,等等會依這兩行產生locale]

en_US ISO-8859-1
zh_TW Big5

#apt-get install locales [安裝 locales,安裝這個才能裝字型]

ps.這裡會提示說安裝有誤,要啟用某APT::Force-LoopBreak選項
所以請再執行一次(或一開始就打這個):
#apt-get -o APT::Force-LoopBreak=yes install locales

過程中詢問是否升級glibc選yes
選項回答:
Select locale to be generated ( 選擇 en_US ISO-8859-1 及 zh_TW BIG5,就是之前選的兩個 )
Which locale should be the default in the system environment ? ( zh_TW )
Please enter the number of geographic area in which you live : ( 5 )
Please enter the number of one of these cities or zones : Taipei


#locale -a [查詢一下locale安裝的如何]
這樣才對:
C
en_US
en_US.iso88591
POSIX
zh_TW
zh_TW.big5

[搜尋字型deb檔並下載]
請到debianpackages查詢網頁搜尋xfonts-intl-chinese並找出deb檔下載回本機,例如:
#wget http://debian.linux.org.tw/debian/pool/main/i/intlfonts/xfonts-intl-chinese_1.2.1-6_all.deb

[安裝字型deb檔]
#dpkg -i --force-depends xfonts-intl-chinese_1.2.1-6_all.deb

這裡捨棄以往做法apt-get install xfonts-intl-chinese,用apt會牽連下載過多套件,且安裝其中的xfonts-utils時會莫名的移除x-window(若有人知道原因可否告知我們,謝謝!),因此用dpkg並下--force-depends 來強制忽略相依關係直接安裝字型deb檔,安裝完可能有一個錯誤訊息(/var/...),可以忽略


#vi /etc/skel/.bash_profile [修改環境變數,加入下列一行]
export LC_ALL=zh_TW.Big5

#apt-get clean [刪除所有安裝過無用的deb檔,節省空間]

5.chroot出來
#umount /proc
Ctrl+D [離開chroot環境]
#umount /dev [不能umount 可下 -l 選項,即 umount -l /dev]

6.從剛修改過的內容壓制出新的LiveCD iso檔
#cd /mnt/hda1 [確定所在目錄正確]

[重製LiveCD主系統]
#mkisofs -R /mnt/hda1/source create_compressed_fs - 65536 > /mnt/hda1/newcd/KNOPPIX/KNOPPIX

[製作iso檔]
#mkisofs -no-pad -l -r -J -no-emul-boot -boot-load-size 4 -boot-info-table -b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat -hide-rr-moved -o mydsl.iso newcd

其他:
1.若用虛擬機器,製作完的iso檔可以用各種方式傳出到host,我是在host安裝hfs(http file server)然後在vm裡開firefox上傳iso檔

2.apt-get install [pro1] [pro2] [....] 可以一次同時安裝好幾個套件

3.若安裝xfonts-utils會移除數個x-window的套件,導致startx消失,原因我們目前仍未知..

4.DSL是一個相當精簡的系統,若要修改和Debian及Knoppix還是有不同的地方,要加入漂亮的字型(如TureType)及中文輸入法都有一些難度,希望有心得的朋友能夠給予一些意見,謝謝大家!

關於remaster/中文化的參考文章
http://knoppix.tnc.edu.tw/modules/newbb/viewtopic.php?viewmode=flat&topic_id=1847&forum=3
http://moto.debian.org.tw/viewtopic.php?p=498&sid=fc91529161652e54e897c5e44ade940d
http://moto.debian.org.tw/viewtopic.php?p=6553&sid=7972f980d97c9c320a6f48fbbd093798
http://knoppix.tnc.edu.tw/modules/newbb/viewtopic.php?viewmode=flat&topic_id=2077&forum=3
http://knoppix.tnc.edu.tw/modules/newbb/viewtopic.php?topic_id=2046&forum=3
http://tiger.tkms.ptc.edu.tw/knoppix/myknoppixdiy38.html
http://www.damnsmalllinux.org/f/topic-3-26-18399-0.html
http://knoppix.tnc.edu.tw/modules/newbb/viewtopic.php?topic_id=2291&forum=3



沒有留言: