※ [本文轉錄自 Linux 看板]
發信人: tigerssh.bbs@bbs.sayya.org (小宏), 看板: Linux
標 題: Re: Knoppix, from en to tw
發信站: SayYA 資訊站 (Thu Apr 17 21:19:20 2003)
轉信站: Ptt!news.ntu!news.mcu!newsfeed.nthu!ctu-peer!ctu-reader!news.nctu!SayY
※ 引述《kpchiao (kpc)》之銘言:
> 有沒有網友願意提供如何從原始的knoppix-en 中文化的步驟 ?
> 謝謝!
> Although there is bv1al Chinese version, it is a great job. But
> I'd like to do it myself. Anyone can help me out of this?
以下是我自己的中文化過程,如果有錯誤的地方,還請多多指教!
有一點多…
壹、修改之前:
一、使用光碟開機(因為後面有其他設定需要,建議使用"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(在要修改的系統中進入x-window)
九、開一個koncole
十、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
三、新增軟體(我習慣用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 upgrade
5.apt-get dist-grade
6.apt-get install aptitude
7.安裝(利用aptitude)
gftp
gcc-3.0-base
kde-i18n-zhtw
rxvt-beta-ml
ttf-arphic-bkai00mp
ttf-arphic-bsmi00lp
xcin
ncftp
openoffice.org-debian-files
openoffice.org
openoffice.org-bin
openoffice.org-l10n-en
dfontmgr
ftp
kmidi
flashplugin-nonfree
四、在 /etc/X11/Xsession 的最後exit 0之前加入:
#if LANGUAGE=zh_TW.Big5 then export XMODIFIERS="@im=xcin"
if [ "$LANGUAGE" == "zh_TW.Big5" ]; then
export LC_ALL="zh_TW.Big5"
export XMODIFIERS="@im=xcin"
exec xcin&
fi
五、mv /etc/X11/Xsession.d/45xsession /etc/X11/Xsession.d/45xsession-org
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.修改[ -z "$HOME" -o "$HOME" = "/" ] && HOME="/home/knoppix"
成為[ -z "$HOME" -o "$HOME" = "/" ] && HOME="/home/RUNWHO"
3.修改FREESPACE="$(df -k /home/knoppix | awk '/^\/|^rootfs/{print $4}')"
FREESPACE="$(df -k /home/RUNWHO | awk '/^\/|^rootfs/{print $4}')"
六、mv /etc/init.d/xsession /etc/init.d/xsession-org
1.修改USER=knoppix 成為USER=RUNWHO
七、在 /etc/init.d/knoppix-autoconfig
1.修改
(1)[ -n "$LANGUAGE" ] || LANGUAGE="de" 成為 [ -n "$LANGUAGE" ] || LANGUAGE="tw"
(2)#hwclock $UTC -s 成為 hwclock -s --localtime
2.加入:
(1)在### localization之前:
# Check if use USB disk to config
case "$CMDLINE" in *usbconf*) USBCONF="yes"; ;; esac
# Check if user "root" been set
case "$CMDLINE" in *root*) USERROOT="yes"; ;; esac
(2)在if [ -n "$AUTOMOUNTER" ]; then 之前:
# Check for USB flash disk(or CF card reader on /dev/sda1)
if [ "$USBCONF" == "yes" ] ; then
echo -n "${CRE}${BLUE}Checking ${MAGENTA}/dev/sda1${BLUE} for KNOPPIX configuration ...${NORMAL}"
if mount -t auto -o ro /dev/sda1 /mnt/hd >/dev/null 2>&1; then
for i in [Kk][Nn][Oo][Pp][Pp][Ii][Xx].[Ss][Hh]; do
if [ -f /mnt/hd/$i ]; then
echo ""
FOUND_CONFIG="yes"
# LCDcheck="nx"
echo " ${GREEN}KNOPPIX Configuration file found in /dev/sda1, executing ${MAGENTA}$i${GREEN}.${NORMAL}"
echo "6" > /proc/sys/kernel/printk
/mnt/hd/$i /mnt/hd || true
echo "0" > /proc/sys/kernel/printk
break
fi
done
umount /mnt/hd 2>/dev/null
fi
fi
(3)在最後exit 0之前:
Source1="/etc/init.d/xsession-org"
Target1="/etc/init.d/xsession"
Source2="/etc/X11/Xsession.d/45xsession-org"
Target2="/etc/X11/Xsession.d/45xsession"
if [ "$USERROOT" == "yes" ]; then
sed -e "s/RUNWHO/root/" $Source1 > $Target1
sed -e "s/RUNWHO/root/" $Source2 > $Target2
else
sed -e "s/RUNWHO/knoppix/" $Source1 > $Target1
sed -e "s/RUNWHO/knoppix/" $Source2 > $Target2
fi
chmod 755 $Target1
chmod 755 $Target2
八、在/etc/X11/XF86Config-4.in內加入文鼎字型的Fontpath。
九、移除除了K10xsession S90knoppix-halt S90knoppix-reboot S00knoppix-autoconfig 等之外,所有在 /etc/rc*.d/內的連結,除非有想跑其他的服務程式。
十.修改 /etc/profile 中 [ -n "$LANG" ] || LANG="de_DE@euro" 成為 [ -n "$LANG" ] || LANG="zh_TW.Big5"
十一、修改/etc/xcinrc:
(define gen_inp_default
'((AUTO_COMPOSE YES)
(AUTO_UPCHAR YES)
(AUTO_FULLUP NO) ==>YES
(SPACE_AUTOUP NO) ==>YES
(SELKEY_SHIFT NO) ==>YES
(SPACE_IGNORE NO) ==>YES
(SPACE_RESET YES)
(AUTO_RESET NO) ==>YES
(WILD_ENABLE YES)
(SINMD_IN_LINE1 NO)
(END_KEY NO)
(QPHRASE_MODE 0) ; 1:shift, 2:ctrl, 4:alt, 8:fallback
(DISABLE_SEL_LIST "NONE")
(KEYSTROKE_REMAP "NONE")
(BEEP_WRONG YES)
(BEEP_DUPCHAR NO) ==>YES
(TSI_FNAME "/usr/lib/tabe/tsi.db")
(HINT_SELECT NO)
(HINT_TSI NO)))
'((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,並將bimspinyin刪除
(FONTSET "-sony-*-24-*-iso8859-1,-eten-*-medium-r-*-24-*-c-*-big5-0")
==>字型大小改為16
加入的設定:
(define liu5@big5
'((SETKEY 9)
(INP_CNAME "嘸蝦米%%嘸")))
刪除的設定:
(define bimspinyin@big5
'((SETKEY 9)
(MODULE "bimsphone")))
十二、修改/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參數後重新載入。"
;;
參、修改及設定一些程式的起啟值
因為在原來的KNOPPIX 光碟中,進入x-window之前,會有一些預設的程式設定被複製到
使用者目錄中,但某些不符合我的使用習慣,且有些圖示沒連結好,因此在這裡我將光碟開
機後自行產生的/etc/X11/Xsession.d/45xsession及/etc/init.d/xsession複製到自製光碟
檔案目錄中的相關位置後,在文字模式中(因此在前面建議用 knoppix 2 參數進入,如果已
進入x-window內,請退出到文字模式;什麼!已進入 runlevel 5,那只好請您重新開機了
^^,記得不要再打錯了喔!)。
步驟如下:
一、cp /etc/X11/XF86config-4 /mnt/hda1/knxsource/KNOPPIX/etc/X11/
二、cp /etc/init.d/xsession /mnt/hda1/knxsource/KNOPPIX/etc/init.d/
三、退出x-window
四、在文字模式下:
chroot /mnt/hda1/knxsource/KNOPPIX /bin/bash
五、mount -t proc /proc proc (如果已 mount 過了,略過)
六、startx
七、修改選單的圖示連結。
八、啟動openoffice
1.選tools-->options-->language settings-->language-->
locale setting 選chinese(traditional)
然後最下方有一個Asia language support把enable選起來
中間的Westen選English(USA)
Asia 選Chinese(Traditional)
2.選tools-->options-->Text Document-->Basic Fonts(Asian)
字形全部選文鼎PL中楷
3.選tools-->options-->Text Document-->Basic Fonts(Western)
字形也全部選文鼎PL中楷 (否則開啟文件後,還得自己選一次)
九.設定好之後,退出x-window,將剛剛設的一些程式的啟始值(在/home/knoppix內)tar
起來,放著備用。
十、umount /proc
十一、exit 或 ctrl-D
肆、開始製作image檔
一、修改開機選項參數
(一)先將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 noapic 參數 (直接使用滾輪鼠)
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 noapic 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.png >logo.pnm
3.ppmtolss16 <logo.pnm >logo.16 (做好的檔案最好小於50k)
5.cp logo.16 /mkboot/logo.16
(六)開機選項的說明(f2)
利用kwrite修改f2這個檔案
二、為了重新製作方便及修改,將一些檔案移至自行建立的目錄中,並做好相關的連結。
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.為了能使用root啟動,利 開機時自動將root的目錄連結到 ramdisk 內(因為我不會修改如何不建立root目錄^-^)
vi /mnt/hda1/knxmaster/Mysetup/mkrootdir
--------------------------------------------------------------------
#!/bin/bash
#add by tigerssh
mkdir /home/root
rmdir /root
ln -s /home/root /root
-------------------------------------------------------------------
存檔之後,再chmod +x /mnt/hda1/knxsmaster/Mysetup/mkrootdir
11.如果為了能顯示 windows 的 partition 上的中文檔名
vi /mnt/hda1/knxmaster/Mysetup/addfstab-big5
-------------------------------------------------------------------
#!/bin/bash
# 將 fat16 fat32 NTFS 的 partition 加上 iocharset=big5 以便顯示中文檔名
#list=`fdisk -l |grep -E " 4 "\|" 6 "\|" 7 "\|" b "\|" c "\|" e " |awk \dd
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
-------------------------------------------------------------------
存檔之後,再chmod +x /mnt/hda1/knxsmaster/Mysetup/addfstab-big5
12.vi /mnt/hda1/knxmaster/KNOPPIX/knoppix.sh
-------------------------------------------------------------------
#!/bin/bash
/cdrom/Mysetup/mkrootdir
/cdrom/Mysetup/addfstab-big5
-------------------------------------------------------------------
14.將自己的設定檔案移到/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
九、開機後如果沒問題,做出一個完整可開機的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
--
※ Origin: SayYA 資訊站 <bbs.sayya.org>
◆ From: 61-225-236-111.hinet-ip.hinet.net
--
※ 發信站: 批踢踢實業坊(ptt.csie.ntu.edu.tw)
◆ From: 140.112.244.56