中文化knoppix自製步驟
 作者 : tigerssh   站內信箱社群網頁 (評分 : 2.00)
05/16(五) 11:05am 
用的是5月5日出的英文版iso檔來中文化,如有錯誤,請多包涵!

壹、修改之前:
一、使用光碟開機(因為後面有其他設定需要,建議使用"knoppix 2 lang=tw"的參數,進入
文字模式即可;如有滾輪鼠也可再加上wheelmouse)。
二、在硬碟上分割一個至少4G的分割區(/dev/hda1)及一個1G的swap區(/dev/hda2)。
三、mount /dev/hda1 /mnt/hda1
四、mkdir /mnt/hda1/knxsource
五、mkdir /mnt/hda1/knxmaster
六、cp -Rp /KNOPPIX /mnt/hda1/knxsource (大概要十多分鐘吧!)
七、複製/cdrom/KNOPPIX 裡的所有檔案(除了KNOPPIX這個將近 700M Byte檔之外)
到 /mnt/hda1/knxmaster。
八、startx
九、開一個konsole
十、chroot /mnt/hda1/knxsource/KNOPPIX /bin/bash
十一、mount -t proc /proc proc

貳、開工(以下都是在chroot下工作):
一、修改 /etc/locale.gen
en_US ISO8859-1
zh_TW Big5

二、移除軟體
1.先將以下的軟體名稱存成一個檔案(例如remove.txt),再使用dpkg -P `cat remove.txt`
,把設定檔也一併清掉)
2.移除軟體列表
dillo
gq
isdn-config
isdnactivecards
isdnutils
isdnlog
isdnlog-data
isdnutils-xtools
isdnvboxclient
isdnvboxserver
mutt
libidn9
x3270
gqcam
freeciv-gtk
freeciv
abiword-common
abiword-gtk
imaze
tetex-base
tetex-bin
tetex-extra
psi
xfonts-intl-european
xfonts-intl-japen
mozilla-locale-de-at
openoffice-de-en
falconeye
xbattle
koffice
koffice-i18n-de
euro-support-console
euro-support-x
euro-support
kde-i18n-de
kde-i18n-cs
kde-i18n-da
kde-i18n-es
kde-i18n-fr
kde-i18n-it
kde-i18n-ja
kde-i18n-nl
kde-i18n-pl
kde-i18n-ru
kde-i18n-tr
auctex
gettext-el
emacs21
lftp
ftp
ace-of-penguins

三、新增軟體(我習慣用aptitude安裝軟體^^)
1.先編輯/etc/apt/sources.list 我的設定檔如下:
# See sources.list(5) for more information, especialy
# Remember that you can only use http, ftp or file URIs
# CDROMs are managed through the apt-cdrom tool.

# Unstable
deb http://linux.cdpa.nsysu.edu.tw/Debian/debian unstable main contrib non-free
deb http://linux.cdpa.nsysu.edu.tw/Debian/debian-non-US unstable/non-US main contrib non-free
deb http://ftp.us.debian.org/debian unstable main contrib non-free
deb http://non-us.debian.org/debian-non-US unstable/non-US main contrib non-free

# Sources
deb-src http://linux.cdpa.nsysu.edu.tw/Debian/debian unstable main contrib non-free
deb-src http://linux.cdpa.nsysu.edu.tw/Debian/debian-non-US unstable/non-US main contrib non-free
deb-src http://ftp.us.debian.org/debian unstable main contrib non-free
deb-src http://non-us.debian.org/debian-non-US unstable/non-US main contrib non-free

# Security updates for "stable"
deb http://linux.cdpa.nsysu.edu.tw/Debian/debian-security stable/updates main contrib non-free
#deb http://security.debian.org/ stable/updates main contrib non-free
#deb http://security.debian.org/ testing/updates main contrib non-free

# Stable
deb http://linux.cdpa.nsysu.edu.tw/Debian/debian stable main contrib non-free
deb http://linux.cdpa.nsysu.edu.tw/Debian/debian-non-US stable/non-US main contrib non-free
2.vi /etc/resolv.conf (dns server 的ip)
3.apt-get update (要等一陣子,如果是在學網內,建議將us的來源取消,不然我的經驗
是----常常連不上或等很久)
4.apt-get install aptitude
5.(先將以下的軟體名稱存成一個檔案(例如install.txt),再使用apt-get install `cat install.txt`
gftp
gcc-3.0-base
kde-i18n-zhtw
rxvt-beta-ml
ttf-arphic-bkai00mp
ttf-arphic-bsmi00lp
xfonts-intl-chinese
xcin
ncftp
openoffice.org-debian-files
openoffice.org
openoffice.org-bin
openoffice.org-l10n-en
openoffice.org-l10n-zh-TW
dfontmgr
ftp
kmidi
flashplugin-nonfree
icewm
icewm-gnome
gnome-session
libtabe-db
rcconf
stardic
kdegames
icepref
numlockx

四、在 /etc/X11/Xsession 的最後exit 0之前加入:
[ -f /etc/sysconfig/i18n ] && . /etc/sysconfig/i18n
if [ "$LANGUAGE" == "zh_TW.Big5" ]; then
export LC_ALL="zh_TW.Big5"
export XMODIFIERS="@im=xcin"
exec xcin&
fi

五、修改/etc/X11/XF86Config-4.in
(一)在Section "Files" 裡加入文鼎字型的Fontpath:
FontPath "/usr/share/fonts/truetype/arphic"
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/CID"

(二)在Section "Module"裡修改Load "freetype" 變成 Load "xtt"。

六、修改/etc/X11/Xsession.d/45xsession
1.在 startkde() 之前加入:
#if LANG="zh_TW.Big5" then exec xcin in background
if [ "$LANG" == "zh_TW.Big5" ]; then
if [ "$XMODIFIERS" == ""]; then
XMODIFIERS="@im=xcin"
export XMODIFIERS
fi
exec xcin&
fi
2.把 rm -f $HOME/.kde/Autostart/sorticons.desktop 這行前面加 # 註解掉,否則桌面
上的圖示將無法自行排列順序。

七、修改/etc/init.d/xsession中
1.USER=knoppix 成為SER=$(id -nu)

2.修改DPI="-dpi 75" 成為 DPI="-dpi 100" ,否則啟動時字會很小

八、在 /etc/init.d/knoppix-autoconfig
1.修改
(1)[ -n "$LANGUAGE" ] || LANGUAGE="de" 成為 [ -n "$LANGUAGE" ] || LANGUAGE="tw"

(2)#hwclock $UTC -s 成為 hwclock -s --localtime

九、移除除了K10xsession S90knoppix-halt S90knoppix-reboot S00knoppix-autoconfig 等之外,所有在
/etc/rc*.d/內的連結,除非有想跑其他的服務程式。

十.修改 /etc/profile 讓在console模式下時顯示英文並讓x-window下的終端機,可以順
利顯示中文。
(一)在# Set LOCALE下加入
case "$(tty)" in
/dev/tty1|/dev/tty2|/dev/tty3|/dev/tty4|/dev/tty5|/dev/tty6)
consolemode="true"
;;
*)
consolemode="false"
;;
esac
if [ "$consolemode" == "false" ]; then

(二)在# END LOCALE 之前加入
else
export LANG=C
fi

(三)修改 [ -n "$LANG" ] || LANG="de_DE@euro" 成為 [ -n "$LANG" ] || LANG="zh_TW.Big5"

十一、修改/etc/xcinrc:
(一)在(define KEYBOARD_TRANSLATE "NO") 底下加入:
(define DISABLE_WM_CTRL "YES")
否則在執行icewm的時候會一直閃爍

(二)修改預設輸入法及相關的快速鍵
'((DEFAULT_IM "cj") ==> "liu5"
(DEFAULT_IM_MODULE "gen_inp")
(DEFAULT_IM_SINMD "DEFAULT") ==>"phone"
(PHRASE "default.phr")
(CINPUT (cj simplex phone dayi3 wubi_b5 bimsphone chewing array30 bimspinyin jyutping0 jyutping
zh_hex))
==>在 cj 之前加入 liu5,並將dayi3 wubi_b5 bimspinyin刪除

(四)修改字型
(FONTSET "-sony-*-24-*-iso8859-1,-eten-*-medium-r-*-24-*-c-*-big5-0")
==>字型大小改為16

(五)加入嘸蝦米的設定
(define liu5@big5
'((SETKEY 9)
(AUTO_COMPOSE YES)
(AUTO_UPCHAR YES)
(AUTO_FULLUP YES)
(SPACE_AUTOUP YES)
(SELKEY_SHIFT YES)
(SPACE_IGNORE YES)
(SPACE_RESET YES)
(AUTO_RESET YES)
(WILD_ENABLE YES)
(SINMD_IN_LINE1 NO)
(END_KEY NO)
(BEEP_WRONG YES)
(BEEP_DUPCHAR YES)
(INP_CNAME "嘸蝦米%%嘸")))

(六)註解掉的快速鍵設定:
dayi3 wubi_b5 bimspinyin

十二、修改/etc/vim/gvimrc,讓gvim 可以看到中文
在檔案最底下加入:
set guifontset=-*-*-medium-r-normal--16-*-*-*-c-*-*-*

十三、修改/usr/sbin/saveconfig的顯示訊息為中文
zh_TW*)
TITLE1="儲存 KNOPPIX 設定"
MESSAGE1="請選擇要儲存的設定項目:"
MESSAGE2="請放入一塊已格式化過(dos 或 ext2)的空白、可儲存的軟碟。"
MESSAGE3="儲存資料中……"
MESSAGE4="請選擇欲儲存設定檔的目錄(資料夾):"
E1="個人設定檔(桌面、程式設定)"
E2="網路設定(LAN, Modem, ISDN, ADSL)"
E3="圖形介面設定檔(XF86Config)"
E4="其他系統設定檔(例如印表機等等…)"
E5="(${DESKTOPKB}kB)所有的桌面檔案"
ERROR="無法儲存 KNOPPIX 設定檔……"
;;

以下的是在最後幾行
zh_TW*)
SUCCESS="KNOPPIX的設定已成功儲存了!\n你的設定檔將在下次開機時使用\n\"knoppix(或root) myconfig=$DIRECTORY\",\n或是
\"knoppix(或root) myconfig=scan\"(自動尋找)\n參數後重新載入。"
;;

十四、修改/etc/vim/vimrc,讓vim 在除了在xterm之外的終端機也可以看見彩色的字
if &term =~ "xterm-debian" || &term =~ "xterm-xfree86" <--前面加"
set t_Co=16
set t_Sf=^[[3%dm
set t_Sb=^[[4%dm
endif <--前面加"

" syntax on <--前面的 " 去掉

十五、修改/usr/sbin/rebuildfstab
在檔案的最後exit 0之前加入
if [ -x /cdrom/Mysetup/addfstab-big5 ]; then
. /cdrom/Mysetup/addfstab-big5
fi

十六、修改/usr/bin/mkdesktophdicons
將FSType=auto 改成FSType=auto,iocharset=big5

參、修改及設定一些程式的起啟值
因為在原來的KNOPPIX 光碟中,進入x-window之前,會有一些預設的程式設定被複製到
使用者目錄中,但某些不符合我的使用習慣,且有些圖示沒連結好,因此在這裡我將光碟開
機後自行產生的一些相關的檔案,複製到自製光碟檔案目錄中的相關位置後,在文字模式中
(因此在前面建議用 knoppix 2 參數進入,如果已進入x-window內,請退出到文字模式;什
麼!已進入 runlevel 5,那只好請您重新開機了 ^^,記得不要再打錯了喔!)。
步驟如下:
一、cp /etc/X11/XF86config-4 /mnt/hda1/knxsource/KNOPPIX/etc/X11/

二、cp /etc/sysconfig/* /mnt/hda1/knxsource/KNOPPIX/etc/sysconfig/

三、退出x-window

四、在文字模式下:
chroot /mnt/hda1/knxsource/KNOPPIX /bin/bash

五、mount -t proc /proc proc (如果已 mount 過了,略過)

六、/etc/init.d/xsession start

七、修改選單的圖示連結(這個部份是存在自己的目錄中)。

八、修改openoffice
1.vi /usr/bin/ooffice 及 /usr/bin/openoffice
在OOVERSION="OpenOffice.org 1.0.3"底下加入:
export LC_ALL=zh_TW
export LANG=zh_TW

2.開一個konsole ,鍵入openoffice,完全啟動後跳出
3.vi ~/.openoffice/1.0.2/user/config/registry/instance/org/openoffice/Office/Common.xml
前加入以下這幾行:




true
true
Interface User
Ar Pl Kaitim Big5


true



註:以上之所以如此設定是因用openoffice的工具-->選項-->openoffice-->代替字型的
右手邊都不見了,加入無法勾選到(字的間距太大了)。

4.重新進入openoffice

5.工具-->選項-->openoffice.org-->檢視-->顯示比例 調到110%~120%。

6.工具-->選項-->語言設定-->語言-->
(1)最下方有一個支援中日韓語言支援把使用中勾選起來;
(2)系統語言的設定:選中文(繁體);
(3)文件的默認語言:西文選英語(美國);中日韓語言 選中文(繁體)。

7.工具-->選項-->文字文件-->標準字型(中日韓)
字形全部選文鼎PL中楷

9.工具-->選項-->文字文件-->標準字型(西文)
字形也全部選文鼎PL中楷 (否則開啟文件後,還得自己選一次)

九、vi ~/.kde/share/config/kickerc
將[menus]區域底下的設定刪除。

十、開一個konsole,設定icewm及wmaker
(一)用icepref設定icewm的所有字型成為
"-arphic-ar pl mingti2lbig5-medium-r-normal-*-*-120-*-*-m-*-big5-0",

(二)wmaker
1.cp -Rp /etc/skel/GNUstep ~/

2.vi ~/GNUstep/Defaults/WMGLOBAL,內容為:
{
MultiByteText = YES;
}

3.vi ~/GNUstep/Defaults/WMRootMenu,內容為:
menu.zh_TW.Big5

4.用wmakerconf設定wmaker的所有字型成為
"-adobe-helvetica-medium-r-normal--16-*-*-*-*-*-iso8859-*, -*-ming-medium-r-normal--16-*-*-*-*-*-big5-0"
,Menu中的Menutitle及Menuitem都要設定。

5.退出x-window,修改/etc/sysconfig/desktop及/etc/sysconfig/knoppix 中的DESKTOP設定為icewm及wmaker

6./etc/init.d/xsession start 測試修改的成果。

十一、,將剛剛設的一些程式的啟始值(在/home/knoppix內)用
(1)tar jcvf mysetup.tar.bz .* --exclude=. --exclude=.. --exclude=.xsession-errors --exclude=.bash_history
--exclude=.ICEauthority --exclude=.viminfo
(2)tar jcvf mysetup1.tar.bz * --exclude=Desktop --exclude=tmp --exclude=mysetup.tar.bz
放著備用。

十二、rm -f /etc/sysconfig/* /etc/X11/XF86config-4

十三、umount /proc

十四、exit 或 ctrl-D

肆、開始製作image檔
一、為了重新製作方便及修改,將一些檔案移至自行建立的目錄中,並做好相關的連結。
1.mkdir /mnt/hda1/knxmaster/Mysetup

2.mv /mnt/hda1/knxsource/KNOPPIX/etc/xcinrc /mnt/hda1/knxmaster/Mysetup/

3.mv /mnt/hda1/knxsource/KNOPPIX/usr/lib/xcin/tab/big5 /mnt/hda1/knxmaster/Mysetup/

4.cd /mnt/hda1/knxsource/KNOPPIX/etc

5.ln -s /cdrom/Mysetup/xcinrc ./xcinrc

6.cd /mnt/hda1/knxsource/KNOPPIX/usr/lib/xcin/tab

7.ln -s /cdrom/Mysetup/big5 ./big5

8.加入嘸蝦米的liu5.tab或大易的dayi.tab到/mnt/hda1/knxmaster/Mysetup/big5內

9.為了能先在硬碟做測試用:
(1)cd /mnt/hda1
(2)ln -s /mnt/hda1/knxmaster/Mysetup ./

10.如果為了能顯示 windows 的 partition 上的中文檔名
vi /mnt/hda1/knxmaster/Mysetup/addfstab-big5
-------------------------------------------------------------------
#!/bin/bash
# 將 fat16 fat32 NTFS 的 partition 加上 iocharset=big5 以便顯示中文檔名
if [ "$LANG" == "zh_TW.Big5" ]; then
list=`fdisk -l |grep -E "FAT16"\|"FAT32"\|"NTFS" |awk '{print $1}'`
for i in $list
do
grep -Ev "^$i " /etc/fstab >> /ramdisk/fstab
grep -E "^$i " /etc/fstab|sed 's/noauto,/iocharset=big5,noauto,/' \
>> /ramdisk/fstab
mv /ramdisk/fstab /etc/fstab
done
fi
-------------------------------------------------------------------
存檔之後,再chmod +x /mnt/hda1/knxsmaster/Mysetup/addfstab-big5

11.回存自己的設定檔
vi /mnt/hda1/knxmaster/KNOPPIX/cpmysetup
-------------------------------------------------------------------
#!/bin/bash
#add by tigerssh
CMDLINE="$(cat /proc/cmdline)"
case "$CMDLINE" in
*root*)
RUNWHO="root"
;;
*knoppix*)
RUNWHO="knoppix"
;;
esac
if [ ! -d /home/$RUNWHO ]; then
mkdir /home/$RUNWHO
fi
if [ "$RUNWHO" == "root" ]; then
rmdir /root
ln -s /home/root /root
fi
cd /home/$RUNWHO
tar jxvf /cdrom/Mysetup/mysetup.tar.bz > /dev/null
tar jxvf /cdrom/Mysetup/mysetup1.tar.bz > /dev/null
if [ -f /home/$RUNWHO/.sversionrc ]; then
rm -f /home/$RUNWHO/.sversionrc
fi
cat >>/home/$RUNWHO/.sversionrc < [Versions]
OpenOffice.org 1.0.3=file:///home/$RUNWHO/.openoffice/1.0.2
EOF
chown -R $RUNWHO.$RUNWHO /home/$RUNWHO

-------------------------------------------------------------------
存檔之後,再chmod +x /mnt/hda1/knxsmaster/Mysetup/cpmysetup

12.讓進入模擬終端機模式時,numlock能打開,vi /mnt/hda1/knxmaster/Mysetup/numlock
-------------------------------------------------------------------
#!/bin/bash
#enable numlock in console mode
for tty in /dev/tty[1-8]; do
setleds -D +num < $tty
done
-------------------------------------------------------------------
存檔之後,再chmod +x /mnt/hda1/knxsmaster/Mysetup/numlock

13.vi /mnt/hda1/knxmaster/KNOPPIX/knoppix.sh
-------------------------------------------------------------------
#!/bin/bash
#/cdrom/Mysetup/addfstab-big5
/cdrom/Mysetup/cpmysetup
/cdrom/Mysetup/numlock
-------------------------------------------------------------------

14.mv /mnt/hda1/knxsource/KNOPPIX/home/knoppix/mysetup*.tar.bz /mnt/hda1/knxmaster/Mysetup

二、移除 /mnt/hda1/knxsource/KNOPPIX/etc/*-

三、移除/mnt/hda1/knxsource/KNOPPIX/var/mail/*

四、移除/mnt/hda1/knxsource/KNOPPIX/home內的目錄以及 .rr_moved

五、rm -f /mnt/hda1/knxsource/KNOPPIX/var/cache/apt/archives/*.deb
(也可先mv 到/mnt/hda1/somewhere/下備用)

六、mkisofs -R -l -V "KNOPPIX.net filesystem" -hide-rr-moved -v /mnt/hda1/knxsource/KNOPPIX |
/usr/bin/create_compressed_fs - 65536 > /mnt/hda1/knxmaster/KNOPPIX/KNOPPIX
(以上是一行)

七、做好後可以用軟碟開機測試一下,dd if=/mnt/hda1/knxmaster/KNOPPIX/boot.img of=/dev/fd0

八、修改開機選項參數
(一)先將boot.img mount
1.make /mkboot
2.mount -o loop /mnt/hda1/knxmater/KNOPPIX/boot.img /mkboot
3. cd /mkboot
(二)vi /mkboot/syslinux.cfg
1.在所有的項目中加入 wheelmouse 參數 (直接使用滾輪鼠)
2.修改 lang=us 成為 lang=tw
3.修改initrd=miniroot.gz 成為initrd=minisys.gz

(三)加入:
LABEL root
KERNEL vmlinuz
APPEND ramdisk_size=100000 init=/etc/init lang=tw wheelmouse apm=power-off hda=scsi hdb=scsi hdc=scsi hdd=scsi hde=scsi
hdf=scsi hdg=scsi hdh=scsi vga=791 initrd=minisys.gz nomce quiet BOOT_IMAGE=root root

(四)mv miniroot.gz minisys.gz

(五)開機logo
1.製作一個640*400 16色的影像,命名為logo.png
2.pngtopnm logo.pnm
3.ppmtolss16 logo.16 (做好的檔案最好小於50k)
5.cp logo.16 /mkboot/logo.16

(六)開機選項的說明(f2)
利用kwrite修改f2這個檔案

九、開機後如果沒問題,做出一個完整可開機的iso image檔:
mkisofs -pad -l -r -J -v -V "KNOPPIX" -b KNOPPIX/boot-en.img -c KNOPPIX/boot.cat -hide-rr-moved -o
/mnt/hda1/knoppix.iso /mnt/hda1/knxmaster
(以上是一行)

十、燒錄:
1.先測試燒錄器在那個位置,cdrecord -scanbus
2.cdrecord -v -eject -speed=8 dev=0,1,0 /mnt/hda6/knoppix.iso
^^^^^修改這裡
十一、大功告成

參考資料:1.bv1al 前輩所作的光碟,可在
ftp://cle.linux.org.tw/pub/iso/KNOPPIX/bv1al/內下載。
2.http://imil.au.edu.tw/~chiao/FAQ/make_knoppix_boot.html
3.http://gnubox.dyndns.org:8080/~sunil/knoppix.php
4.http://www.knoppix.net/docs/index.php/KnoppixRemasteringHowto
5.摩托學園 http://linux.nctu.edu.tw/web/moto/