我正在使用嵌入式Linux(UBUNTU 12.10服務器預構建映像)在Pandaboard上執行項目來優化啓動時間。我需要技術或工具,通過它我可以找到啓動時間和技術來優化啓動時間。如果有人可以幫忙。嵌入式Linux引導優化
回答
只要從/etc/init.d/rc文件中刪除不需要的應用程序,在每個進程初始化之後也會放置回顯,並檢查哪個進程需要很長時間才能啓動,如果發現需要更多時間的應用程序,則可以使用 調試該應用程序等。
有一個程序可以幫助您瞭解大概的啓動時間。檢查鏈接 Time Stamp。
你可以仔細看看這個鏈接http://processors.wiki.ti.com/index.php/Sitara_Linux_Training:_Boot_Time_Reduction。它可能會有所幫助。 –
首先,你要做的最好的事情就是編譯你自己製作的內核,在網上獲取源代碼,然後做一個make xconfig
然後取消選擇你不需要的東西。 第二次使用Buildroot和make xconfig
創建您自己的根文件系統來選擇/取消選擇您需要或不需要的所有內容。
希望得到這個幫助。
我有同樣的問題,做到這一點的方式,現在它顯然不一樣;)
編輯:你需要的一切將是here
如果您可以提供更多關於如何爲Pandboard編譯自定義內核的信息?實際上,我在Beagleboard上做了很多工作,但它有自己的SDK和工具鏈,而且我使用MAKE MENUCONFIG來編譯內核以進行自定義配置。但熊貓沒有任何這樣的SDK,有沒有反正編譯Panda的自定義內核。 – Novice
'make xconfig'是'make menuconfig'的圖形版本。請遵循[this tuto](http://tkcheng.wordpress.com/2013/02/23/cross-compile-linux-kernel-for-pandaboard-armel-and-armhf/)來交叉編譯你的內核,然後回到這裏,並告訴它是否順利:) – VivienG
分析引導過程中,你可以使用Bootchart2 ,其可在GitHub上:https://github.com/mmeeks/bootchart
或Bootchart,從Ubuntu的軟件包:
sudo apt-get update
sudo apt-get install bootchart pybootchartgui
有廣泛的3個區域,你可以減少開機時間
- 的Bootloader: 修改鏈接腳本僅初始化所需的H/W的另外,如果您使用SD卡進行引導,請合併內核和引導加載程序映像以節省時間。
- 內核: 從內核配置中刪除不需要的模塊。也嘗試使用壓縮和未壓縮的圖像。如果你的CPU足夠好處理壓縮圖像,並檢查不同壓縮類型所需的解壓縮時間。
- 文件系統: 刪除不需要的bin和libs可以顯着減少FS的大小。檢查依賴關係並僅使用所需的依賴項。
有關的工具,測量開機時間請參考以下鏈接幫助更多的技術和信息。 Refer to Training Material
的基本規則是:最快的代碼是永遠不會被加載代碼和 運行,因此將其刪除一切你並不需要:
-
在U-Boot的
- :不加載並完全運行完整的U-Boot;使用FALCON 模式,並讓SPL直接加載Linux內核和DTB
- 在Linux中:刪除所有驅動程序和其他您不需要的東西; 將所有對您的核心應用程序不是必需的驅動程序加載爲 模塊 - 並在應用程序啓動後加載它們。如果你認爲這是嚴重的,你甚至可能最初只想啓動一個CPU核心 (並且在你的應用程序運行 後啓動剩下的CPU核心)。用戶空間中的
- :最小化根文件系統的大小。通過 取出任何你不需要的東西;配置工具(如busybox)到 只包含真正需要的功能;使用高效的代碼 (例如,針對鏈接MUSL的libc,而不是glibc的)等
什麼可通過組合這些措施acchieved可以在 這個video可以看出 - 是的,完整的代碼,這種優化是 可用here。
- 1. 嵌入式Linux - 引導階段
- 2. c#RavenDB嵌入式優化
- 3. 優化嵌入式linux系統的根文件系統大小
- 4. GWT優化嵌入式JavaScript嗎?
- 5. Python:優化導入
- 6. 從嵌入式/嵌入式引導datepicker獲取價值
- 7. windows mobile的嵌入式導航引擎
- 8. MYSQL加入/索引優化
- 9. 如何優化Sqoop導入?
- 10. 優化PowerShell模塊導入
- 11. sed嵌入式linux命令
- 12. 嵌入式linux framebuffer旋轉
- 13. 嵌入式linux中的PAGE_SIZE
- 14. 嵌入式Linux中的vmstat
- 15. 嵌入式linux中的Devicetree
- 16. 嵌入式Linux的Linux驅動程序
- 17. C嵌入式中的錯誤處理的優化方式
- 18. 用Linux引導Linux?
- 19. 格式化嵌入式XML
- 20. 引導Linux天使引導
- 21. 彈性搜索嵌入腳本優化
- 22. 在優化腳本中嵌入require.js
- 23. 嵌套ItemsControls優化
- 24. pyOpt嵌套優化
- 25. 索引優化
- 26. 嵌入式Linux的全功能HTML渲染引擎,如WebKit/Gecko?
- 27. 在mySQL中優化嵌入式SELECT查詢
- 28. 在Flash中優化隨機搜索嵌入式視頻
- 29. 如何優化遞歸嵌入式佈局?
- 30. 優化嵌入式Python解釋器的大小
在用戶模式下啓動的第一個程序是init進程。您可以選擇另一個自定義流程來啓動,只需包含您所需的內容。來自http://www.linuxfromscratch.org/的Linux是一個很好的信息來源。祝你好運 –
請定義啓動時間。您需要考慮以下哪些方面:硬件啓動,引導加載程序,內核初始化,內核初始化設備,ramdisk(如果有),初始化到哪個級別? –
首先,我想計算正常的啓動時間(整個過程中你已經提到了固件加載到註冊提示的評論形式)時間,然後我只是想優化,以便我可以減少它。但我不知道如何找到確切的技術,或者是否有任何工具來觀察它。其中一些在下面回答,現在我正在處理這個問題。 – Novice