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

歡迎訪問 生活随笔!

生活随笔

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

linux

linux内核合并dtb文件,c – 如何修改内核DTB文件

發布時間:2024/10/8 linux 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux内核合并dtb文件,c – 如何修改内核DTB文件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

摘要

我目前正在使用一些自定義板的自定義驅動程序編譯Linux內核(內核,模塊和DTB).有時我會編譯內核并意識到DTB文件中的兼容性字符串不是自定義驅動程序要查找的內容.現在,我可以解決這個問題的唯一方法是修改DTS或內核驅動程序,使字符串匹配,然后再次重新編譯內核.有沒有辦法我可以編輯DTB文件來更新兼容性字符串?

嘗試失敗

我已經能夠使用以下命令將DTB文件反編譯回DTS文件:

dtc -I dtb -o .dts -.dtb

但是,如果我修改DTS文件并使用以下命令重新編譯:

dtc -I dts -o .dtb -.dts

內核不會加載重新編譯的DTB文件

解決方法:

你為什么不生成新的dtb?

DTB(設備樹blob /二進制)是表示板的硬件組件的硬件數據庫.

U-boot將板信息結構傳遞給內核,該內核源自U-Boot中的頭文件.

DTB由特殊編譯器編譯,該編譯器以適當的形式生成二進制文件,以便U-Boot和Linux理解.

DTC(設備樹編譯器)它將設備樹文件轉換為U-Boot和Linux內核可以理解的機器可讀二進制文件.

使用DTC的簡單方法.

$dtc -O dtb -o arm_board.dtb -b 0 arm_board.dts

從dtb獲取文本中的設備樹.

dtc -I dtb -O dts arm_board.dtb

board.dts是由上面的命令創建的二進制文件. -O指定輸出格式. -o flag是輸出文件. -b 0指定物理引導CPU.

然后做

$make ARCH=arm arm_board.dtb

另一種方法可能只是使用make dtbs這將調用dtc. arch / arm / boot / dts / Makefile列出了哪些DTB應該是

在構建時生成

這是另一種編譯方式. make會把它放在kernel tree / arch / arm / boot / dts的這個位置

標簽:c-3,linux,linux-kernel,arm,embedded-linux

來源: https://codeday.me/bug/20190522/1153629.html

總結

以上是生活随笔為你收集整理的linux内核合并dtb文件,c – 如何修改内核DTB文件的全部內容,希望文章能夠幫你解決所遇到的問題。

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