自編譯的OpenWRT Kernel Hash 不兼容、更新源設定、nftable和docker

本次簡單記錄自己和群友在排查OpenWRT系統錯誤中的一些發現。

閱讀全文: 自編譯的OpenWRT Kernel Hash 不兼容、更新源設定、nftable和docker

Kernel Hash對不上的事件源頭

Semson發現使用大陸編譯的OpenWRT不能安裝和使用banip插件,原因是因爲現時Kernel不對。但自己看,Kernel的號是對得上,但是後面的hash對不上。

翻查OpenWRT forum,這個帖子 ( https://forum.openwrt.org/t/incompatible-kernel-version-after-build/79211 ) 說是只要編譯compile的時候,只要.config有任何的改動,出來的hash都會不同,iStore/Lean等國產特製支持的型號,.config 肯定不可能每一行對上,所以hash會不一樣。解決方法是要在編譯的時候把需要的kernel package給選上。

電犀牛 R68S iStore OS的情況

爲了復現Semson的問題,我在R68S的iStore上嘗試安裝banip,不是kernel hash對不上這麼簡單,而是整個kmod kernel modules說找不到?!

自己查iStore OS的軟件更新源,雖然有能夠選擇官方的OpenWRT,但是在SSH中讀取source 發現竟然沒有 openwrt_core:

左邊:iStoreOS的opkg源,右邊是Redmi AC2100官版OpenWRT的源設置

人手把core添加進去,就復現了Semson的問題。

引申問題是爲什麼iStoreOS把Core package拿掉了?

nftable 和 docker的問題

小U後續發現從 iStore的編譯腳本中看到,iStore開發者是故意把nft-core等的部件關閉。這是爲什麼呢?

後來群友 L 和 小白 反映在Openwrt上運行Docker遇到不少錯誤懷疑是與nftable不兼容有關。L使用的X86軟路由,估計OpenWRT版本都是能用上官方的“正版”,nftable的全套內核固件都應該是開啓了,不知道是否真的這樣與docker不兼容。碰巧國內Lean和iStore OS編譯的Openwrt都已集成docker並且把nftable去掉,很難讓人不聯想兩者有衝突。

歡迎你的留言討論:

你可以一針見血

by Upsangel
Logo