摘自dq大哥的聊天记录:
记下来,慢慢消化
dq 14:29:55
每个profile对应一个dts,
kernel里有一个大小0x4000的段,名字叫OWRTDTB:,
kernel只生成一个,
每个profile的dts最后被编译成dtb,由patch-dtb工具合并到kernel里,得到profile对应的kernel,最后跟rootfs合并,得到最终的sysupgrade文件
每个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的。
,分区表在dts里,单独的kernel是不patch dtb的,sysupgrade里合并的kernel才会patch dtb
openwrt-ramips-mt7620a-vmlinux.bin,
这坨,里面是没有dtb的。
看target/linux/ramips/image/Makefile
就知道了,没有对原始的kernel做处理,
就知道了,没有对原始的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分区里的那坨,一整个刷进去就可以了
原始的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自然就起作用
mask_flags是ofpart里用到的东西
ofpart是通过dtb解析得到分区表的东东,
其它还有cmdlinepart,通过命令行得到分区表,还有tplink自己的,arteros自己的
直接改dts就可以了啊,你改了dts,变成dtb合并到kernel里,
mtd ofpart driver自然就起作用
想请教下,如果不把dts 文件生成的dtb pathch 到kernel 会有什么影响呢?我的系统是不pathch 也能成功的运行,但是,网络不通,路由器,在lan 口不能分配地址,wan 口不能dhcp 获取到ip 地址,所以,我看make 的记录,发现是没有打patch 的,我的是在cc 版本的15.05 上,忘解析,希望加你为好友,一起沟通