dq大哥的openwrt语录

1662

摘自dq大哥的聊天记录:

记下来,慢慢消化

 dq 14:29:55
每个profile对应一个dts,
kernel里有一个大小0x4000的段,名字叫OWRTDTB:,
kernel只生成一个,
每个profile的dts最后被编译成dtb,由patch-dtb工具合并到kernel里,得到profile对应的kernel,最后跟rootfs合并,得到最终的sysupgrade文件
 dq 15:02:19
,分区表在dts里,单独的kernel是不patch dtb的,sysupgrade里合并的kernel才会patch dtb
openwrt-ramips-mt7620a-vmlinux.bin,
这坨,里面是没有dtb的。
看target/linux/ramips/image/Makefile
就知道了,没有对原始的kernel做处理,

而trunk版里,内建的dtb被去掉了
0203-owrt-MIPS-add-OWRTDTB-secion.patch这个patch做的。

 dq  15:08:21
原始的kernel,需要由
tools/patch-image,
合并一个dtb进去,
这个动作是在生成sysupgrade时做的,一个profile对应一个sysupgrade,这个sysupgrade就是刷到firmware分区里的那坨,一整个刷进去就可以了
 dq  15:14:59
mask_flags是ofpart里用到的东西
ofpart是通过dtb解析得到分区表的东东,
其它还有cmdlinepart,通过命令行得到分区表,还有tplink自己的,arteros自己的

直接改dts就可以了啊,你改了dts,变成dtb合并到kernel里,
mtd ofpart driver自然就起作用

1条评论

  1. 想请教下,如果不把dts 文件生成的dtb pathch 到kernel 会有什么影响呢?我的系统是不pathch 也能成功的运行,但是,网络不通,路由器,在lan 口不能分配地址,wan 口不能dhcp 获取到ip 地址,所以,我看make 的记录,发现是没有打patch 的,我的是在cc 版本的15.05 上,忘解析,希望加你为好友,一起沟通

留下一个答复

Please enter your comment!
Please enter your name here