自己编译出的 OpenWRT 12.09 的 kernel 版本和源里不一样怎么办?

2014-09-14 13:15:07 +08:00
 billlee
我是从 12.09 (Attitude Adjustment) 的 git 上取出源码编译的,编译出来的固件的 kernel 的版本号和源里不一样。这样源里的所有内核模块都无法安装。这样一来,严重依赖内核模块 iptables 也有好多功能用不了。有没有什么办法可以解决这个问题啊?
2516 次点击
所在节点    OpenWrt
12 条回复
Love4Taylor
2014-09-14 13:17:27 +08:00
你自己编译完成后不是有个packages文件夹么,,里面全是包啊。在本地架设一个http服务器,把文件夹拉上去直接用啊
lsylsy2
2014-09-14 13:27:52 +08:00
1、自己编译的kernel无法安装源的内核模块,这个无解,版本问题
2、你可以用编译kernel的同一套源码编译模块并且手动安装
billlee
2014-09-14 13:37:39 +08:00
@Love4Taylor 好方法,我试试能不能直接把整个 package 目录放到 OpenWRT 自己的 uhttpd 下面。
lalalakakaka
2014-09-14 15:20:17 +08:00
@billlee 可以试试 python -m SimpleHTTPServer 架服务器,
然后ssh到路由器上用wget下载。(wget包你应该安装了吧?)
zro
2014-09-14 17:23:22 +08:00
我也试过,自己编译出来的版本号是12.09.1,心塞。。。
cdfmr
2014-09-14 19:58:02 +08:00
@billlee @Love4Taylor @lalalakakaka

不需要架设http服务器,opkg源接受本地目录的配置,比如:
src/gz trunk_r37724 file:///mnt/share/openwrt/r37724
cryos
2014-09-14 20:02:35 +08:00
我试过强制安装官方源的kernel,还真的装上了,现在还用着。
tolbkni
2014-09-14 20:29:53 +08:00
如 @cryos 说的,大版本号一致的情况下,一般能够工作,强制安装就行。

其实你可以把需要的 module 直接编译进内核,就不用从官方源安装了。
billlee
2014-09-14 22:41:02 +08:00
@cryos 我也是这样做的,但是总觉得不舒服(强迫症)

@tolbkni 每次多一个需求就编译一遍固件也太麻烦了吧,我这台路由器上还搭着 extroot, 刷固件特别麻烦。
Love4Taylor
2014-09-15 01:01:39 +08:00
@billlee 我扔github里,23333
ryd994
2014-09-22 00:03:10 +08:00
@billlee
1.有个image build wizard,不用编译也能重新生成固件。如果你没太特殊的需求(比如软FPU),只是想加减几个包改改默认配置的话用官方的ibw也可以。
2.自己编译时选中image build wizard也会有。
3.重新编译不要make clean 最多只clean你改了配置的那个包就足够了
ryd994
2014-09-22 00:03:32 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/133351

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX