我正在開發一個在Linux上運行的嵌入式系統。爲了減少產品的啓動時間(這是一款IP網絡攝像機)我想減小根文件系統的大小。我已經有了一個功能性的根文件系統,目前我正在手動刪除部分文件並查看是否安裝了根文件系統。是否有更合理的方法來減少文件系統大小,而不是使用當前的反覆試驗方法更新了其他詳細信息:目標上使用的原始文件系統是跨組織中多個嵌入式產品使用的通用文件系統。我想剝離文件系統到運行我的特定產品所需的最低限度.i.e IPNetCam。我想知道是否有任何分析方法可以確定啓動和運行特定應用程序所需的確切文件集。優化嵌入式linux系統的根文件系統大小
2
A
回答
1
一種方法是:
- 打開你的文件系統上的atime標誌(如果尚未設置)
- 重啓
- 後你的應用程序已經運行足夠長的時間,使用的atime找出哪些文件已經被上一次的開機後訪問:
# last reboot | head -1
reboot system boot 2.6.35-30-generi Sun May 20 10:08 - 10:48 (00:40)
# touch -d "2012-05-20 10:07" /tmp/ref
# find/-xdev -anewer /tmp/ref > /tmp/usedFiles
當然,這種方法忽略了在您的樣本運行中未訪問的文件,但在偶發或特殊情況下仍然是必需的。當以只讀模式訪問文件系統時,您還需要在早期階段添加由引導加載程序或操作系統直接讀取的文件。
3
如果你還沒有這樣做,你應該使用壓縮文件系統,如SquashFS。這將大大減少啓動映像的佔用空間。列出你的操作系統和應用程序所使用的文件
相關問題
- 1. 強大的嵌入式文件系統
- 2. 嵌入式文件系統?
- 3. 嵌入式Linux根文件系統在磁盤上
- 4. Linux嵌入式系統中的Java Swing
- 5. 嵌入式Linux系統上的GPIO
- 6. 嵌入式系統
- 7. 文件系統塊大小
- 8. 嵌入式系統linux項目
- 9. 移動linux根文件系統與調整其分區大小
- 10. Linux中根文件系統的版本
- 11. 嵌入式文件系統和sqlite
- 12. 嵌入式文件系統和關機
- 13. 事件系統優化
- 14. 嵌入式linux的定製非公用文件系統
- 15. 嵌入式系統 - 輪詢
- 16. 嵌入式系統gettext?
- 17. Pyserial - 嵌入式系統
- 18. 嵌入式系統播客
- 19. 嵌入式系統時鐘
- 20. ZigBee和嵌入式系統
- 21. WCF和嵌入式系統
- 22. 嵌入式設備系統
- 23. Linux中的文件系統
- 24. 操作系統文件系統塊大小?
- 25. Linux文件系統的父子關係
- 26. 安全系統的優化
- 27. 嵌入式文件系統中的數據丟失關閉系統後的UBIFS
- 28. 關於Linux文件系統
- 29. Unix/Linux文件系統
- 30. 在Linux proc文件系統
文件系統大小可能不是啓動時間的主要貢獻者。另外,檢查安裝文件系統的能力幾乎不涉及是否有組件運行系統需要的任何程序。主要的事情是,如果你的發行版包裝了你不需要的重型庫,各種額外的守護進程(你可能有一個你不知道的ssh或web服務器),甚至更糟的是測試/演示程序。像busybox這樣的東西通常具有可以包含/刪除各種功能的配置。 –
@ChrisStratton嵌入式系統是固定的功能(IP網絡攝像頭),所以如果我能夠安裝rfs並運行設備,它應該沒問題。最終用戶在部署後不會修改它。我正在尋找要刪除的東西,就像你提到的那樣。我想知道是否有一種結構化的方式可以選擇根文件系統的最低需求 – Badri
@ChrisStratton文件系統將在NAND中閃存,複製到RAM並安裝到設備中。因此,通過減少總根文件系統的大小,我們可以縮短設備啓動所需的時間(開機時我的意思是內核啓動,應用程序開始運行,IPNetcam已準備好使用) – Badri