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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

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

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

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

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

-A 指定CPU的體系結(jié)構(gòu):(u-boot支持多種的架構(gòu),這里應(yīng)該是arm)
取值??????? 表示的體系結(jié)構(gòu)
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 指定操作系統(tǒng)類型,可以取以下值:(u-boot支持多種的OS,這里應(yīng)該是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可以加載不同的映像,這里應(yīng)該是kernel)
standalone、kernel、ramdisk、multi、firmware、script、filesystem


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


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


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


-n 指定映像名稱


-d 指定【源文件】和生成的【目標(biāo)文件名


調(diào)整的最多的參數(shù)是-a, -e,這兩個參數(shù)需要與實際加載到內(nèi)存時的動作保持一致。


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

編譯環(huán)境:

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

目標(biāo)板環(huán)境:

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


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

??????? 編譯環(huán)境:

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

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

??????? 目標(biāo)板環(huán)境:

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

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。