Tiny Core Linux 從 4.0 版開始, 共推出三個版本, 分別是 TinyCore, CorePlus 及 Core. Core 這個版本並沒有提供桌面系統, 只提供文字命令模式, 因它具有系統擴充功能的能力, 可以輕易換裝扮演 網路設備(NAT, Router,..) 或 應用伺服器 (Samba, Apache,...), 為了換裝方便, 必須重製 Core 的光碟檔, 使它具有儲存 "系統設定檔" 及 "應用伺服器套件檔" 的功能. 重製後的光碟檔, 為了與原發行套件做區別, 所以給它命名為 Tiny Server Core, 簡稱為 TSC.
重製 Core 光碟檔, 主要是針對 isolinux 這個 boot loader 的核心參數, 加入 tce=sda1 及 restore=sda1 這二個參數. 重製後的光碟檔, 一旦啟動如偵測到有一顆硬碟(必須有格式化), 它會自動將此硬碟設為 "系統設定檔 (bootlocal.sh,..)" 及 "應用伺服器套件檔 (*.tcz)" 的儲存裝置
重製操作步驟如下 :
1. 下載 Tiny Core Linux 的 Core 光碟檔 (32 位元)
http://distro.ibiblio.org/tinycorelinux/4.x/x86/release/Core-current.iso
2. 使用本文後面提供的 fromiso.sh 程式, 將 Core 光碟檔解開
$ sudo ./fromiso.sh ISO/Core-current.iso
[sudo] password for student:
/tmp/core
└── boot
├── core.gz
├── isolinux
│ ├── boot.cat
│ ├── boot.msg
│ ├── f2
│ ├── f3
│ ├── f4
│ ├── isolinux.bin
│ └── isolinux.cfg
└── vmlinuz
2 directories, 9 files
光碟解開的內容, 會存放在 /tmp/core 目錄中
3. 修改 isolinux 系統啟動設定檔 (isolinux.cfg), 命令如下 :
$ sudo nano /tmp/core/boot/isolinux/isolinux.cfg
default microcore
label microcore
kernel /boot/vmlinuz
append initrd=/boot/core.gz quiet tce=sda1 restore=sda1
label mc
kernel /boot/vmlinuz
append initrd=/boot/core.gz quiet
implicit 0
prompt 1
timeout 300
F1 boot.msg
F2 f2
F3 f3
F4 f4
在 isolinux.cfg 設定檔中加入 "tce=sda1 restore=sda1" 這二個 Linux 系統核心參數, 這二個參數用來指定 "擴充套件" 及 "系統設定檔" 的儲存裝置 (/dev/sda1)
4. 使用本文後面提供的 toiso.sh 程式, 產生 Tiny Server Core 光碟檔
$ sudo ./toiso.sh
I: -input-charset not specified, using utf-8 (detected in locale settings)
Size of boot image is 4 sectors -> No emulation
Total translation table size: 2048
Total rockridge attributes bytes: 1301
Total directory bytes: 4096
Path table size(bytes): 38
Max brk space used 22000
4048 extents written (7 MB)
重製的光碟檔存放在 /tmp 目錄, 檔名為 tsc32.iso
fromiso.sh 程式內容如下 :
# 執行前檢查
[ "$USER" != "root" ] && echo "需要 root 權限" && exit 1
if [ -f "$1" ]; then
mkdir /tmp/isotmp
mount $1 /tmp/isotmp -o loop,ro &>/dev/null
[ -d /tmp/core ] && rm -r /tmp/core
mkdir /tmp/core
cp -a /tmp/isotmp/boot /tmp/core &>/dev/null
umount /tmp/isotmp &>/dev/null
rm -r /tmp/isotmp
# 顯示重製目錄內容
tree /tmp/core
fi
toiso.sh 程式內容如下 :
# 執行前檢查
[ "$USER" != "root" ] && echo "需要 root 權限" && exit 1
if [ -d /tmp/core ]; then
cd /tmp/
mkisofs -o tsc32.iso -l -J -R -V Core-custom -no-emul-boot -boot-load-size 4 -b boot/isolinux/isolinux.bin -boot-info-table -c boot/isolinux/boot.cat core
fi
沒有留言:
張貼留言