2014-03-06 65 views
0

我正在使用嵌入式Linux(UBUNTU 12.10服務器預構建映像)在Pandaboard上執行項目來優化啓動時間。我需要技術或工具,通過它我可以找到啓動時間和技術來優化啓動時間。如果有人可以幫忙。嵌入式Linux引導優化

+0

在用戶模式下啓動的第一個程序是init進程。您可以選擇另一個自定義流程來啓動,只需包含您所需的內容。來自http://www.linuxfromscratch.org/的Linux是一個很好的信息來源。祝你好運 –

+0

請定義啓動時間。您需要考慮以下哪些方面:硬件啓動,引導加載程序,內核初始化,內核初始化設備,ramdisk(如果有),初始化到哪個級別? –

+0

首先,我想計算正常的啓動時間(整個過程中你已經提到了固件加載到註冊提示的評論形式)時間,然後我只是想優化,以便我可以減少它。但我不知道如何找到確切的技術,或者是否有任何工具來觀察它。其中一些在下面回答,現在我正在處理這個問題。 – Novice

回答

0

只要從/etc/init.d/rc文件中刪除不需要的應用程序,在每個進程初始化之後也會放置回顯,並檢查哪個進程需要很長時間才能啓動,如果發現需要更多時間的應用程序,則可以使用 調試該應用程序等。

0

有一個程序可以幫助您瞭解大概的啓動時間。檢查鏈接 Time Stamp

+0

你可以仔細看看這個鏈接http://processors.wiki.ti.com/index.php/Sitara_Linux_Training:_Boot_Time_Reduction。它可能會有所幫助。 –

0

首先,你要做的最好的事情就是編譯你自己製作的內核,在網上獲取源代碼,然後做一個make xconfig然後取消選擇你不需要的東西。 第二次使用Buildroot和make xconfig創建您自己的根文件系統來選擇/取消選擇您需要或不需要的所有內容。

希望得到這個幫助。

我有同樣的問題,做到這一點的方式,現在它顯然不一樣;)

編輯:你需要的一切將是here

+0

如果您可以提供更多關於如何爲Pandboard編譯自定義內核的信息?實際上,我在Beagleboard上做了很多工作,但它有自己的SDK和工具鏈,而且我使用MAKE MENUCONFIG來編譯內核以進行自定義配置。但熊貓沒有任何這樣的SDK,有沒有反正編譯Panda的自定義內核。 – Novice

+0

'make xconfig'是'make menuconfig'的圖形版本。請遵循[this tuto](http://tkcheng.wordpress.com/2013/02/23/cross-compile-linux-kernel-for-pandaboard-armel-and-armhf/)來交叉編譯你的內核,然後回到這裏,並告訴它是否順利:) – VivienG

0

分析引導過程中,你可以使用Bootchart2 ,其可在GitHub上:https://github.com/mmeeks/bootchart

Bootchart,從Ubuntu的軟件包:

sudo apt-get update 
sudo apt-get install bootchart pybootchartgui 
0

有廣泛的3個區域,你可以減少開機時間

  1. 的Bootloader: 修改鏈接腳本僅初始化所需的H/W的另外,如果您使用SD卡進行引導,請合併內核和引導加載程序映像以節省時間。
  2. 內核: 從內核配置中刪除不需要的模塊。也嘗試使用壓縮和未壓縮的圖像。如果你的CPU足夠好處理壓縮圖像,並檢查不同壓縮類型所需的解壓縮時間。
    1. 文件系統: 刪除不需要的bin和libs可以顯着減少FS的大小。檢查依賴關係並僅使用所需的依賴項。

有關的工具,測量開機時間請參考以下鏈接幫助更多的技術和信息。 Refer to Training Material

0

的基本規則是:最快的代碼是永遠不會被加載代碼和 運行,因此將其刪除一切你並不需要:

    在U-Boot的
  • :不加載並完全運行完整的U-Boot;使用FALCON 模式,並讓SPL直接加載Linux內核和DTB
  • 在Linux中:刪除所有驅動程序和其他您不需要的東西; 將所有對您的核心應用程序不是必需的驅動程序加載爲 模塊 - 並在應用程序啓動後加載它們。如果你認爲這是嚴重的,你甚至可能最初只想啓動一個CPU核心 (並且在你的應用程序運行 後啓動剩下的CPU核心)。用戶空間中的
  • :最小化根文件系統的大小。通過 取出任何你不需要的東西;配置工具(如busybox)到 只包含真正需要的功能;使用高效的代碼 (例如,針對鏈接MUSL的libc,而不是glibc的)等

什麼可通過組合這些措施acchieved可以在 這個video可以看出 - 是的,完整的代碼,這種優化是 可用here