系統需求
-
一個支援
squashfs
的
ubuntu 系統
(可使用LiveCD)
-
至少
10 – 15
GB 的空閒磁碟空間
-
至少
512MB RAM
和 1GB
SWAP 交換分區
-
轉換
root
權限:sudo
-s -
安裝
squashfs-tools
用以壓縮文件系統:apt-get
install squashfs-tools -
安裝
genisoimage
才有
mkisofs
指令:apt-get
install genisoimage -
VirtualBox
用於測試(可選用):apt-get
install virtualbox-ose -
載入 squashfs
模組:modprobe
squashfs
原版光碟內容介紹
-
目錄
casper(核心、系統壓縮檔、套件瀏覽) isolinux(開機與開機選單) preseed(開機函式) .disk(無此目錄資料無法開機) 前面四個是必要的目錄 dists install pics pool(光碟內建的套件庫) ubuntu(這是連結) |
-
檔案
autorun.inf(自動執行檔) md5sum.txt(md5檢查碼) README.diskdefines wubi.exe(可將ubuntu安裝在windows下,可用新增移除程式移除) |
-
重要的檔案
casper/filesystem.squashfs(ubuntu系統壓縮檔) casper/filesystem.manifest(光碟內含的套件名稱) casper/filesystem.manifest-desktop(經過安裝後,系統包含的套件名稱) casper/vmlinuz(核心) casper/initrd.gz(開機時的系統程序及架構) isolinux/isolinux.cfg(8.10以前選單的設定檔) isolinux/text.cfg(9.04的選單設定檔) isolinux/langlist(光碟開機時,可選擇的語系檔) isolinux/zh_TW.tr(中文選單對照檔,可對照en.tr英文選單) isolinux/splash.pcx(開機的畫面檔,是16色的圖檔) isolinux/16×16.fnt(字型檔) |
第一階段
將原版光碟解開複製至硬碟中(不是安裝)
例如:下載ubuntu-9.04-desktop-i386.iso |
-
移動到光碟資料存放的磁區名稱,例如livesystem
cd |
-
掛載光碟
iso 的內容到
ISO
目錄(如果已經燒成光碟
CD,可省略)
mkdir
mount |
-
把
iso
的內容複製到
ISO_ubuntu9.04
目錄
cp
chmod |
-
掛載
squashfs
檔案系統
mkdir
mount |
-
把
squashfs
內容複製到
system
目錄
cp |
更改預設開機語系,修改開機選單(例如:取消光碟檢查)
-
在
isolinux
目錄中,建立一個
lang 文字檔
cd
touch |
-
使用文字編輯器gedit或vi修改lang檔,內容為zh_TW(以下以終端機資料流重導向
redirect製作)
echo |
-
使用文字編輯器gedit或vi修改langlist檔,留下
en zh_TW |
-
刪除除了en
、
zh_TW開頭的
.tr 語系檔,及
.hlp 檔
rm
rm |
-
使用文字編輯器gedit或vi修改text.cfg檔(8.10之前,請修改isolinux.cfg)
gedit |
-
刪除光碟檢查的指令,也就是刪除下面的段落
label
menu
kernel
append |
選單設定檔的意義
isolinux/text.cfg
default
label
menu
kernel
append
label
menu
kernel
append
label
menu
kernel
label
menu
localboot |
default
:開機預設使用模式
label
:下方區塊程式命名為……
menu
label :顯示在開機畫面的英文選單語句,有
^ 符號表示快捷鍵
(中文選單需要修改zh_TW.tr並對照en.tr語句位置)
kernel
:指定核心位置
append
:附加參數,例如splash是啟用開機動畫
打包ISO
方法一
-
標準打包ISO作法
cd
cd
mkisofs |
方法二
-
因為指令太長,所以我們可以建立一個shell
script來縮短指令
cd
touch
chmod |
-
使用文字編輯器gedit或vi修改mkISOboot.sh檔,加入以下內容
#!/bin/sh
if
echo
echo
exit
fi
#
mkisofs
-c
-boot-info-table |
-
打包ISO
cd
cd
../mkISOboot.sh |
利用virtualbox測試