2011年8月15日 星期一

Tiny Core 系統啟動首部曲 - Extlinux 系統啟動器

Linux 可使用各式各樣的裝置來啟動, 例如 : 光碟, USB 隨身碟, 硬碟, 然而不同的裝置, 使用不同系統啟動器 (boot loader). Live CD 大都使用 ISOLinux 這個系統啟動器, Hard Disk 則使用 GRUB 或 LILO. 有些系統啟動器提供多裝置啟動, 例如 Syslinux 這系統啟動器, 可用於 光碟, USB 隨身碟, 硬碟 這些裝置, 它還提供從 FAT 啟動 Linux 系統, 可惜它無法識別 EXT2/3/4 檔案系統, 於是 Syslinux 開啟一個 Extlinux 專案, 來解決此一問題.

Tiny Core 選擇 Frgual 安裝方式, 內定 使用 Extlinux 這個系統啟動器, 系統安裝好後, 它會被複製到 /mnt/XXX/boot/extlinux 目錄中.

[註] XXX 代表系統裝置名稱

Extlinux 的目錄中有二個檔案, 如下 :
$ ls -al /mnt/hda1/boot/extlinux/
total 44
drwxr-xr-x 2 root root 4096 Aug 15 08:36 .
drwxr-xr-x 3 root root 4096 Aug 15 08:36 ..
-rw-r--r-- 1 root root 215 Aug 15 09:15 extlinux.conf
-r--r--r-- 1 root root 32768 Aug 15 08:35 ldlinux.sys

ExtLinux 系統啟動器的設定檔

$ cat /mnt/hda1/boot/extlinux/extlinux.conf

DEFAULT microcore
LABEL microcore
KERNEL /boot/bzImage
APPEND initrd=/boot/microcore.gz quiet superuser vga=785
waitusb=5:UUID="8f615f92-dc36-48a3-9eee-56d3bdd48510"
tce=UUID="8f615f92-dc36-48a3-9eee-56d3bdd48510"

設定檔中的 KERNEL 用來指定要載入的 Linux Kernel 檔, APPEND 負責傳遞 Kernel 參數

參數說明

1.參數 initrd

負責告知 Kernel 所需掛載的 RAM Disk 檔 (/boot/microcore.gz)

2.參數 vga 對照表如下 :

Color            640x480     800x600      1024x768     1280x1024
   256    8 bit     769         771           773          775
 32000   15 bit     784         787           790          793
 65000   16 bit     785         788           791          794
 16.7M   24 bit     786         789           792          795

3.參數 superuser

設定系統自動以 root 登入, 並進入文字操作模式

設定範例 - 設定本機電腦名稱
1. 修改 extlinux.conf 設定檔

在 APPEND 參數中加入 host=XXX, 範例如下 :
$ cat /mnt/hda1/boot/extlinux/extlinux.conf DEFAULT microcore LABEL microcore KERNEL /boot/bzImage APPEND initrd=/boot/microcore.gz quiet host=GW100 superuser
vga=785 waitusb=5:UUID="8f615f92-dc36-48a3-9eee-56d3bdd48510"
tce=UUID="8f615f92-dc36-48a3-9eee-56d3bdd48510"

2. 重新開機
$ sudo reboot

3. 檢視成果

$ hostname
GW100

4. 檢視 Kernel 參數

事實上 kernel 參數會存一份在 /proc/cmdline, 如下 :

$ cat /proc/cmdline initrd=/boot/microcore.gz quiet host=GW100 superuser vga=785
waitusb=5:UUID="8f615f92-dc36-48a3-9eee-56d3bdd48510"
tce=UUID="8f615f92-dc36-48a3-9eee-56d3bdd48510"
BOOT_IMAGE=/boot/bzImage

沒有留言:

張貼留言