把 cyut 版的 slax 拷貝到隨身碟上
2011/09 更新: 新版的 cyut 救命碟已經不用 slax, 而是 改用 SimplyMepis。
- 假設你已 用 mk-boot-usb 做好可開機隨身碟。 一開始上面只有 ttylinux; 現在我們要把 cyut 版的 slax 放上去。
- 先下
df
, 出現類似這樣的結果:Filesystem 1K-blocks Used Available Use% Mounted on aufs 617944 4504 613440 1% / /dev/hda1 160826680 39749812 121076868 25% /mnt/hda1 /dev/sda1 3162420 70336 2931436 3% /mnt/sda1 /dev/sda2 3162452 70336 2931468 3% /mnt/sda2 /dev/sda3 9487672 152400 8853324 2% /mnt/sda3 /dev/sda5 3162420 70336 2931436 3% /mnt/sda5 /dev/sda6 221475136 52600344 157801036 25% /mnt/sda6
我的電腦有一顆 160G 的古代 IDE 硬碟 (/dev/sda) 只含一個分割區, 及一顆 240G 的 SATA 硬碟 (/dev/sda), 切了三個 主要分割區 primary partitions 及兩個 邏輯分割區 logical partitions。 (實際上切更多; 不過簡化一下比較不會亂掉。) 詳見 硬碟分割的觀念。 - 插入已做好的隨身碟, 等它跳出數個對話框
(問你是否要開啟隨身碟), 再下一次
df
。 應該沒有任何差別。 - 每按一個 「確認」 (開啟), 就再下一次
df
, 會看到每次多一列。 當初你的隨身碟切成幾個分割, 現在就會有多少個對話框; 到最後就會多出那麼多列。 延續先前 「432 3400」 的假設, 總共有三個分割 (別忘了, mk-boot-usb 切了一個系統用的第四分割區), 所以我看到多出三列:/dev/sdx1 441520 0 441520 0% /mnt/sdx1 /dev/sdx4 23332 15996 6132 73% /mnt/sdx4 /dev/sdx5 3450552 5960 3270692 1% /mnt/sdx5
- 再來要找出 slax 光碟資料, 到底放在那個目錄底下?
在其他主流版本的 linux 裡面 (例如 ubuntu/fedora/mandriva),
如果光碟機內有光碟片, 通常用
df
可以看到有一列 cdrom 之類的。 但 slax 採用 aufs ("another union file system" -- union fs 的改良版), 所以用 df 看不見。 請用less /proc/mounts
查看, 並尋找 "iso9660" (所有 cdrom 的 檔案系統格式 皆是 iso9660) 或直接:grep iso9660 /proc/mounts
看到類似這樣一列:/dev/hdz /mnt/live/mnt/hdz iso9660 ro,noatime 0 0
- 確認一下 /mnt/live/mnt/hdz 的內容及容量:
cd /mnt/live/mnt/hdz ls -l du -s cd slax ls -l du -s modules/ optional/
出現的第一個數字 A 是光碟總容量; 後兩個數字 B 與 C 是我多放進去的額外模組總容量。 A - (B+C) 應該大約是 200000 (單位是 K), 也就是說, 原始光碟佔用的空間將近 200M。 - 在 /mnt/sdx5 底下建一個新目錄 slax-6.1.2 , 並把
/mnt/live/mnt/hdz 整個目錄 (連同子目錄孫目錄...) 複製進去。
cd / cp -a /mnt/live/mnt/hdz /mnt/sdx5/slax-6.1.2
- 放在 modules 底下的模組 (.lzm 檔) 在開機時會自動載入; 放在
optional 底下的模組, 則需要另外指定。 為避免麻煩, 我們將 optional
底下的中文字型模組 zh-tw*.lzm 及中文輸入法模組 gcin*.lzm 搬到 modules
底下。 (當初製作這張光碟, 希望外國朋友也可以用,
所以把語言模組都放在 optional, 這樣開機就進入普通的英文介面。)
記得要用 tab 鍵 (定位鍵) 讓系統幫你做 file name completion!
cd /mnt/sdx5/slax-6.1.2/slax/optional/ mv zh-tw-定位鍵 gcin-定位鍵 ../modules cd - # 記得離開這個目錄, 否則等一下無法卸下隨身碟。
- 修改設定檔: 請用編輯器 (vim 或 nano) 開啟
/mnt/sdx4/boot/grub/menu.lst 並將其中 slax 那一段改成如下:
title slax 6.1.2 kernel (hd0,4)/slax-6.1.2/boot/vmlinuz ramdisk_size=6666 root=/dev/ram0 rw autoexec=xconf;telinit~4 from=/slax-6.1.2/ changes=/slax-6.1.2/slax initrd (hd0,4)/slax-6.1.2/boot/initrd.gz
特別注意底線強調的部分。 你可能需要修改這些地方, 以符合你真實放置 slax 的分割與目錄。 最保險的方法是, 從光碟上的 boot/ 或 isolinux/ 目錄下找到這一片光碟的開機設定檔, 從這裡出發, 改成 grub 語法, 並修改上述分割與目錄。 詳見 修改 grub 設定檔。 - 卸下隨身碟:
umount /dev/sdx?
並且用df
確認已經 沒有 任何一列含有 /dev/sdx?。 先用 qemu 測試一下, 然後拔出隨身碟, 找一部實機測試一下。 也許當初應該先把 menu.lst 裡面的 default 從 ttylinux 改成 slax。 又, 請下df > df.txt
, 這個存檔 df.txt 日後有用。
其他版本的 live cd / live dvd, 做法類似。 以 damn small linux 為例, 只需要多一個選項: knoppix_dir。 詳情請搜 「dsl cheat code」。
- 本頁最新版網址: https://frdm.cyut.edu.tw/~ckhung/b/slax/cyut.php; 您所看到的版本: February 14 2012 10:32:25.
- 作者: 朝陽科技大學 資訊管理系 洪朝貴
- 寶貝你我的地球, 請 減少列印, 多用背面, 丟棄時做垃圾分類。
- 本文件以 Creative Commons Attribution-ShareAlike License 或以 Free Document License 方式公開授權大眾自由複製/修改/散佈。