16-Openwrt patch生成

在開(kāi)源模塊的基礎(chǔ)上修改代碼,更多的時(shí)候是通過(guò)打補(bǔ)丁的方式進(jìn)行修改。

1.內(nèi)核patch生成

1.1 編譯內(nèi)核模塊命令

vim 19.07/target/linux/Makefile

prereq clean download prepare compile install menuconfig nconfig oldconfig update refresh: FORCE
    @+$(NO_TRACE_MAKE) -C $(BOARD) $@

清空內(nèi)核:

make target/linux/clean V=s

解壓內(nèi)核:

make target/linux/prepare V=s

編譯,拷貝內(nèi)核頭文件到工具鏈/19.07/staging_dir/toolchain-aarch64_cortex-a53_gcc-8.3.0_musl/include/linux$

make target/linux/install V=99

放在/19.07/build_dir/target-aarch64_cortex-a53_musl/linux-mediatek_mt7622/linux-4.19.81/include/uapi下面的頭文件都會(huì)被拷貝到19.07/build_dir/target-aarch64_cortex-a53_musl/linux-mediatek_mt7622/linux-4.19.81/user_headers下面,最后拷貝到/19.07/staging_dir/toolchain-aarch64_cortex-a53_gcc-8.3.0_musl/include/linux$

1.2 生成patch

新建兩個(gè)目錄,原始linux-4.19.81.org/和修改后的linux-4.19.81/

使用如下命令生成patch

diff -Naur linux-4.19.81.org/ linux-4.19.81/ > 3001-add-xxx-support.patch

拷貝到對(duì)應(yīng)的target/linux下

19.07/target/linux/mediatek/patches-4.19/

之后編譯的時(shí)候,會(huì)根據(jù)前綴的數(shù)值大小一個(gè)一個(gè)打補(bǔ)丁到源碼下面。

2.應(yīng)用package生成

2.1 編譯package模塊命令

vim 14.07/package/Makefile文件里有如下定義:

$(eval $(call stampfile,$(curdir),package,prereq,.config))
$(eval $(call stampfile,$(curdir),package,cleanup,$(TMP_DIR)/.build))
$(eval $(call stampfile,$(curdir),package,compile,$(TMP_DIR)/.build))
$(eval $(call stampfile,$(curdir),package,install,$(TMP_DIR)/.build)

清空:

make package/network/services/uhttpd/clean V=99

解壓,打patch

make package/network/services/uhttpd/prepare V=99

編譯:

make package/network/services/uhttpd/compile V=99

安裝,拷貝

make package/network/services/uhttpd/install V=99
2.2 生成patch

新建兩個(gè)目錄,原始uhttpd-2019-08-17-6b03f960.org/和修改后的uhttpd-2019-08-17-6b03f960.81/

使用如下命令生成patch

diff -Naur uhttpd-2019-08-17-6b03f960.org/ uhttpd-2019-08-17-6b03f960/ > 1001-add-xxx-support.patch

在package下面新建patches目錄

19.07$ ls package/network/services/uhttpd/
files  Makefile  patches

將生成出來(lái)的1001-add-xxx-support.patch拷貝到patches即可。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容