Image uImage與zImage的區別

Image uImage與zImage的區別ide


內核編譯(make)以後會生成兩個文件,一個Image,一個zImage,其中Image爲內核映像文件,而zImage爲內核的一種映像壓縮文件,Image大約爲4M,而zImage不到2M。工具

那麼uImage又是什麼的?它是uboot專用的映像文件,它是在zImage以前加上一個長度爲64字節的「頭」,說明這個內核的版本、加載位置、生成時間、大小等信息;其0x40以後與zImage沒區別。spa

如 何生成uImage文件?首先在uboot的/tools目錄下尋找mkp_w_picpath文件,把其copy到系統/usr/local/bin目錄下,這樣就完成製做工具。而後在內核目錄下運行make uImage,若是成功,即可以在arch/arm/boot/目錄下發現uImage文件,其大小比 zImage多64個字節。it

其實就是一個自動跟手動的區別,有了uImage頭部的描述,u-boot就知道對應Image的信息,若是沒有頭部則須要本身手動去搞那些參數。編譯

U-boot的U是「通用」的意思。class

zImage 是ARM Linux經常使用的一種壓縮映像文件,uImage是U-boot專用的映像文件,它是在zImage以前加上一個長度爲0x40的「頭」,說明 這個映像文件的類型、加載位置、生成時間、大小等信息。換句話說,若是直接從uImage的0x40位置開始執行,zImage和uImage沒有任何區 別。另外,Linux2.4內核不支持uImage,Linux2.6內核加入了不少對嵌入式系統的支持,可是uImage的生成也須要設置。tools

相關文章
相關標籤/搜索