diff制作补丁包:
diff简介:
diff本质是一个类似于cp、mv等linux工具,其作用是比较两个文件的不同,并将不同的地方记录下来。适用于内核这种大型项目的协同开发,需要注意的是多人协同开发的时候个人调试时可能会更改到多个模块的文件,但是在制作补丁包的时候需将调试模块的改动地方还原,只保留自己负责模块的更改部分,否则会导致多人对同一模块进行修改,导致最终结果错误。
diff使用方式:
diff 可选参数 老版本文件(一般命名为a) 改动后的文件(一般命名为b) >xxx.patch
常见形式如: diff -Naur a b > test.patch
一般常见可选参数有:
-N 在两比较目录中,如果一个文件只在其中的一个目录中找到,那么该文件在另外一个目录中视为空文件
-a 所有的文件都视为文本文件来逐行进行比较
-u 使用统一的输出格式
-r 如果比较目录下有多个子目录时,递归比较找到的所有子目录
-b 忽略空格引起的变化
patch打补丁
为单个文件进行打补丁:
文件目录描述:
a 文件夹*****************************将要进行打补丁的文件夹
test.patch 补丁
a与test.patch在同一层目录
为文件a打补丁:
patch -Np0 < test.patch
还原补丁之前的版本(卸载补丁):
patch -Rp0 < test.patch
反编译设备树:
在编译过的linux源码目录下:scripts/dtc/目录下有一个dtc执行文件,该文件用于反编译编译好的设备树。
./scripts/dtc/dtc -I dtb -O dts -o output.dts imx6q-sabresd.dtb
output.dts为反编译出的设备树文件,imx6q-sabresd.dtb为编译过的设备树文件,未指定路径都为当前路径。