作者 主題: [轉貼]自製KNOPPIX簡要說明  (閱讀 20896 次)

0 會員 與 1 訪客 正在閱讀本文。

myz

  • 活潑的大學生
  • ***
  • 文章數: 433
    • 檢視個人資料
[轉貼]自製KNOPPIX簡要說明
« 於: 2002-12-15 21:50 »
發信人: bv1al@bbs.ee.ntu.edu.tw (阿里巴巴), 看板: linux
標  題: ◆自製KNOPPIX簡要說明(2002-12-15修訂)
發信站: 台大電機 Maxwell BBS (Sun Dec 15 19:40:34 2002)
轉信站: Dream!news.ccns.ncku!news.nsysu!spring!ctu-peer!news.nctu!freebsd.ntu!b

◆自製KNOPPIX簡要說明(2002-12-15修訂)

對於這一個「免安裝、免硬碟、立即享用 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/pub/iso/KNOPPIX/
ftp://cle.linux.org.tw/pub/iso/KNOPPIX/bv1al/
)

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

在硬碟上開個 1GB 的 swap(一個 image 約 700M, 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)

rm /var/mail/*
清掉系統自動產生的 mail

最後要離開前記得要
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/KNOPPIX
(以上三行是要連著一行當指令下)

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

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

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

cd /mnt/hdb7
ln -s KNOPPIX-boot/KNOPPIX 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=minisys.gz quiet BOOT_IMAGE=knoppix desktop=icewm
TIMEOUT 220

為了讓啟動參數接受 root 這個字, 把原來為 initrd=miniroot.gz 的改名
為 minisys.gz, 並且改 /etc/init.d/knoppix-autoconfig 對啟動參數的
偵測.

原 lang=us  改為 tw 以便產生起始 i18n
   vga=791  改為 normal 這是為了避免某些顯示卡在 buffer mode 有問題
   BOOT_IMAGE=knoppix 若改為 knoppix 2 開機後會進入 text mode

開機軟碟的製作法是
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=minisys.gz quiet BOOT_IMAGE=knoppix desktop=icewm
TIMEOUT 220

為了讓啟動參數接受 root 這個字, 把原來為 initrd=miniroot.gz 的改名
為 minisys.gz, 並且改 /etc/init.d/knoppix-autoconfig 對啟動參數的
偵測.

原 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)
# Taiwan version
COUNTRY="tw"
LANG="zh_TW.Big5"
LANGUAGE="zh_TW.Big5" (要加這一行)
KEYTABLE="us"
XKEYBOARD="us"
KDEKEYBOARD="us"
CHARSET="iso8859-1"   (原 big5-0 改成 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/ 另開目錄存放(如/cdrom/MyPack) 再
  symbolic link 過來 /mnt/hdb7/KNOPPIX-sys/ 底下應該放的位置
  這樣之後如果要改輸入法設定, 或增加輸入法(嘸蝦咪/大易)
  只要重做 ISO 檔, 不必重做 /mnt/hdb7/KNOPPIX-sys/ 這個重大工程.
  包括一些 rc 檔, 如 icewm 下的 toolbar, menu, preferences 或
  一些將來可能比較會改變的, 都不要寫死在 /mnt/hdb7/KNOPPIX-sys/
  而用 link 到 /cdrom/MyPack (自己取的名字)
)

另外, 並不是所有的東東都有 debian package 可以裝, 要自行 compile
, 所以建議還是執行 /usr/local/bin/knx-hdinstall 把 KNOPPIX 安裝
到硬碟上(至少準備 3G 以上比較好操作吧!)
knx-hdinstall 可以將 KNOPPIX 安裝到硬碟上

安裝到硬碟後的 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 過去.

再來, KNOPPIX 光碟開機後會找一個 /cdrom/KNOPPIX/knoppix.sh 的檔
你可以把開機就要做的動作寫在這個 script 裡, 它就會進行各個動作.
例如後來我把 Option "DPMS" 加到 /etc/X11/XF86Config-4 的
Section "Monitor" 裡, 因為不想再改系統主檔 /cdrom/KNOPPIX/KNOPPIX
就直接寫在 /cdrom/KNOPPIX/knoppix.sh
這個 Option 是讓俱有 Energy Star 的 monitor 可以自動 power off

最後
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 -scanbus 看一下燒錄機在哪一個 device 再
cdrecord -v -eject -speed=10 dev=0,1,0 /mnt/hdb8/KNOPPIX-aabbcc.iso
把它燒出來(上述是 IDE CDRW 接在 /dev/hdd 用十倍速燒 )

以上幾串指令已寫成 script, 放在 /cdrom/MyPack, 可以參考
mkcloop
mkISOboot

OK, 大致上的操作就是這樣, 若有遺漏、錯誤的, 還請指教.
有興趣的話, 大家都來做一張自己的 KNOPPIX 光碟.

--
另類的 Linux: 免安裝、免硬碟、支援正、簡、日、俄
ftp://cle.linux.org.tw/pub/iso/KNOPPIX/bv1al/
一片光碟+USB隨身碟,帶著 Linux 地球走透透

非會員

  • 訪客
在live-cd開機後如何partition我的harddisk
« 回覆 #1 於: 2005-04-28 09:32 »
在live-cd開機後如何partition我的harddisk[/list]

日京三子

  • 全區板主
  • 俺是博士!
  • *****
  • 文章數: 8830
    • 檢視個人資料
    • http://www.24online.cjb.net
[轉貼]自製KNOPPIX簡要說明
« 回覆 #2 於: 2005-04-28 09:41 »
請愛用, mount  :wink:
哈克不愛的多合一輸入平台----->新香草口味
過去的時間不斷流逝,抹去的眼淚已成追憶;
乾枯的雙手無力阻止,再會了我遠去的曾經。

phantom

  • SA 苦力組
  • 俺是博士!
  • *****
  • 文章數: 2185
    • 檢視個人資料
[轉貼]自製KNOPPIX簡要說明
« 回覆 #3 於: 2005-04-28 09:55 »
Partition hdd 不是用 mount 吧?!
應該用 fdisk 吧?
Linux 非萬能, 沒 Linux 萬萬不能.
root = God
apt-get install ultimate-horsepower

日京三子

  • 全區板主
  • 俺是博士!
  • *****
  • 文章數: 8830
    • 檢視個人資料
    • http://www.24online.cjb.net
[轉貼]自製KNOPPIX簡要說明
« 回覆 #4 於: 2005-04-28 10:48 »
咦? 不是要掛載??


啊! 是要分割@@
哈克不愛的多合一輸入平台----->新香草口味
過去的時間不斷流逝,抹去的眼淚已成追憶;
乾枯的雙手無力阻止,再會了我遠去的曾經。

非會員

  • 可愛的小學生
  • *
  • 文章數: 20
    • 檢視個人資料
有疑問
« 回覆 #5 於: 2005-04-28 14:47 »
當我輸入cp -Rp /KNOPPIX /mnt/hdb7/KNOPPIX-sys


顯示cp:cannot create directory '/mnt/hda1/KNOPPIX-sys':Read-only file system


我該如何作

phantom

  • SA 苦力組
  • 俺是博士!
  • *****
  • 文章數: 2185
    • 檢視個人資料
[轉貼]自製KNOPPIX簡要說明
« 回覆 #6 於: 2005-04-28 14:52 »
請先 umount, 再 re-mount 成 read write mode.
Linux 非萬能, 沒 Linux 萬萬不能.
root = God
apt-get install ultimate-horsepower

非會員

  • 可愛的小學生
  • *
  • 文章數: 20
    • 檢視個人資料
請問各位大大
« 回覆 #7 於: 2005-04-28 16:31 »
我看不懂
"要 exit 到完全退出 shell, 就是在純文字 mode 只出現
根目錄提示符號, 再進行以下動作, 否則它會出現一堆
bash: /dev/null: Permission denied "


它代表甚麼意思?

非會員

  • 可愛的小學生
  • *
  • 文章數: 20
    • 檢視個人資料
請教
« 回覆 #8 於: 2005-05-04 11:13 »
為何當我執行下`時


mkisofs -R -l -V "KNOPPIX-cloop" -hide-rr-moved \
-v /mnt/hdb7/KNOPPIX-sys | create_compressed_fs - 65536 > \
/mnt/hdb7/KNOPPIX-boot/KNOPPIX/KNOPPIX


產生 -i option is no longer supported