嵌入式linux開機時間優化小結
Ø 用Image替代zImage,zImage是壓縮後的核心映象檔案,所以使用Image就省去的載入時的解壓所消耗的時間(大概可以節省2~3秒的啟動時間)。但若使用Image則應考慮NandFlash的空間是否夠用。
Ø 檔案系統映象有ramdisk、jffs2和cramfs三種,核心載入這三種映象的速率cramfs最快,其次jffs2,最後是ramdisk。其中cramfs是隻讀檔案系統。通常一個產品是三者的結合。
Ø 優化bootloader,減少其執行時間。
Ø 減少kernel體積,比如將不是在啟動階段必須載入的驅動模組留在檔案系統後面載入,減少kernel的執行和載入時間。
Ø 優化或關閉除錯串列埠輸出。
Ø 驅動程式放在檔案系統後面載入,先顯示應用程式介面,再在後臺載入必要的驅動模組。
Ø 將整個系統執行環境儲存到RAM中,加電只是個系統恢復過程。
Ø 仔細優化kernel和每個驅動模組,將每個部分的延時除錯到最快。
Ø 應用程式的優化,減少應用程式的啟動時間。
注意:
優化嵌入式Linux系統的啟動時間時注意,啟動時間的減少也是有代價的,比如花費的人力,專案進展時間,產品的安全與穩定,以及系統的其他資源的開銷,比如說儲存空間等。
通常bootloader寫入NorFlash,而核心Image和檔案系統映象寫入NandFlash。NandFlash容易出現壞道,而NorFlash要相對好些。將bootloader寫入NorFlash則可防止因為bootloader損壞而導致整個系統崩潰。而將bootloader寫入NandFlash則可保證不把NorFlash損壞,因為可以通過NorFlash恢復NandFlash資料。