1. 程式人生 > >openwrt更換原有Linux核心版本

openwrt更換原有Linux核心版本

1;將openwrt14.07中的核心版本從3.10.49更換成3.10.102

a;更改檔案include/kernel-version.mk

b;修改檔案​target/linux/<路由器架構> 下的Makefile,將KERNEL_PATCHVER:= ××那一行的xx改成自己希望的版本系列即可,但不能具體為3.10.102,應為3.10。不然會報錯。

c;修改target/linux/generic/patches-3.10中的檔案。

在這個網址中可以找到相關補丁: https://dev.openwrt.org/browser/trunk/target/linux?rev=44800&order=name

d;修改target/linux/ramips/patches-3.10中的檔案,ramips即make menuconfig中選中的platform。

e;在target/linux/generic/中新增config-3.10

f;在target/linux/ramips/mt7620a中新增config-3.10。(mt7620a為編譯時選擇的開發板,若更新為核心3.14,則新增config-3.14)

g:檢查target/linux/generic/files中的檔案有沒有被修改。

h;更改package/kernel中的檔案

i;還要修改include/中的mk檔案

更換核心版本後,可能需要執行make kernel_menuconfig進行設定。

有可能packet/檔案中與新的linux核心不相符。將來程式若出bug了,可能與只更換了linux核心版本,而沒有更新packet/中的檔案有關。

錯誤處理:

1;編譯時出現錯誤:Parse error at /home/jing/openwrt/openwrt1407/scripts/kconfig.pl line 137.

修改檔案​target/linux/<路由器架構> 下的Makefile,其中KERNEL_PATCHVER:=3.18,不能是KERNEL_PATCHVER:=3.18.36

2;出現Package kmod-ipt-conntrack is missing dependencies for the following libraries:
nf_conntrack.ko 錯誤時

可以進行make kernel_menuconfig進行配置試試