嵌入式linux系統裁剪小結

2021-06-20 16:57:25 字數 825 閱讀 9617

主要步驟如下:

1. 充分了解系統

這有點像廢話,但是確實很重要,特別對不是自己負責的模組,需要花點時間去在調研。最初覺得不好下手是沒有對系統進行足夠的了解,並不知道它為什麼會這麼龐大,但當你了解之後,就會信心倍增。

可以借助 du * | sort -n 按大小對檔案或者目錄進行排序, 從大到小依次裁剪。

2. ui 裁剪

一般來說,ui占用了整個系統最多的儲存空間。sdk包括的東西都是一般比較全的,不同的產品有不同的需求。如qt,有網路,各種資料庫,多種語言和字型的支援,以及為了保持向下相容的冗餘的庫等,使得整個系統非常龐大。根據產品特性在此基礎上刪減是最有效果的。

3. 檔案系統選擇

檔案系統包括根檔案系統和應用程式的檔案系統,嵌入式linux系統儲存結構一般為:

選擇乙個壓縮率高的檔案系統可以使系統變得非常小。

對於嵌入式裝置來說,檔案一般儲存在flash裡面,常用的檔案系統主要有:

cramfs, squashfs, jffs2, yaffs2

各有特點,前二者是唯讀的,壓縮率都比較高,後二者是可寫的,jffs2壓縮率比前二者稍差,yaffs2最差。如果對空間要求比較高的系統,squashfs是比較好的選擇,若需要支援可寫,則squashfs + jffs2是比較合適的。  

4. kernel裁剪

kernel的裁剪相對簡單,把不用的模組, driver去掉, 還可以把一些driver以module形式編譯,放到rootfs中。編譯kernel時,一般會生成未壓縮的和經過壓縮的kernel, 燒到falsh時選擇壓縮過的。

最後,提醒一下,在製作檔案系統之前,別忘了對可執行檔案和動態庫進行strip操作。

嵌入式檔案系統小結

近日看了幾個fat檔案系統的原始碼,主要有ucfs efsl minfat等,小結一下。嵌入式的檔案系統雖有不少,但在消費類電子產品上,還是以fat為主,儲存體為nand flash,加上mass storage功能,能讓使用者在pc上管理檔案,如在 電子詞典上等,都用得很廣泛。ucfs 主要針對於...

嵌入式系統課堂小結5

嵌入式系統課堂小結3.24 嵌入式linux開發工具 gcc gdb make 學習目標 了解gdb 學習目標 編寫makefile c o linux核心 makefile 自動生成 cmake autotool 嵌入式linux開發工具 shell程式設計 指令碼 批處理 linux系統運維工程...

小結嵌入式系統組成結構

今天覆習且畫一下嵌入式系統組成結構圖 1.微處理器 2.儲存器 系統用來存放和執行 包括cache,主存,和輔助儲存器。cache 整合在處理器內部,存放處理器最近時段間使用最多的 和資料 用於快取 容量小速度快,資料cache 指令cache 主存 位於處理器內部或外部,處理器直接訪問的暫存器,存...