啟動器(Launcher)
一般來說,客戶常會希望縮短開機時間、自訂開機 Logo,或是從多種裝置(例如 SD、SATA…)啟動作業系統。本節將說明在 RISC 平台上進行這些操作的方法。
快速開機(Quick boot)
為了縮短開機時間,我們使用 Falcon 模式直接載入 Kernel。您應該同時對 Kernel 與 rootfs 進行最佳化,可依照以下步驟進行:
進入 Falcon 模式
- 透過 uboot 環境變數將
zImage改為uImage:
setenv image uImage
fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}
fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}
setenv bootargs console=${console},${baudrate} ${smp} root=${mmcroot} ${bootargs}
mmc write ${loadaddr} 0x5D87FF 0x4000
mmc write 18000000 0x5D7FFF 0x800
- 設定啟動參數:
spl export fdt ${loadaddr} - ${fdt_addr}
setenv boot_os 1 && saveenv && reset
Kernel 最佳化
- 在 uboot 環境變數中指定根檔案系統格式:
rootfstype=ext4 - 在 Kernel 開機時減少除錯訊息:
quiet - 透過 menuconfig 移除不必要的功能與驅動程式。
rootfs 最佳化
-
減少 SD 卡分割區容量。
-
停用不必要的服務。
-
修改
/etc/inittab:S: single-user mode
id:S:initdefault:
s1::sysinit:mount -t proc proc /proc
s2::sysinit:mount -t sysfs sysfs /sys
s3:S:respawn:/bin/ash < /dev/ttymxc0 > /dev/ttymxc0
多重開機(Multi Boot)
一般情況下,作業系統會從 eMMC 開機,但在某些特殊情況下,您可能需要從 SD 或 SATA 開機。本系統預設支援這些裝置開機,只要建立可開機的 SD 或 SATA 磁碟,插入裝置插槽即可從外部裝置啟動。步驟如下:
-
在主機電腦中準備 i.MX6 專案的映像檔,可參考以下連結: i.MX6 Yocto 使用者指南 - 建置說明
-
將 SD 或 SATA 裝置插入主機電腦,可參考以下連結: 建立可開機 SD 卡
-
從主機移除 SD 或 SATA,插入目標板卡,開機後確認啟動裝置。
自訂 Logo
系統在進入作業系統前會顯示一些圖片,稱為開機 Logo。有些客戶會希望自訂開機 Logo,您可以在 uboot 或 Kernel 中修改,請參考:
開機畫面(Splash Screen)
系統在啟動時會顯示預設的 Splash 畫面,如果您想移除它,有兩種方式:
-
透過 uboot 環境變數,在
bootargs中加入psplash=false。 -
移除 psplash 服務:
update-rc.d -f psplash.sh remove