[英]Embedded Linux Boot Optimization
我正在使用嵌入式Linux(UBUNTU 12.10 Server Prebuild映像)在Pandaboard上進行項目,以優化啟動時間。 我需要可以找到啟動時間的技術或工具,以及可以優化啟動時間的技術。 如果有人可以幫助。
只需從/etc/init.d/rc文件中刪除不需要的應用程序,並在每次進程初始化后放入echo,並檢查哪個進程需要花費很多時間啟動,如果您發現花費更多時間的應用程序,則對該應用程序進行調試,等等。上。
有一些程序可以幫助您了解大約的啟動時間。 檢查此鏈接時間戳 。
首先,您要做的最好的事情就是編譯自己的內核,在Internet上獲取源代碼並執行make xconfig
,然后在不需要的所有內容上進行選擇。 第二次使用Buildroot創建您自己的根文件系統, make xconfig
選擇/取消選擇您需要或不需要的所有內容。
希望能有所幫助。
我遇到了同樣的問題,並且這樣做了,現在顯然不一樣了;)
編輯:您需要的一切都將在這里
要分析啟動過程,可以使用Bootchart2 ,它可以在github上找到: https : //github.com/mmeeks/bootchart
或Bootchart ,來自Ubuntu軟件包:
sudo apt-get update
sudo apt-get install bootchart pybootchartgui
您可以大致在3個領域中減少啟動時間
有關有助於測量啟動時間的工具的更多技術和信息,請參考以下鏈接。 請參閱培訓材料
基本規則是:最快的代碼是永遠不會加載和運行的代碼,因此請刪除不需要的所有內容 :
優化嵌入式Linux的啟動過程,需要對嵌入式Linux設計的三個層次進行修改。
注意:您將需要Bootloader和內核的源代碼
內核:為了擁有更快的內核,您應該在許多部分中優化內核。 要進行編輯,您可以使用Linux配置菜單上的。 我總是使用較低的圖形菜單。 它需要一些依賴性,您可以通過以下命令使用它:
$ make menuconfig
我們對Linux內核的目標是在引導時加載更小的內核映像和更少的模塊。 首先將壓縮算法從gzip更改為LZO。 該操作的要點是gzip算法將花費大量時間來提取內核。 通過使用LZO,我們可以更快地進行內核解壓縮。 第二,禁用您不需要的驅動程序或模塊,或者您不再使用它。 這樣,您將失去一些設備訪問權限,並且無法在Linux中使用它們,但是您將獲得兩個積極的方面:更少的Ram使用率,更快的啟動時間。 但是請注意,某些驅動程序對於Linux是必需的,並且禁用它們會丟失一些主要功能(例如,如果在Linux中禁用I2C驅動程序,則將不再具有HDMI接口),或者在最壞的情況下,您將擁有引導問題(例如引導循環)。 第三是禁用一些不可用的文件系統,以減少內核大小和啟動時間。 第四是刪除一些壓縮算法以具有較小的內核映像。 最后,如果您使用的是u-boot引導程序,請創建一個uImage而不是zImage。 以下步驟是常規操作和主要操作,為使電源連接后1秒鍾更快啟動,您應該更改更多選項。
如果執行以下所有任務,則可以縮短啟動時間並快速使用系統。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.