- 收藏
- 点赞
- 分享
- 举报
全志longan平台如何使用自定义内核版本的设备树?
我在longan平台下更换了高版本的linux内核(原平台linux版本为4.9),但编译系统的脚本还是保持longan平台的,dts也在内核script/build.sh中添加了,编译出现了设备树编译不过的现象,片段如下:
- ‘[‘ -f /home/z/work/H3_Dev/longan/kernel/linux-5.8/arch/arm/boot/dts/.sun8iw7p1-p1.dtb.d.dtc.tmp ‘]’
- ‘[‘ -f /home/z/work/H3_Dev/longan/kernel/linux-5.8/arch/arm/boot/dts/.sun8iw7p1-.dtb.d.dtc.tmp ‘]’
- printf ‘Script_to_dts: use common dts file sun8iw7p1-soc.dts\n’
Script_to_dts: use common dts file sun8iw7p1-soc.dts - DTC_DEP_FILE=/home/z/work/H3_Dev/longan/kernel/linux-5.8/arch/arm/boot/dts/.sun8iw7p1-soc.dtb.d.dtc.tmp
- DTC_SRC_FILE=/home/z/work/H3_Dev/longan/kernel/linux-5.8/arch/arm/boot/dts/.sun8iw7p1-soc.dtb.dts.tmp
- local ‘DTC_FLAGS=-W no-unit_address_vs_reg’
- ‘[‘ -d /home/z/work/H3_Dev/longan/device/config/chips/h3/dtbo ‘]’
- echo ‘sunxi_dtb create’
sunxi_dtb create - /home/z/work/H3_Dev/longan/kernel/linux-5.8/scripts/dtc/dtc -W no-unit_address_vs_reg -O dtb -o /home/z/work/H3_Dev/longan/kernel/linux-5.8/output/sunxi.dtb -b 0 -i /home/z/work/H3_Dev/longan/kernel/linux-5.8/arch/arm/boot/dts -d /home/z/work/H3_Dev/longan/kernel/linux-5.8/arch/arm/boot/dts/.sun8iw7p1-soc.dtb.d.dtc.tmp /home/z/work/H3_Dev/longan/kernel/linux-5.8/arch/arm/boot/dts/.sun8iw7p1-soc.dtb.dts.tmp
FATAL ERROR: Couldn’t open “/home/z/work/H3_Dev/longan/kernel/linux-5.8/arch/arm/boot/dts/.sun8iw7p1-soc.dtb.dts.tmp”: No such file or directory - ‘[‘ 1 -ne 0 ‘]’
- echo ‘Conver script to dts failed’
Conver script to dts failed - exit 1
ERROR: build kernel Failed
INFO: mkkernel failed
由于没有.sun8iw7p1-soc.dtb.dts.tmp这个中间文件,编译脚本使用了默认的dts,且编译出错,不知道.sun8iw7p1-soc.dtb.dts.tmp这个中间文件如何生成的,有大佬了解这个?可否告知一下,谢谢!
编译dts对应的脚本函数附加如下:
do_init_to_dts()
{
local DTC_SRC_PATH=${LICHEE_KERN_DIR}/arch/${ARCH}/boot/dts
if [ “x${ARCH}” == “xarm64” ]; then
DTC_SRC_PATH=${DTC_SRC_PATH}/sunxi
fi
local DTC_DEP_BOARD=${DTC_SRC_PATH}/.${LICHEE_CHIP}-${LICHEE_BOARD}.dtb.d.dtc.tmp
local DTC_DST_FILE=${DTC_SRC_PATH}/sun8i-h3-orangepi-pc.dtb
local DTC_SRC_BOARD=${DTC_SRC_PATH}/.${LICHEE_CHIP}-${LICHEE_BOARD}.dtb.dts.tmp
local DTC_DEP_BUSSINESS=${DTC_SRC_PATH}/.${LICHEE_CHIP}-${LICHEE_BUSSINESS}.dtb.d.dtc.tmp
local DTC_SRC_BUSSINESS=${DTC_SRC_PATH}/.${LICHEE_CHIP}-${LICHEE_BUSSINESS}.dtb.dts.tmp
local DTC_DEP_COMMON=${DTC_SRC_PATH}/.${LICHEE_CHIP}-soc.dtb.d.dtc.tmp
local DTC_SRC_COMMON=${DTC_SRC_PATH}/.${LICHEE_CHIP}-soc.dtb.dts.tmp
local DTC_COMPILER=${LICHEE_KERN_DIR}/scripts/dtc/dtclocal DTC_INI_FILE_BASE=${LICHEE_BOARD_CONFIG_DIR}/sys_config.fexlocal DTC_INI_FILE=output/sys_config_fix.fexcp $DTC_INI_FILE_BASE $DTC_INI_FILEsed -i "s/\(\[dram\)_para\(\]\)/\1\2/g" $DTC_INI_FILEsed -i "s/\(\[nand[0-9]\)_para\(\]\)/\1\2/g" $DTC_INI_FILEecho $DTC_INI_FILEif [ ! -f $DTC_COMPILER ]; thenecho "Script_to_dts: Can not find dtc compiler.\n"exit 1fiif [ -f $DTC_DEP_BOARD ]; thenprintf "Script_to_dts: use board special dts file ${LICHEE_CHIP}-${LICHEE_BOARD}.dts\n"DTC_DEP_FILE=${DTC_DEP_BOARD}DTC_SRC_FILE=${DTC_SRC_BOARD}elif [ -f $DTC_DEP_BUSSINESS ]; thenprintf "Script_to_dts: use bussiness special dts file ${LICHEE_CHIP}-${LICHEE_BUSSINESS}.dts\n"DTC_DEP_FILE=${DTC_DEP_BUSSINESS}DTC_SRC_FILE=${DTC_SRC_BUSSINESS}elseprintf "Script_to_dts: use common dts file ${LICHEE_CHIP}-soc.dts\n"DTC_DEP_FILE=${DTC_DEP_COMMON}DTC_SRC_FILE=${DTC_SRC_COMMON}filocal DTC_FLAGS="-W no-unit_address_vs_reg"if [ -d ${LICHEE_CHIP_CONFIG_DIR}/dtbo ]; thenecho "sunxi_dtb create"$DTC_COMPILER ${DTC_FLAGS} -@ -O dtb -o ${LICHEE_KERN_DIR}/output/sunxi.dtb \-b 0 \-i $DTC_SRC_PATH \-d $DTC_DEP_FILE $DTC_SRC_FILEelseecho "sunxi_dtb create"$DTC_COMPILER ${DTC_FLAGS} -O dtb -o ${LICHEE_KERN_DIR}/output/sunxi.dtb \-b 0 \-i $DTC_SRC_PATH \-d $DTC_DEP_FILE $DTC_SRC_FILEfiif [ $? -ne 0 ]; thenecho "Conver script to dts failed"exit 1fi#restore the orignal dtsiif [ "x${LICHEE_LINUX_DEV}" = "xdragonboard" \-o "x${LICHEE_LINUX_DEV}" = "xdragonmat" ]; thenlocal DTS_PATH=${LICHEE_KERN_DIR}/arch/${ARCH}/boot/dts[ "x${ARCH}" = "xarm64" ] && DTS_PATH=${LICHEE_KERN_DIR}/arch/${ARCH}/boot/dts/sunxiif [ -f ${DTS_PATH}/${LICHEE_CHIP}_bak.dtsi ];thenrm -f ${DTS_PATH}/${LICHEE_CHIP}.dtsimv ${DTS_PATH}/${LICHEE_CHIP}_bak.dtsi ${DTS_PATH}/${LICHEE_CHIP}.dtsififiprintf "Conver script to dts ok.\n"# It'is used for debug dtb$DTC_COMPILER ${DTC_FLAGS} -I dtb -O dts -o ${LICHEE_KERN_DIR}/output/.sunxi.dts ${LICHEE_KERN_DIR}/output/sunxi.dtbreturn
}
Markdown 语法
- 加粗**内容**
- 斜体*内容*
- 删除线~~内容~~
- 引用> 引用内容
- 代码`代码`
- 代码块```编程语言↵代码```
- 链接[链接标题](url)
- 无序列表- 内容
- 有序列表1. 内容
- 缩进内容
- 图片
-
02025-08-26 16:43:38
-
2024-07-01 16:57:35
-
2020-10-31 11:12:08
-
142013-12-10 23:10:39
-
2015-08-08 13:26:41
-
2019-06-21 11:43:52
-
2018-10-16 14:11:02
-
2020-07-07 17:58:02
-
2018-12-06 09:58:10
-
2025-11-05 16:36:05
-
2020-03-31 11:14:26
-
2019-10-31 18:18:43
-
2019-12-10 13:44:26
-
2017-04-07 15:35:24
-
2019-01-02 14:05:12
-
2015-07-27 15:00:18
-
2018-06-25 14:56:28
-
2015-09-21 16:26:37
-
2018-08-17 17:24:46
-
5hisi3516cv610 + gc4336p 夜晚很模糊
-
5AIISP(功能演示,SC4336P为BGGR,强制转RGGB,会导致颜色异常)
-
5rv1106使用luckfox的SDK,设备树和驱动都写好了,结果设备文件没有生成
-
5海思3516cv610中如何进行SD卡升级,根据官方文档操作,烧录进板子时,走的默认uboot,没有执行uboot升级。
-
5G610Q-IPC-38E 夜晚很暗 有什么办法解决吗 已经补光了
-
10转换模型时,SoC版本里没显示hi3516cv610芯片
-
5hisi3516cv610 使用 yolov8n 模型训练 要如何提高 这里识别的是人
-
10有人在海思平台接过SC035HGS吗
-
5关于hi3519dv500,以SD卡虚拟 U 盘操作
-
5ss928 sample_venc代码移植到openEuler24.03上执行报错 [sample_comm_vi_start_dev]-1068: vi set dev attr failed wi
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明

微信扫码分享
QQ好友