導航:首頁 > 文件教程 > 生成內核映像文件的命令為

生成內核映像文件的命令為

發布時間:2025-06-18 02:28:42

⑴ 【boot】linux Kernel 鏡像的生成以及載入

Linux Kernel 鏡像格式包括:vmlinux、Image、zImage、bzImage、uImage、xipImage。vmlinux是原始可引導且未壓縮的內核文件,由用戶編譯得到,實質是 ELF 格式。Image是經過obj處理的原始二進制數據內核代碼,未壓縮。zImage是經過gzip壓縮的vmlinux加上解壓代碼,適用於NAND Flash。bzImage是使用不同壓縮演算法的壓縮內核映像,壓縮率更高,同樣適用於NAND Flash。uImage是用於u-boot的鏡像文件,比zImage多一個頭部信息。xipImage則存放在NOR Flash中,直接運行無需復制到SDRAM。

內核鏡像的產生過程包括:首先生成可執行的vmlinux文件;然後通過obj處理成Image,變小但未壓縮;接著使用gzip壓縮Image生成compress/vmlinux;最後再使用obj處理compress/vmlinux生成zImage,壓縮比約為2:1。

Linux內核鏡像的載入過程包括載入文件頭、內存布局、分階段載入內核鏡像、實模式和保護模式下內核載入。實模式下載入boot/setup.bin,進行硬體初始化並跳轉到main()函數開始執行。保護模式下載入boot/vmlinux.bin,解壓縮並初始化頁表,調用init/main.c:start_kernel()函數。

Linux內核鏡像格式多樣,根據硬體類型和存儲設備選擇合適的鏡像格式進行載入。載入過程包括硬體初始化、內存布局設定、分階段載入內核鏡像,最後實模式和保護模式下執行內核。

使用make命令如「make zImage」可以生成zImage鏡像,相關代碼在arch/arm/Makefile中。

內核載入流程包含載入文件頭和末尾的CRC校驗碼,以及在實模式和保護模式下分別執行boot/setup.bin和boot/vmlinux.bin。實模式下執行setup.bin進行硬體初始化,然後跳轉到main()函數執行。保護模式下載入vmlinux.bin,解壓縮後初始化頁表,調用start_kernel()函數啟動內核。

閱讀全文

與生成內核映像文件的命令為相關的資料

熱點內容
php新建文件並寫入 瀏覽:186
火螢視頻在哪個文件夾下載 瀏覽:975
精銳網吧管理輔助工具 瀏覽:792
網路盒上的線應該怎麼插 瀏覽:700
cad打開第二個文件時出現致命錯誤 瀏覽:917
java和python表情包 瀏覽:697
計算機編程為什麼很容易改行 瀏覽:797
編程解方程用什麼軟體 瀏覽:302
如何將文件傳給微信 瀏覽:877
app緩存文件該存在哪裡 瀏覽:793
jscss載入器 瀏覽:822
qq瀏覽器下載視頻文件源錯誤 瀏覽:196
6splus文件描述在哪裡 瀏覽:832
windows文件如何插入圖片 瀏覽:681
安卓蘋果開機圖片 瀏覽:80
下載的qq群文件沒了 瀏覽:813
word2003頁碼從任意頁開始 瀏覽:723
matlab保存數據excel文件 瀏覽:513
哪個app可以看免費短篇小說 瀏覽:714
視覺設計有哪些數據分析能力 瀏覽:554

友情鏈接