日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

U-boot mkimage指定Linux内核地址时的两种方式

發布時間:2025/5/22 linux 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 U-boot mkimage指定Linux内核地址时的两种方式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

uImage的制作是使用的u-boot工具mkimage,build完u-boot后也會將mkimage build出來到/tools目錄下,可以直接拿來用,它的作用就是在zImage的前面加上64個字節的頭,讓u-boot能夠識別要加載內核的類型、加載地址等。

基本格式:mkimage -A arch -O os -T type -C comp -a addr -e ep -n name -d data_file[:data_file...] image

-A 指定CPU的體系結構:(u-boot支持多種的架構,這里應該是arm)
取值??????? 表示的體系結構
alpha?????? Alpha?
arm???????? ?A RM?
x86???????? ?Intel x86
ia64??????? ?IA64
mips?????? ??MIPS
mips64???? MIPS 64 Bit
ppc???????? ?PowerPC
s390?????? ?IBM S390
sh??????????? SuperH
sparc?????? SPARC
sparc64?? SPARC 64 Bit
m68k?????? MC68000


-O 指定操作系統類型,可以取以下值:(u-boot支持多種的OS,這里應該是linux)
openbsd、netbsd、freebsd、4_4bsd、linux、svr4、esix、solaris、irix、sco、dell、ncr、lynxos、vxworks、psos、qnx、u-boot、rtems、artos


-T 指定映象類型,可以取以下值:(u-boot可以加載不同的映像,這里應該是kernel)
standalone、kernel、ramdisk、multi、firmware、script、filesystem


-C 指定映象壓縮方式,可以取以下值:(除了zImage本身是壓縮格式外,u-boot還可以對其再壓縮,這里應該是none)
none 不壓縮
gzip 用gzip的壓縮方式
bzip2 用bzip2的壓縮方式


-a 指定映象在內存中的加載地址,可以于實際加載(如tftp加載)時的地址不相同,也可以相同,詳見后面的解釋。


-e?指定映像運行的入口地址,可以等于加載地址,也可以是加載地址偏移64字節(+0x40)后的地址,詳見后面的解釋。


-n 指定映像名稱


-d 指定【源文件】和生成的【目標文件名


調整的最多的參數是-a, -e,這兩個參數需要與實際加載到內存時的動作保持一致。


1、如果加載時的地址與-a參數指定的不相同,則-e必須等于-a。u-boot會把kernel image去掉不包括64字節的信息頭后搬移到-e處,直接啟動。要注意兩個image的存儲空間不要重疊,兩者之間至少要留image size的空間。

編譯環境:

mkimage -A arm -O linux -T kernel -C none -a 0x70008000 -e 0x70008000 -n 'Linux' -d zImage uImage
??????? cp uImage /tftpboot/????????

目標板環境:

tftp?? 0x72200000? uImage;?? bootm?? 0x72200000;


2、如果加載時的地址與-a參數指定相同,則-e必須是-a + 0x40的地址。這時u-boot不需要再執行搬移的動作,根據-e的地址直接啟動。?

??????? 編譯環境:

??????? mkimage -A arm -O linux -T kernel -C none -a 0x0x70008000 -e 0x70008040 -n 'Linux‘ -d zImage uImage

??????? cp uImage /tftpboot/???????????

??????? 目標板環境:

??????? tftp?? 0x70008000? uImage;??? bootm? 0x70008000; 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的U-boot mkimage指定Linux内核地址时的两种方式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。