欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解析Linux內(nèi)核與設(shè)備樹(shù)的編譯和燒寫(xiě)

 更新時(shí)間:2021年06月26日 10:42:11   作者:澆筑菜鳥(niǎo)  
在內(nèi)核源碼中,存在大量對(duì)板級(jí)細(xì)節(jié)信息描述的代碼。開(kāi)源文檔中對(duì)設(shè)備樹(shù)的描述是,一種描述硬件資源的數(shù)據(jù)結(jié)構(gòu),它通過(guò)bootloader將硬件資源傳給內(nèi)核,使得內(nèi)核和硬件資源描述相對(duì)獨(dú)立

一、準(zhǔn)備材料

可以根據(jù)自己的需要準(zhǔn)備相應(yīng)材料:

開(kāi)發(fā)環(huán)境:VMware

操作系統(tǒng):ubuntu

開(kāi)發(fā)版:湃兔i2S-6UB

二、下載Linux內(nèi)核文件

之前下載過(guò)UBoot文件的朋友應(yīng)該知道,在每個(gè)開(kāi)發(fā)版的資料里都有相應(yīng)的文件,沒(méi)有的可以找購(gòu)買(mǎi)開(kāi)發(fā)版的店家要。

下載完成后將文件拷貝到linux系統(tǒng)下進(jìn)行解壓,解壓后會(huì)的目錄如下圖所示:

注意:編譯時(shí)一定要在當(dāng)前路徑下才能編譯

三、編譯

1、清理項(xiàng)目工程

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean

2、設(shè)置默認(rèn)配置文件

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- i2som_imx6_defconfig

編譯完成后會(huì)生成“.config”,如下圖所示:

注意:湃兔的默認(rèn)配置文件是“i2som_imx6_defconfig”,不同廠商的默認(rèn)配置文件有所不同,可與根據(jù)相應(yīng)的資料查看。如湃兔官網(wǎng)的說(shuō)明,如下圖所示

3.編譯生成kernrl文件

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage

4.編譯生成.dtb文件

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- dtbs

注意:到這里內(nèi)核與設(shè)備樹(shù)的編譯就算完成了,如果細(xì)心的小伙伴就會(huì)發(fā)現(xiàn),為啥我的命令會(huì)長(zhǎng)一些。每個(gè)指令中都用“ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-”,這是設(shè)置編譯器為交叉編譯器。為了使編譯指令簡(jiǎn)介一些,可以在Makefile文件中添加ARCH和CROSS_COMPILE的配置,以后就可以編譯時(shí)就可以省掉命令中的“ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-”部分,如下圖所示:

5.生成文件的路徑

zImage:/arch/arm/boot/目錄下

dtb:/arch/arm/boot/dts目錄下

四、通過(guò)TFTp燒寫(xiě)zImage與.dtb文件

1.將zImage和.dtb文件放入tftp服務(wù)器中

2.進(jìn)入開(kāi)發(fā)版UBoot的命令行,配置TFTP服務(wù)地址

setenv serverip 192.168.1.99

saveenv 

3.下載zImage文件

tftp 80800000 zImage

4.下載.dtb文件

tftp 83000000 i2c6ulxb-i2s6ull-emmc.dtb

5.啟動(dòng)加載zImage和dtb文件

bootz 80800000 - 83000000

6.驗(yàn)證是否成功

燒寫(xiě)完成后,在kernel啟動(dòng)時(shí)會(huì)打印編譯的時(shí)間,如果時(shí)間是沒(méi)問(wèn)題則說(shuō)明成功了,啟動(dòng)信息如下圖所示:

五、常見(jiàn)問(wèn)題

1.編譯生成zImage時(shí)可能會(huì)出現(xiàn)的錯(cuò)誤如下圖所示:

這個(gè)錯(cuò)誤主要是開(kāi)發(fā)環(huán)境未安裝‘lzop'工具,只需安裝一下從新編譯即可

sudo apt-get install lzop

2.啟動(dòng)時(shí)卡死在“Starting kernel ...”,如下圖所示:

不知道是我手里的開(kāi)發(fā)有問(wèn)題還是怎么回事,只要編譯是不如改動(dòng)其他文件一般不會(huì)有配置錯(cuò)誤,所以遇到這種情況多重新試幾次即可。

3.如圖能啟動(dòng)系統(tǒng),湃兔的開(kāi)發(fā)版還可以通過(guò)替換文件進(jìn)行更新,進(jìn)入開(kāi)發(fā)版的系統(tǒng)后之心一下操作

mkdir /mnt/linux/

umount /mnt/linux/

mount /dev/mmcblk1p1 /mnt/linux/

cp i2c6ulxb-i2s6ull-emmc.dtb /mnt/linux/zImage-i2c6ulxb-i2s6ull-emmc.dtb; sync

umount /mnt/linux

reboot

官方教程如下圖所示:

4.啟動(dòng)后會(huì)發(fā)現(xiàn)不能正常啟動(dòng),這是因?yàn)闆](méi)有根文件導(dǎo)致的

以上就是解析Linux內(nèi)核與設(shè)備樹(shù)的編譯和燒寫(xiě)的詳細(xì)內(nèi)容,更多關(guān)于Linux內(nèi)核與設(shè)備樹(shù)的編譯和燒寫(xiě)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 嵌入式Linux開(kāi)發(fā)環(huán)境搭建ping、nfs的解決方法

    嵌入式Linux開(kāi)發(fā)環(huán)境搭建ping、nfs的解決方法

    在本篇文章里小編給大家整理了關(guān)于嵌入式Linux開(kāi)發(fā)環(huán)境搭建ping、nfs的解決方法,需要的朋友們學(xué)習(xí)參考下。
    2019-07-07
  • Xshell如何添加快捷命令的方法

    Xshell如何添加快捷命令的方法

    這篇文章主要介紹了Xshell如何添加快捷命令的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Tomcat無(wú)法加載css和js等靜態(tài)資源文件的解決思路

    Tomcat無(wú)法加載css和js等靜態(tài)資源文件的解決思路

    Tomcat無(wú)法加載css和js等靜態(tài)資源文件的情況想必從事相關(guān)行業(yè)的工作人員都有遇到過(guò)吧,接下來(lái)為大家介紹下詳細(xì)的解決方法,感興趣的朋友可以參考下
    2013-10-10
  • 詳解Centos7擴(kuò)展磁盤(pán)空間(LVM管理)

    詳解Centos7擴(kuò)展磁盤(pán)空間(LVM管理)

    本篇文章主要介紹了詳解Centos7擴(kuò)展磁盤(pán)空間(LVM管理),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • 淺談find命令下的atime,ctime,mtime

    淺談find命令下的atime,ctime,mtime

    下面小編就為大家?guī)?lái)一篇淺談find命令下的atime,ctime,mtime。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-12-12
  • Linux系統(tǒng)下如何運(yùn)行.sh文件的實(shí)現(xiàn)

    Linux系統(tǒng)下如何運(yùn)行.sh文件的實(shí)現(xiàn)

    這篇文章主要介紹了Linux系統(tǒng)下如何運(yùn)行.sh文件的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Ubuntu 18.04通過(guò)命令禁用/開(kāi)啟觸控板

    Ubuntu 18.04通過(guò)命令禁用/開(kāi)啟觸控板

    這篇文章主要介紹了Ubuntu 18.04通過(guò)命令禁用/開(kāi)啟觸控板,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Linux知識(shí)點(diǎn)小結(jié)

    Linux知識(shí)點(diǎn)小結(jié)

    這篇文章主要為大家分享了Linux知識(shí)點(diǎn),幫助大家更加詳細(xì)的學(xué)習(xí)Linux
    2016-01-01
  • 入域的Windows訪問(wèn)未入域的Samba服務(wù)方法介紹

    入域的Windows訪問(wèn)未入域的Samba服務(wù)方法介紹

    這篇文章主要介紹了入域的Windows訪問(wèn)未入域的Samba服務(wù)方法介紹,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • .htaccess綁定域名到子目錄的方法

    .htaccess綁定域名到子目錄的方法

    首先用控制面版的域名綁定功能綁定了域名, 然后用.htaccess
    2008-07-07

最新評(píng)論