[轉貼]自己改KNOPPIX - Swergar version

常言道:『飲水思源』,在 Open Source 的世界裡,我們常常需要別人的幫助,但是在您有所心得的時候請記得分享給大家,『幫助人是快樂的喔』。歡迎您在使用 debian 的過程中的任何心得分享給大家。

[轉貼]自己改KNOPPIX - Swergar version

文章moto » 週五 4月 18, 2003 11:45 am

發信人: "Swergar \(深海公子\)" <kin@yick.org>, 看板: Linux
標 題: Re: 可以自己改KNOPPIX嗎?
發信站: Another Netscape Collabra Server User (Thu Jan 2 15:44:09 2003)
轉信站: SayYa!ctu-reader!ctu-peer!news.csie.ncyu!news2.ncyu!news.ccu!news.nsysu
Origin: 61.18.7.162

對於這一個「免安裝、免硬碟、立即享用 Linux」的單一片光碟(內含約 1.7G 各種軟體) KNOPPIX 這裡就不再多做介紹了, 有興的人自己去抓來玩.



以下想跟有興趣自製 KNOPPIX 的朋友分享一些我的經驗.



就是怎樣抓來一片 KNOPPIX 光碟後, 把它重新改造成更好用或更個人化, 帶著它加上一個 USB 行動碟, 以後全世界的電腦都是你可以立即上手的電腦
了.

( KNOPPIX 對 USB 讀卡機(或大姆哥)是可以即插即用)例如到國外, 如果沒有帶一台 Notebook 的話, 光帶這片 KNOPPIX加一個 USB 碟, 就很夠用了




首先當然你要去 download 或者由別人給你一片 KNOPPIX 光碟.(download 點: 可以到原 KNOPPIX 站裡列的各站, 如
ftp://ftp.uni-kl.de/pub/linux/knoppix/ 或國內 ftp://cle.linux.org.tw/mirror/KNOPPIX/ 以及先前有加入 mirror 的國內各站忘了 URL ?)



電腦的 RAM 越多越好, 有 256M 或以上是比較理想的.



在硬碟上開個 512M 或更大的 swap準備一個 partition(例如 /dev/hdb7), 最好有 5G 以上比較好搬東弄西的.再來一個 partition(例如 /dev/hdb8)
準備 3G 好了, 可以放以後你做出來的不同版本 ISO 檔.



好!現在開始進行 ---------------------->



用 KNOPPIX 光碟開機

將 /KNOPPIX 用 cp -Rp 到硬碟, 如

mount /mnt/hdb7

cp -Rp /KNOPPIX /mnt/hdb7/KNOPPIX-sys

這個 /mnt/hdb7/KNOPPIX-sys 目錄就是之後要來大改系統用的

這個 copy 要好一陣子(幾十分鐘 ?), 因為有 1.7G 左右的 data



再來 mkdir /mnt/hdb7/KNOPPIX-boot

這個是要來放主系統檔案以外的東東, 如開機 image 檔或其它自己要加的程式、阿里不達的東東.



拷備 /cdrom/KNOPPIX/ 下的所有東東(除了

/cdrom/KNOPPIX/KNOPPIX ←這個不要copy)

到 /mnt/hdb7/KNOPPIX-boot



現在要開挖了!請注意!!!



要 exit 到完全退出 shell, 就是在純文字 mode 只出現

根目錄提示符號, 再進行以下動作, 否則它會出現一堆

bash: /dev/null: Permission denied



開始 ========>

chroot /mnt/hdb7/KNOPPIX-sys

mount -t proc /proc proc

dpkg -r --force-depends koffice (強制刪除 KDE office)

dpkg --purge koffice (澈底清除殘遺)

(我不喜歡也不用 KDE, 因為可說華而不實, 所以盡可能把 KDE 一些

沒用的東果都砍掉, 留 game 及 kstars, 這樣可以裝很多我想要的東東)

dpkg -r xxxyyyzzz (再清除某些你不要的東東)

dpkg -i /opt/aabbcc-123.deb

(可以事先將要裝的 debian packages cp 到

/mnt/hdb7/KNOPPIX-sys/opt/ 下面, 這時就可以直接 dpkg -i 來裝)

update-menus (刪除、安裝後, 建立新的 menu)



巡視一下 /etc/rc*.d

用 debian package 新裝某些 daemon 的話, 它會生一些蛋蛋出來, 最好

讓 rc1.d --- rc5.d 都只剩 K10xsession 以免做出來的光碟一開機就會跑

一些不必要的 service (除非你刻意要跑)

rc0.d 只要 K10xsession S90knoppix-halt

rc6.d 只要 K10xsession S90knoppix-reboot



rm /etc/*-

要清掉 /etc 底下的 passwd- group- ……之類的 *-

這是安裝某些 debian package 時(例如加入日文輸入轉換用的 canna)

它會自動新增 user 造成的, 如果不清將來的光碟開機後的系統會有無

法新增 user 的問題(當然也可以手動刪除link)



最後要離開前記得要

umount /proc



exit



結束 <========



現在就可以開使製作新的系統檔 KNOPPIX 的 image



mkisofs -R -l -V "KNOPPIX-cloop" -hide-rr-moved \

-v /mnt/hdb7/KNOPPIX-sys | create_compressed_fs - 65536 \


>> /mnt/hdb7/KNOPPIX-boot/KNOPPIX


(以上三行是要連著一行當指令下)



要等上十幾分鐘才會完成(我是用 850MHz + 256M + 7200RPM swap 512M)



階段結束 <------------------------------



接著並不需要燒成光碟才能知道結果, 只要用軟碟開機就可以檢測

剛才所做的結果了.



cd /mnt/hdb7

ln -s KNOPPIX-boot KNOPPIX

就是要讓 hdb7 產生一個叫 KNOPPIX 的目錄, 這樣用軟碟開機後

它會從 /dev/hda1, hda2, hda3......一一去找有沒有叫 KNOPPIX

的目錄, 找到了, 就會以它當成 KNOPPIX cdrom 來用



開機軟碟的製作法是

dd if=/cdrom/KNOPPIX/boot-en.img of=/dev/fd0



修改軟碟

/KNOPPIX/boot-en.img

syslinux.cfg



DEFAULT vmlinuz

APPEND lang=tw ramdisk_size=100000 init=/etc/init noapic apm=power-off \

hda=scsi hdb=scsi hdc=scsi hdd=scsi hde=scsi hdf=scsi hdg=scsi hdh=scsi \

vga=normal initrd=miniroot.gz quiet BOOT_IMAGE=knoppix 2 desktop=icewm

TIMEOUT 220



原 lang=us 改為 tw 以便產生起始 i18n

vga=791 改為 normal 這是為了避免某些顯示卡在 buffer mode 有問題

BOOT_IMAGE=knoppix 改為 knoppix 2 開機進入 text mode



BIOS 記得設成 floppy 開機.





上面說過的系統修改過程, 包括要改 KNOPPIX 開機自動設定檔

/etc/init.d/knoppix-autoconfig



若為德國原版, 要加以下這個 tw 項, 若抓 candyz 版, 要改一下.



tw)

# Taiwan version

COUNTRY="tw"

LANG="zh_TW.Big5"

LANGUAGE="zh_TW.Big5" (要加這一行)

KEYTABLE="us"

XKEYBOARD="us"

KDEKEYBOARD="us"

CHARSET="iso8859-1" (原 big-5 改成 iso8859-1)

XMODIFIERS="@im=xcin"

;;



# Set clock (Local time is more often used than GMT)

#hwclock -s

hwclock -s --localtime (要加上 --localtime 否則某些和時間計算有

關的程式(如 xplns)會把系統時間當成 UTC )



另外以下這個我也把它改掉



# Write KNOPPIX config files for other scripts to parse

# Standard variables/files

echo "LANG=\"$LANG\"" > /etc/sysconfig/i18n

echo "COUNTRY=\"$COUNTRY\"" >> /etc/sysconfig/i18n

#echo "LANG=\"$LANG\"" >> /etc/sysconfig/i18n

(不瞭解為何要用兩個 LANG ? 把它 mark 掉似乎也沒有不良影響)

echo "LANGUAGE=\"$LANGUAGE\"" >> /etc/sysconfig/i18n

echo "CHARSET=\"$CHARSET\"" >> /etc/sysconfig/i18n

echo "XMODIFIERS=\"$XMODIFIERS\"" >> /etc/sysconfig/i18n





之後也可以在這個程式裡另外加上一些你想要的東東, 像加上偵

測老鼠是否為 PS/2, 若是, 再問是否是滾輪鼠, 因為 default

並沒有支援 wheel mouse, 既始跑 mouseconfig 設也沒用!

(USB 滾輪鼠沒問題)



所以我在開機過程加上這一項, 可以為 XF86Config-4 加上滾輪鼠

的參數

Option "Protocol" "IMPS\2"

Option "ZAxisMapping" "4 5"

滾輪才有效.



以及詢問是不是用 LCD 螢幕, 我是改成水平(35.0-58.0)、垂直頻率

(55.0-75.0), 並且 mark 掉 XF86Config-4 那些 ModeLine, 這樣可

以讓多數 LCD 會有較好的顯示。



測試水平、垂直頻率可以先不跑 startx, 只跑 X <Enter> 看看螢幕

網格是不是均勻、穩定,若是, 那頻率就是設對了。



( 如果你的螢幕是大於 1024x768 的, 請於光碟開機後自行跑 xf86cfg 或

xf86cfg -textmode -xf86config /etc/X11/XF86Config-4

重新設定 XF86Config-4

)



如果是抓原版的 KNOPPIX, 要自己加上 xcin 及文鼎字型, 也要把

字型的 path 加到 XF86Config-4.in 裡, 這樣光碟開機後自動產生的

XF86Config-4 就會有含入文鼎字型 path.



( 建議把 xcinrc, /usr/lib/xcin/tab/ 之下的 big5(及 gb2312)搬

到 /mnt/hdb7/KNOPPIX-boot/ 另開目錄存放, 再 link /cdrom/my_directory

過來 /mnt/hdb7/KNOPPIX-sys/

這樣之後如果要改輸入法設定, 或增加輸入法(嘸蝦咪/大易)

, 只要重做 ISO 檔, 不必重做 /mnt/hdb7/KNOPPIX-sys/ 這個重大工程.

包括一些 rc 檔, 如 icewm 下的 toolbar, menu, preferences 或

一些將來可能比較會改變的, 都不要寫死在 /mnt/hdb7/KNOPPIX-sys/

而用 link 到 /cdrom/my_directory(自己取個名字)

)



另外, 並不是所有的東東都有 debian package 可以裝, 要自行 compile

, 所以建議還是執行 /usr/local/bin/knx-hdinstall 把 KNOPPIX 安裝

到硬碟上(至少準備 3G 以上比較好操作吧!)

如果你是抓比較新的 KNOPPIX 它已經有英文版的 knx-hdinstall, 否則

它是德文的. 你可以到 ftp://cle.linux.org.tw/mirror/KNOPPIX/tw/

下找我先前轉成英文的 knx-hdinstall



安裝到硬碟後的 KNOPPIX 首先遇到的問題是 /root(光碟執行沒有) 與

/home/root 簡單的方法是 rm -fr /home/root ; ln -s /root /home/root



裝在硬碟的好處是, 它和光碟執行版有 99% 的相同, 所以在硬碟上試成功

的, 幾乎可以確定裝到光碟後一定可以用。



它可以用來做前試驗, 例如要裝 debian package 時某些狀況是有 dependence

的問題, 就可以一一找齊, 再安裝、試用. 或者直接把別的 distribution 裡

的 binary 直接 tar 過來用.

例如改用 RedHat 7.3 裡的 rxvt-2.7.8 可直接用 binary, 而 telnet 也怪

怪的, 改用 RedHat 7.3 裡的 telnet

或者 KNOPPIX 並不完全支援你的硬體時, 可以試著把驅動程式裝上來試.



等一切都 OK 後, 再用前述的 chroot 過去 dpkg -i ...... 或者將自己

compile 出來的東東直接 copy 過去.





最後

mount /mnt/hdb8 準備放燒光碟用的 ISO 檔

cd /mnt/hdb7/KNOPPIX-boot/

mkisofs -l -r -J -V "KNOPPIX-aabbcc" -hide-rr-moved -v \

-b KNOPPIX/boot-en.img -c KNOPPIX/boot.cat \

-o /mnt/hdb8/KNOPPIX-aabbcc.iso .

(請注意!上面一行最後這邊有個句點, 就是要把當下的目錄做成 ISO)



這個很快, 大概兩分鐘(?) 之後就可以用

cdrecord -v -eject -speed=10 dev=0,1,0 /mnt/hdb8/KNOPPIX-aabbcc.iso

把它燒出來(上述是 IDE CDRW 接在 /dev/hdd 用十倍速燒 )



OK, 大致上的操作就是這樣, 若有遺漏、錯誤的, 還請指教.

有興趣的話, 大家都來做一張自己的 KNOPPIX 光碟.




"低逃" <harddisk@bbs.ee.ntu.edu.tw> 撰寫於郵件新聞:449Jb3$IbX@bbs.ee.ntu.edu.tw...

我想要在KNOPPIX加入一些自己想用的程式和設定~
可以解開KNOPPIX的ISO~ 加入檔案再直接燒錄回去嗎~
會不會有不能開機的問題呢?

謝謝~~
歡迎你來到MOTO學園一起討論Debian相關問題。
在post問題前可先別忘記了以下的步驟:
1:翻一下/usr/share/doc/中是否已經有解答了?
2:閱讀一下無痛起步是否已經提到了?
3:找一下google予以解答?
4:善用學園中的"搜尋"功能,往往答案就在裡面窩。
頭像
moto
摩托學園站長
摩托學園站長
 
文章: 2808
註冊時間: 週二 9月 03, 2002 3:37 am
來自: 台北

回到 share

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客