(收集/整理)linux 內核啓動 解壓縮

zImage生成流程:

1.  vmlinux 文件:

        vmlinux 文件根據arch/arm/kernel/vmlinux.ld 生成, vmlinux屬於未壓縮,帶調試信息、符號表的最初的內核。該文件大小約爲4.3M。

2. Image文件:

    將vmlinux中的調試信息、註釋、符號表等內容去除後生成該文件,這是未經壓縮的linux內核,該文件大小約爲3.2M。

3. piggy.gz文件:

    arch/arm/boot/Image用gzip-9 壓縮生成arch/arm/boot/compressed/piggy.gz,該文件大小約爲1.55M。

4. piggy.o:

    編譯arch/arm/boot/compressed/piggy.s 生成arch/arm/boot/compressed/piggy.o,piggy.s將piggy.gz 作爲數據段包含進 piggy.o。

5. /compressed/vmlinux:

    依據arch/arm/boot/compressed/vmlinux.lds 將arch/arm/boot/compressed/ 目錄下的文件 head.o  piggy.o  misc.o   鏈接生成arch/arm/boot/compressed/vmlinux,這個vmlinux是經過壓縮且含有自解壓代碼的內核,文件大小約1.5M。

6. /compressed/zImage:

    將arch/arm/boot/compressed/vmlinux 去除調試信息、註釋、符號表等內容,生成arch/arm/boot/zImage,文件大小約爲1.5M。


    待續...


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章