[技术问答] 关于MA35D1的设备树修改编译问题

[复制链接]
104|19
cr315 发表于 2026-6-5 16:38 | 显示全部楼层 |阅读模式
关于MA35D16的设备树问题
为什么在使用make linux-rebuild之后,修改的设备树文件内容和文件都被复原了呀
新建的 ma35d1.dtsi.bak 在编译之后丢失了,修改的 ma35d1.dtsi 中的内容也丢失了
七毛钱 发表于 2026-6-5 17:13 | 显示全部楼层
make linux-rebuild会重新生成设备树,改了原文件当然会被覆盖。
powerantone 发表于 2026-6-5 17:21 | 显示全部楼层
别在build目录里做任何修改,所有改动都在源码目录下做,这是铁律。
故里说长安 发表于 2026-6-5 17:45 | 显示全部楼层
新建bak文件放在build目录下,清理的时候当然一起删了。
今天会画卧蚕吗 发表于 2026-6-5 18:13 | 显示全部楼层
新建的bak文件丢了说明清理脚本把非标准文件都删了。
内政奇才 发表于 2026-6-5 19:14 | 显示全部楼层
设备树要改就改源码目录下的,别改输出目录的,改了也白改。
海滨消消 发表于 2026-6-5 19:46 | 显示全部楼层
改完设备树要重新make linux-rebuild才能生效,但别在build目录里改。
又见江南雨 发表于 2026-6-5 20:14 | 显示全部楼层
linux-rebuild本质上是重新编译,不是增量编译,所以全覆盖。
甜心puppy 发表于 2026-6-5 20:44 | 显示全部楼层
建议用patch或者overlay的方式改,别直接改dtsi源文件。
在海边聆听 发表于 2026-6-5 21:14 | 显示全部楼层
你改的ma35d1.dtsi是在out目录下改的吧,那肯定会被还原。
onlycook 发表于 2026-6-5 21:35 | 显示全部楼层
这个问题跟芯片没关系,是构建系统的机制,哪家都一样。
等凌晨日出 发表于 2026-6-5 21:47 | 显示全部楼层
丢文件这个问题不是设备树的问题,是你文件放错位置了。
才没有脸红 发表于 2026-6-5 22:15 | 显示全部楼层
正确做法是改arch/arm/boot/dts/下面的源文件,别动build目录里的。
茉璃夏 发表于 2026-6-5 22:55 | 显示全部楼层
编译脚本里有clean步骤,会把build目录下的自定义文件全清掉。
进入猫次元 发表于 2026-6-6 11:18 | 显示全部楼层
源文件改了之后要确认编译脚本会不会从别的地方拷贝一份覆盖你的修改。
麻花油条 发表于 2026-6-6 13:14 | 显示全部楼层
ma35d16和ma35d1的设备树是分开的,别改串了。
duo点 发表于 2026-6-6 14:00 | 显示全部楼层
最稳妥的办法是在dts源文件里加注释标记,编译脚本不会动注释。
豌豆爹 发表于 2026-6-6 17:39 | 显示全部楼层
我之前也遇到过,后来发现是改错目录了,白忙活半天。
jcky001 发表于 2026-6-6 21:28 | 显示全部楼层
备份文件别放build目录,放到源码目录下才安全。
老橘树下的桥头 发表于 2026-6-22 10:10 | 显示全部楼层
修改 MA35D1 设备树后,在 Yocto 环境执行编译生成 dtb;若单独编译需指定内核路径与 ARCH=arm64。修改设备树节点、引脚、时钟后,若未更新 dtb 并替换 boot 分区文件,启动不生效。编译报错多因节点语法、寄存器地址、中断参数写错,核对 dts 语法后重新编译替换即可。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1685

主题

7179

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部
0