系統(tǒng)小型化使用指南_第1頁
系統(tǒng)小型化使用指南_第2頁
系統(tǒng)小型化使用指南_第3頁
系統(tǒng)小型化使用指南_第4頁
系統(tǒng)小型化使用指南_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、非經(jīng)本公司2013。保留一切權(quán)利。市海思半導(dǎo)體,任何和個人不得擅自摘抄、本文檔內(nèi)容的部分或全部,并不得以任何形式。商標、海思和其他海思商標均為市海思半導(dǎo)體的商標。本文檔提及的其他所有商標或商標,由各自的所有人擁有。注意您的產(chǎn)品、服務(wù)或特性等應(yīng)受海思公司商業(yè)合同和條款的約束,本文檔中描述的全部或部分產(chǎn)品、服務(wù)或特性可能不在您的或使用范圍之內(nèi)。除非合同另有約定,海思公司對本文檔內(nèi)容不做任何明示或默示的或保證。由于產(chǎn)品版本升級或其他原因,本文檔內(nèi)容會不定期進行更新。除非另有約定,本文檔僅作為使用指導(dǎo),本文檔中的所有陳述、信息和建議不任何明示或暗示的擔保。市海思半導(dǎo)體市龍崗區(qū)坂田:518129地址:電

2、氣生產(chǎn)中心:http:/客戶服務(wù):客戶服務(wù)傳真:客戶服務(wù)郵箱:sup使用指南前 言前言概述在保證系統(tǒng)性能和業(yè)務(wù)運行要求的前提下,為滿足系統(tǒng)小型化要求, Hi3520D/Hi3515A/Hi3515C 的內(nèi)核和文件系統(tǒng)需要做適當?shù)牟脺p。參考 Hi3518 的業(yè)務(wù)需求,Hi3520D/Hi3515A/Hi3515C 發(fā)布包給出了一套通用的小型化配置文件。本文首先介紹了如何使用這些配置文件編譯小型化版本鏡像文件;部分用戶可能不會直接使用這套默認配置文件,而是根據(jù)其需求自行裁剪。有鑒于此,本文還介紹了 Hi3520D/Hi3515A/Hi3515C 內(nèi)核和文件系統(tǒng)裁剪的一般方法。產(chǎn)品版本與本文檔相對應(yīng)

3、的產(chǎn)品版本如下。讀者對象本文檔(本指南)主要適用于以下工程師:技術(shù)支持工程師單板硬件開發(fā)工程師符號約定在本文中可能出現(xiàn)下列標志,它們所代表的含義如下。i市海思半導(dǎo)體產(chǎn)品名稱產(chǎn)品版本Hi3520DV100Hi3515AV100Hi3515CV100使用指南前言文檔版本01(2013-07-31)1.1 編譯小型化版本 u-boot修改 u-boot 小型化的相關(guān)命令。2.1 uboot 裁剪配置文件 hi3520d.h 中,增加部分修改代碼;增加注意事項。00B03(2013-06-21)新增 Hi3515C 的相關(guān)描述。文檔版本00B02(2013-05-09)1.1 編譯小型化版本 u-bo

4、ot文檔版本增加命令。00B01 (2013-04-03)初稿。文檔版本ii市海思半導(dǎo)體符號說明表示有高度潛在,如果不能避免,會導(dǎo)致或嚴重。表示有中度或低度潛在,如果不能避免,可能導(dǎo)致人員輕微或中等。表示有潛在風(fēng)險,如果忽視這些文本,可能導(dǎo)致設(shè)備損壞、數(shù)據(jù)丟失、設(shè)備性能降低或不可預(yù)知的結(jié)果。表示能幫助您解決某個問題或節(jié)省您的時間。表示是正文的附加信息,是對正文的強調(diào)和補充。使用指南目 錄目錄前 言i1 如何使用發(fā)布包中給出的小型化配置文件編譯、制作 Hi3520D/Hi3515A/Hi3515C 小型化版本的內(nèi)核及文件系統(tǒng)?編譯小型化版本u-boot1編譯小型化版本的內(nèi)核1

5、在Hi3520D/Hi3515A/Hi3515C 發(fā)布包中制作小型化版本的文件系統(tǒng)2Uboot、內(nèi)核及文件系統(tǒng)裁剪的一般方法4uboot 裁剪4內(nèi)核裁減...62.2.7一些目前還處在開發(fā)或者完善過程中的模塊5一些特殊功能和特性的支持5網(wǎng)絡(luò)支持6設(shè)備驅(qū)動支持7文件系統(tǒng)類型支持8內(nèi)核鏡像文件的壓縮方式10打印和調(diào)試信息112.3文件系統(tǒng)裁剪112.3.1 busybox 配置選項.32.3.4刪除文件系統(tǒng)的可執(zhí)行文件、相關(guān)的庫文件中多余的調(diào)式信息和符號信息(即 strip elf)14使用 squashfs 根文件系統(tǒng)14

6、剔除沒有被使用的庫文件15iii市海思半導(dǎo)體1 如何使用發(fā)布包中給出的小型化配置文件編譯、制作 Hi3520D/Hi3515A/Hi3515C 小型化版本的內(nèi)核及文件系統(tǒng)?使用指南1如何使用發(fā)布包中給出的小型化配置文件編譯、制作 Hi3520D/Hi3515A/Hi3515C 小型化版本的內(nèi)核及文件系統(tǒng)?1.1 編譯小型化版本 u-boot如果要單獨編譯小型化版本,請使用修改后的配置文件 hi3520d_mini.h(修改方法請參見 2.1 uboot 裁剪)。具體操作:拷貝對應(yīng)的表格到 u-boot 目錄cp tools/pc_tools/uboot_tools/reg_info_Hi352

7、0D- bvt_No1_660_330_660_ddr_innerFEPHY.bin uboot/u-boot-2010.06/.reg1 cp tools/pc_tools/uboot_tools/reg_info_Hi3515A- bvt_No1_600_300_600_ddr_innerFEPHY.bin uboot/u-boot-2010.06/.reg2cp tools/pc_tools/uboot_tools/mkboot-hi3520d.sh uboot/u-boot-2010.06/進入 Hi3520D/Hi3515A/Hi3515C u-boot 源碼目錄make ARCH=

8、armmake ARCH=armPILE=arm-hisiv100nptl-linux- hi3520d_configPILE=arm-hisiv100nptl-linux-od 777 mkboot-hi3520d.sh./mkboot-hi3520d.sh .reg1 .reg2 full-boot.binmake ARCH=armPILE=arm-hisiv100nptl-linux- mini-boot.bin1.2 編譯小型化版本的內(nèi)核如果要單獨編譯小型化版本,請使用配置文件hi3520d_mini_defconfig。具體操作:進入 Hi3520D/Hi3515A/Hi3515C

9、內(nèi)核源代碼目錄cp arch/arm/configs/ make ARCH=armmake ARCH=armhi3520d_mini_defconfig .configPILE=arm-hisiv100nptl-linux-configPILE=arm-hisiv100nptl-linux- uImage1市海思半導(dǎo)體1 如何使用發(fā)布包中給出的小型化配置文件編譯、制作 Hi3520D/Hi3515A/Hi3515C 小型化版本的內(nèi)核及文件系統(tǒng)?使用指南1.3 在 Hi3520D/Hi3515A/Hi3515C 發(fā)布包中制作小型化版本的文件系統(tǒng)創(chuàng)建根文件系統(tǒng)根目錄下的子目錄和文件進入 osdrv

10、 目錄,執(zhí)行如下操作:tar xzf rootfs_scripts/rootfs.tgz -C pub/在根文件系統(tǒng)中創(chuàng)建相應(yīng)的庫文件tar xzf toolchain/arm-hisiv100nptl-linux/runtime_lib/runtime_lib/armv7a_soft/lib.uClibc.tgz -C pub/rootfs編譯 busybox進入 osdrv 目錄,執(zhí)行如下操作:tar xzf busybox/busybox-1.16.1.tgz -C busybox find busybox/busybox-1.16.1 | xargs touchcp busybox/b

11、usybox-1.16.1/ busybox_cfg_hi3520d_nptl_mini busybox/busybox-1.16.1/.configmakemake -C busybox/busybox-1.16.1 installcp -af busybox/busybox-1.16.1/_install/* pub/rootfs制作根文件系統(tǒng)鏡像進入 osdrv 目錄,執(zhí)行如下操作:cd pub/bi制作 squashfs 鏡像./mksquashfs pub/rootfscomp xzpub/rootfs_hi3520d_256k.squashfs-b256K-裁減前大?。簎-boot

12、 的大小為 157KB內(nèi)核的大小為 3.1MB文件系統(tǒng)大小為 4.1MB裁減后大?。簎-boot 的大小為 76KB內(nèi)核的大小為 1.5MB文件系統(tǒng)大小為 1.1MB2市海思半導(dǎo)體1 如何使用發(fā)布包中給出的小型化配置文件編譯、制作 Hi3520D/Hi3515A/Hi3515C 小型化版本的內(nèi)核及文件系統(tǒng)?使用指南如果要在 osdrv 目錄下編譯整套小型化版本,具體操作如下:進入 Hi3520D/Hi3515A/Hi3515C osdrv 目錄make OSDRV_CROSS=arm-hisiv100nptl-linux CHIP=hi3520d OSDRV_SIZE=mini all3市海思

13、半導(dǎo)體使用指南2 Uboot、內(nèi)核及文件系統(tǒng)裁剪的一般方法 2 Uboot、內(nèi)核及文件系統(tǒng)裁剪的一般方法用戶如果覺得發(fā)布包中給出的小型化配置不適合自己的業(yè)務(wù)需求,可以在發(fā)布包中的全規(guī)格配置文件的基礎(chǔ)上,按照下文給出的裁剪方法,根據(jù)自己的實際需要,自行裁剪。2.1 uboot 裁剪uboot 的裁剪主要從兩方面下手:1.使用 lzma 壓縮算法壓縮 uboot 二進制文件本身的尺寸;在 Hi3520D/Hi3515A/Hi3515C 小型化版本中使用了 lzma 算法對 uboot 二進制文件進行壓縮,需要用戶在編譯代碼的服務(wù)器上安裝 lzma 壓縮工具。對應(yīng)的 lzma 工具已經(jīng)放在 SDK

14、發(fā)布包中。2. 在配置文件中將環(huán)境變量的起始地址提前。環(huán)境變量的起始地址和大小由 SPI flash 的塊大小決定。例如,SPI flash 的塊大小為 64KB,u-boot 二進制文件大小不超過 128KB,環(huán)境變量的起始地址可以設(shè)置為 0 x20000,環(huán)境變量的大小可以設(shè)置為 0 x10000。由此可見,使用塊大小越小的 SPI flash 器件會達到更好的小型化效果,同時考慮到性能問題,用戶在使用小型化版本時最好采用塊大小為 64KB 的SPI flash 器件。修改文件如下:在配置文件 hi3520d.h 中,代碼:將宏定義#define CONFIG_ENV_OFFSET 的值由

15、 0 x80000 改為 0 x20000將宏定義#define CONFIG_ENV_SIZE 的值由 0 x40000 改為 0 x10000 注釋 DDRT 部分#define CONFIG_DDR_TRAINING_V2004市海思半導(dǎo)體使用指南2 Uboot、內(nèi)核及文件系統(tǒng)裁剪的一般方法#ifdef CONFIG_DDR_TRAINING_V200 #define DDRT_ENABLE_BYTE_TRAINING #define DDRT_ENABLE_BIT_TRAINING#endif由于 uboot 小型化的解壓算法需要在 DDR 初始化后運行,而 uboot 的 DDRT

16、程序需要在 DDR 初始化前運行。如果想要實現(xiàn) uboot 小型化,就必須將 DDRT 的程序加入到小型化的解壓算法中,由于 DDRT 程序涉及大量的 uboot 標準接口,在編譯 uboot 小型化算法時就需要包含這些接口對應(yīng)的文件,導(dǎo)致生成的 uboot 小型化鏡像很大,并沒有達到小型化的效果。因此,如果在 uboot 中需要實現(xiàn) DDRT,就不能使用小型化的壓縮算法。2.2 內(nèi)核裁減內(nèi)核的裁減主要有兩個思路:一是通過控制內(nèi)核的編譯過程,讓更少的代碼編譯進內(nèi)核,以減少內(nèi)核目標二進制文件的體積;二是通過使用更高壓縮率的壓縮方法,讓內(nèi)核鏡像文件更小。內(nèi)核源代碼中除了系統(tǒng)運行所必須的代碼之外,還

17、包含了各種各樣的外部設(shè)備驅(qū)動、文件系統(tǒng),以及一些跟某種特性相關(guān)的代碼。而這些代碼,在的業(yè)務(wù)環(huán)境中,并不都是必須的。這些不必要的內(nèi)容,通過配置選項進行篩選。進入內(nèi)核源代碼目錄,運行如下命令,打開內(nèi)核配置菜單,并對菜單上的選項進行配置:$ cp arch/arm/configs/hi3520d_full_defconfig .config$ make ARCH=armPILE=arm-hisiv100nptl-linux-config2.2.1 一些目前還處在開發(fā)或者完善過程中的模塊這部分代碼還沒有通過全面測試,穩(wěn)定性無法保證,用戶也很少會使用,在系統(tǒng)的資源有限的情況下,除非有明確的需求,否則都可

18、以去掉。General setup - Prompt for development and/orplete code/drivers去掉這個選項,那些目前還甚少被使用的、處在開發(fā)完善階段的代碼就不會被編譯進內(nèi)核,也不會在內(nèi)核配置菜單中出現(xiàn)。關(guān)閉這個選項,可能減少 85K(gzip)空間。Device Drivers - Staging drivers -5市海思半導(dǎo)體使用指南2 Uboot、內(nèi)核及文件系統(tǒng)裁剪的一般方法這個選項提供了一些內(nèi)核編制以外的驅(qū)動,這部分代碼放在這里,原因是因為想吸引用戶去了解和使用它。但這些代碼沒有經(jīng)過廣泛測試,相關(guān)接口未來可能還會改變??梢躁P(guān)閉這個選項。2.2.2

19、 一些特殊功能和特性的支持IX 標準的異步 I/O 操作支持這主要看用戶是否使用了 aio_read 之類的函數(shù)。IX 標準的異步 I/O 有別于linux 原生的 I/O 接口。linux 原生代碼認為,io 的讀操作是同步的,寫操作是異步的。也就是說某 io 的數(shù)據(jù),必須等待數(shù)據(jù)由 io 傳送到 buffer 之后才讀完成返回。在有些情況下,更高性能的做法是希望讀操作發(fā)起之后,線程立即返回,去做其他與 buffer 無關(guān)的事情。直到 buffer 數(shù)據(jù)準備好,才處理讀結(jié)果。于是就有了 aio 接口支持。用戶通常都只是使用 linux 原生的 I/O 接口,可以將該選項關(guān)閉。General

20、setup - Enable AIO support系統(tǒng)的 extended profiling(剖面)的支持profiling(剖面圖)是一個工具來掃描、統(tǒng)計和而言,可以關(guān)閉該選項。General setup - Profiling support計算機性能的工具。對多數(shù)用戶用戶空間的 thumb 二進制代碼的支持可以關(guān)閉。System Type - Support Thumb user binariesDisk quotas 支持用于支持在多用戶系統(tǒng)下,設(shè)置每個用戶對硬盤的使用空間??梢躁P(guān)閉。File systems - Quota support支持將 panic 和 oops 消息存放

21、到 flash 分區(qū)中的循環(huán) buffer 中可以關(guān)閉。Device Drivers - Memory Technology Device (MTD) support -Log panic/oops to an MTD buffer2.2.3 網(wǎng)絡(luò)支持幾乎所有的產(chǎn)品,都需要支持網(wǎng)絡(luò)模塊。但并不是都需要支持網(wǎng)絡(luò)模塊中的所有功能。比如無線網(wǎng)絡(luò)部分,用戶就可以根據(jù)實際需要,選擇支持或者不支持。去掉網(wǎng)絡(luò)模塊的支持:關(guān)閉對 IEEE802.11 協(xié)議公共類庫的支持和對 Linux wireless LAN 配置 API 的支持。* Networking support -6市海思半導(dǎo)體使用指南2 Ubo

22、ot、內(nèi)核及文件系統(tǒng)裁剪的一般方法 Wireless -關(guān)閉所有 IEEE802.11 協(xié)議相關(guān)的無線網(wǎng)絡(luò)設(shè)備驅(qū)動。Device Drivers -* Network deviupport - Wireless LAN -如果要恢復(fù)對無線網(wǎng)絡(luò)的支持,除了網(wǎng)絡(luò)相關(guān)的基礎(chǔ)配置必須選擇之外,請按照操作順序,將如下選項配置上。*Networking support - Wireless -cfg80211 - wireless configuration APICommon routines for IEEE802.11 driversDevice Drivers -*Network deviuppo

23、rt - Wireless LAN -IEEE 802.11 for Host AP (Prism2/2.5/3 and/TKIP/CCMP)2.2.4 設(shè)備驅(qū)動支持Loack device 支持該選項支持把一個普通文件當作塊設(shè)備文件使用。Device Drivers -Block devi-upportLoack devi輸入設(shè)備驅(qū)動相關(guān)的支持可以不選該選項。Device Drivers -Input deviupport - Hardware I/O ports - Serial I/O support Gameport support多設(shè)備的支持可以不選該選項。Device Driver

24、s - Multimedia support - Backlight & LCD deviupport -usb 相關(guān)的驅(qū)動Device Drivers -7市海思半導(dǎo)體使用指南2 Uboot、內(nèi)核及文件系統(tǒng)裁剪的一般方法*USB support -Enable WireleSB extens (EXPERIMENTAL)usb host wifi 的支持,可以不選。usb 具體的設(shè)備驅(qū)動,可以根據(jù)需要進行篩選。參考配置如下:Device*Drivers -USBsupport -* USB Device Class drivers *USB USB USBUSBModem (CDC ACM)

25、 supportPrer supportWireless Device Management supportTest and Measurement Claspport* NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SDmay * also be needed; see USB_STORAGE Help for moreinfo*Realtek Card Reader supportSupport for Rio Karma music playerSAT emulation on CypreSB/ATA Bridge wiTACBUSB ENE

26、 card reader support USB Attached SCSIThe shared table of common (or usual) storagedevi* USB Imaging devi*USB Mustek MDC800 Digital Camera support Microtek X6USB scanner support* USB port drivers *USB Serial Converter support* USB Miscellaneous drivers-* upportupportEMI EMI ADU USB USB USB USBUSB6|2

27、m USB Audio2|6 USB Audioerfaerfadevifrom Ontrak Control Systems7-Segment LED Display Diamond Rio500 supportLego Infrared Tower supportLCDLEDdriverdriver CY7C63support supportUSB driver supportCypressCypreSB thermometer driver supportID USB Mouse Fingrsensor supportElaAppleMCardBus Adapter USB CntCin

28、ema Display supportUSB 2.0 SVGA dongle support (Net2280/SiS315)8市海思半導(dǎo)體使用指南2 Uboot、內(nèi)核及文件系統(tǒng)裁剪的一般方法USB LD driverPlaySion 2 Trance Vibrator driver supportIO Warrior driver support USB testing driveriSight firmware loading support USB YUREX driver supportUSB Gadget Support -* OTG and related infrastructu

29、re * Generic ULPI Transceiver DriverNOP USB Transceiver Driver2.2.5 文件系統(tǒng)類型支持linux 內(nèi)核中提供了對許多種文件系統(tǒng)的支持。實際應(yīng)用中,許多文件系統(tǒng)都無需直接編譯進內(nèi)核,除非你明確需要使用某種文件系統(tǒng),你再把它選擇上來。Ext2 文件系統(tǒng)的支持默認情況下,內(nèi)核會自動把它選上。把下面選項關(guān)閉,可以去掉對Ext2 的支持。File systems - Second extended fpport如果你確實使用使用 Ext2,再把它選上。Ext3 文件系統(tǒng)的支持內(nèi)核在默認情況下,通常都會支持 Ext3。關(guān)閉下面選項,可以去掉

30、對 Ext3 的支持。File systems - Ext3 journalling file system supportExt4 文件系統(tǒng)的支持內(nèi)核在默認情況下,通常都會支持 Ext4。關(guān)閉下面選項,可以去掉對 Ext4 的支持。File systems - The Extended 4 (ext4) filesystemXFS 文件系統(tǒng)的支持內(nèi)核在默認情況下,通常都會支持 XFS。關(guān)閉下面選項,可以去掉對 XFS 的支持。File systems - XFS filesystem supportJournalling Flash File System v2 文件系統(tǒng)(JFFS2)9市海

31、思半導(dǎo)體使用指南2 Uboot、內(nèi)核及文件系統(tǒng)裁剪的一般方法多數(shù)情況下,都需要支持 JFFS2,只有在明確不需要 JFFS2 的情況下,才關(guān)閉下面選項。File systems -* Miscellaneous filesystems -Journalling Flash File System v2 (JFFS2) supportCompressed ROM file system(即 Cramfs)Cramfs 文件系統(tǒng)是專門針對閃存設(shè)計的只讀壓縮的文件系統(tǒng),其容量上限為 256M,采用 zlib 壓縮。Cramfs 以壓縮方式,在運行時解壓縮。所有的應(yīng)用程序要求被拷到 RAM 里去運行,

32、Cramfs 采用分頁壓縮的方式存放文件,在文件時,不會一下子就耗用過多的內(nèi)存空間,只針對目前實際的部分分配內(nèi)存,尚沒有的部分的內(nèi)容不在內(nèi)存時,Cramfs 文件系統(tǒng)自動計算壓縮后的不分配內(nèi)存空間,當資料所存的位置,再即時解壓縮到 RAM 中。Cramfs 的速度快,效率高,其只讀的特點有利于保護文件系統(tǒng)免受破壞,提高了系統(tǒng)的可靠性。由于以上特性,Cramfs 在嵌入式系統(tǒng)中應(yīng)用廣泛。但是它的只讀屬性同時又是它的一大缺陷,使得用戶無法對其內(nèi)容對進擴充。Cramfs 的使用和 initrd/initial ram filesystem 密切相關(guān),如果系統(tǒng)不使用 Cramfs,可以同時關(guān)閉 ini

33、trd/initial ram filesystem 選項:不支持 cramfs:File systems -*- Miscellaneous filesystems -Compressed ROM file system support (cramfs)SquashFSSquashFS 是另一種可用于 flash 設(shè)備的 Linux 只讀文件系統(tǒng)。squashfs 具有極高的壓縮率,數(shù)據(jù)(data)、節(jié)點(inode)和目錄(directories)都被壓縮。常用于場景。介質(zhì)非常有限的squashfs 保存了全部的 32 位 UID/GIDS 和文件的創(chuàng)建時間,支持多達 4G 的文件系統(tǒng),s

34、quashfs 使用簡單,響應(yīng)速度快。默認情況下,內(nèi)核關(guān)閉對 squashfs 的支持。如果選擇 SquashFS 作為系統(tǒng)的根文件系統(tǒng),則應(yīng)該打開下面選項,增加支持 squashfs 的支持。File systems -* Miscellaneous filesystems -SquashFS 4.0 - Squashed file system support2.2.6 內(nèi)核鏡像文件的壓縮方式linux 內(nèi)核編譯生成二進制文件之后,需要通過某種壓縮模式,將龐大的二進制文件壓縮成體積更小的鏡像文件,以便存放在空間有限的介質(zhì)中;在系統(tǒng)啟動時,會首先將壓縮的鏡像文件解壓到 RAM 中,然后再從頭

35、執(zhí)行,完成系統(tǒng)啟動。對此,linux3.0.y 內(nèi)核提供了多種壓縮方式:Gzip,LZMA 和 LZO。而這幾種壓縮模式,在壓縮率和解壓速度之間各有千秋。10市海思半導(dǎo)體使用指南2 Uboot、內(nèi)核及文件系統(tǒng)裁剪的一般方法Gzip: linux 內(nèi)核鏡像默認的、也是最經(jīng)典的壓縮模式。它在壓縮率和解壓速度上,保持了最佳的平衡。LZMA:LZMA 是 linux 內(nèi)核新近才支持的壓縮模式,相比另外兩種壓縮模式,它具有最高的壓縮率(同樣文件,通過 LZMA 壓縮后的體積通常只有 Gzip 的 70%),但是壓縮和解壓縮的速度要差一些。適用于 spi flash 大小非常有限的場合中。LZO:這種壓縮

36、方式壓縮率最低,但是壓縮和解壓的速度最快。(目前該算法在 3.0 內(nèi)核中還不完善,使用該壓縮算有風(fēng)險,所以目前并不使用)具體的選擇方法(以選擇 LZMA 模式為例):General setup -Kernel compresmode (LZMA) -( ) Gzip(X) LZMA( ) LZO編譯內(nèi)核鏡像使用的服務(wù)器需要支持 LZMA 壓縮算法。如果沒有,請將下面提供的 LZMA 壓縮算法的源碼壓縮包拷貝到服務(wù)器上,并且在 root 權(quán)限下將該源碼包解壓、編譯和安裝,命令如下:tar -xzf lzma-4.32.7.tgz cd lzma-4.32.7./configuremake ins

37、talllzma-4.32.7.tgz2.2.7 打印和調(diào)試信息linux 內(nèi)核中有不少和系統(tǒng)的調(diào)試信息相關(guān)內(nèi)容,這部分內(nèi)容在系統(tǒng)調(diào)試定位的時候非常重要,但也占用了一定的空間。在資源極度缺乏的環(huán)境中,也可以考慮將他們?nèi)サ簟jP(guān)閉它們不影響系統(tǒng)的正常運行。linux 內(nèi)核的debug 文件系統(tǒng)這是一個虛擬的文件系統(tǒng),用于存放內(nèi)核開發(fā)者使用的 debug 文件。Kernel hacking - Debug Filesystem11市海思半導(dǎo)體使用指南2 Uboot、內(nèi)核及文件系統(tǒng)裁剪的一般方法內(nèi)核Kernel hacking - Tracers -用戶態(tài)出錯信息用戶態(tài)程序出錯后的時候,內(nèi)核會打印一句

38、簡短的信息,告知出錯的具體原因。該信息在應(yīng)用程序調(diào)試階段非常有用。關(guān)閉將不打印出錯信息。Kernel hacking - Vere user fault messages2.3 文件系統(tǒng)裁剪文件系統(tǒng)的裁減,可以從如下面著手:一是通過配置 busybox,將不需要的功能、命令裁去;二是將將文件系統(tǒng)中的可執(zhí)行文件和庫中多余的調(diào)試信息、符號信息刪除掉,以減少文件系統(tǒng)的容量;三是采用更高壓縮率的文件系統(tǒng)。其中,第二種方式簡單,而且非常有效。2.3.1 busybox 配置選項打開 busybox 的配置選項菜單$ cp busy_cfg_file .config$ makeconfig其中 busy_

39、cfg_file 為具體產(chǎn)品 busybox打開后的 busybox 配置菜單如下:默認的配置文件。Busybox Settings細介紹 */- Applets Archival Utilities體需要選擇 */Coreutils-求選擇 */-/* 關(guān)于 busybox 的基礎(chǔ)配置,下面會詳-/* 與壓縮解壓文件相關(guān)的功能,請根據(jù)具/* busybox命令集,請根據(jù)實際需Console UtilitiesDebian Utilities選 */Editors-*/Finding Utilities-/* 控制臺相關(guān)令 */* Debian 系統(tǒng)相關(guān)的功能,基本可以不/* 編輯器相關(guān)的功能

40、,請根據(jù)需要選擇-/* 與查找相關(guān)的功能,請根據(jù)需要選擇 */Init Utilities-/* 與系統(tǒng)啟動相關(guān)的配置,必須保留 */12市海思半導(dǎo)體使用指南2 Uboot、內(nèi)核及文件系統(tǒng)裁剪的一般方法Login/Password Management Utilities-/* 登陸和用戶的管理 */Linux Ext2 FS Progs-/* 與 Ext2 文件系統(tǒng)相關(guān)令 */Linux Module UtilitiesLinux System Utilities-/* 模塊加載和卸載令 */* linux 系統(tǒng)中各大模塊的支持 */Miscellaneous Utilities-/* 未分

41、類的功能支持 */* 網(wǎng)絡(luò)相關(guān)的支持,請根據(jù)實際需求選Networking Utilities擇 */-PrUtilities-/*相關(guān)的支持,如無特殊需求,可放心關(guān)閉 */Utilities-求,可放心關(guān)閉 */* 和電子郵件相關(guān)的支持,如無特殊需Pros Utilities-/* 進程相關(guān)的功能,請根據(jù)實際需求,謹慎配置 */Runit Utilities-需求配置 */* 與系統(tǒng)服務(wù)相關(guān)的支持,可根據(jù)實際Ss-/* 各種 s解釋器配置 */System Logging Utilities-/* 各種、日志相關(guān)的支持 */Loadternate Configuration FileSave

42、 Configuration toternate File多數(shù)選項需要根據(jù)實際的業(yè)務(wù)需求進行篩選。這里僅對 busybox 的基礎(chǔ)配置中一些可能裁減的內(nèi)容進行說明。Busybox Settings -General Configuration - Show vere applet usage messages支持輸入命令 + -help,以顯示該命令更詳細的使用說明。不選可以節(jié)省 13 K 空間??梢圆贿x。 Store applet usage messages in compressed form以壓縮的方式保存命令使用說明的信息。不必選。 Support -install -s to in

43、stall applet links at runtime本命令支持在 busybox 運行之后,可以通過以創(chuàng)建新符號的方式生成命令??梢圆贿x。13市海思半導(dǎo)體使用指南2 Uboot、內(nèi)核及文件系統(tǒng)裁剪的一般方法Build Options - Debugging Options - Installation Options - Busybox Library Tuning - Support for /etc/networks支持 在 route 命令中使用網(wǎng)絡(luò)名字,而不僅僅是 ip 等。很少用,可以不選。 vi-style line editingdsvi 的樣式設(shè)置命令,可以不選。 Fan

44、cy sprompts上面這個兩個選項還會影響到命令行開頭的提示,如果選上了,s能會顯示:命令行提示符可johnbvt-bsp:/workspace$否則只會顯示如下提示符:$可以不選。 Query cursorition from terminal從終端中查詢光標的位置,可以不選。 Use clock_gettime(CLOCK_MONOTONIC) syscall如果選上,time, traceroute 等命令調(diào)用的將是系統(tǒng)調(diào)用 clock_gettime;如果不選,調(diào)用的是 gettimeofday ,可能會確??梢圆贿x。 Use ioctl names rathern hex val

45、ues in error messages如果選上使能,ioctl 中的錯誤信息將使用 ioctl 命令名稱,否則使用二進制數(shù)。產(chǎn)品版本可以不選上,這樣可節(jié)省 1K 空間。其它的選項,除了必須選擇的(比如 Init Utilities)之外,基本都和應(yīng)用需求相關(guān),這里就不再一一說明。2.3.2 刪除文件系統(tǒng)的可執(zhí)行文件、相關(guān)的庫文件中多余的調(diào)式信息和符號信息(即 strip elf)值得注意的是,文件系統(tǒng)的 *.ko 文件時不能 strip 的,否則 ko 文件不可用。find rootfs/ -perm +700 ! -name *.ko -exec arm-hisiv100nptl-linux-strip ;14市海思半導(dǎo)體使用指南2 Uboot、內(nèi)核及文件系統(tǒng)裁剪的一般方法上面命令可以將根目錄下所有的可執(zhí)行文件、庫文件一次strip 完畢。2.3.3 使用 squashfs 根文件系統(tǒng)當要創(chuàng)建一個很小linux 系統(tǒng)時,設(shè)備(如

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論