雪山深处

动手编译适合自己路由器的 ipk

动手编译适合自己路由器的 ipk

2020 年 03 月 22 日 • 3 分钟

Openwrt
技术

编译(以交叉编译为例)

若第一次编译还需以下步骤

  1. 安装相关依赖库

    sudo apt-get update
    sudo apt-get install git-core build-essential libssl-dev libncurses5-dev unzip gawk subversion mercurial

    安装 C 编译环境

    sudo apt-get install ccache
  2. 下载您设备对应的 SDK OpenWRT SDK site preview image / PandoraBox SDK site preview image

  3. 解压 SDK

    tar xvf (SDK 包名)

开始编译

  1. 定位到 SDK 目录 (即解压出来的文件夹)

    cd /sdk 目录
  2. 克隆 git

    git clone https://github.com/ysc3839/openwrt-minieap.git -b gzhu package/minieap

    此处使用的源并非是 MiniEAP 的官方源,而是 ysc3839 大佬的项目 site preview image ,区别在于大佬加入了 GZHU 的特定字段,具体可以看 这里 site preview image

  3. 选择要编译的包

    make menuconfig # 依次选择 "Network" "minieap" "save" "OK" 然后一直"Exit"回到控制台
  4. 开始编译

    make package/minieap/compile V=s

ipk 文件就在 bin/packages/(处理器架构)/base/

编译 luci-proto-minieap

为了能直观的使用 MiniEAP 我们还需要编译对应的 luci

方法些许不同

  1. 定位到 SDK 目录

    cd /sdk 目录
  2. 安装 luci feed (操作前可以给 git 设置代理)

    ./scripts/feeds update luci
    ./scripts/feeds install -a
  3. 克隆 git

    git clone https://github.com/ysc3839/luci-proto-minieap.git package/luci-proto-minieap
  4. 选择要编译的包

    make menuconfig # 依次选择 "LuCI" "Protocols" "luci-proto-minieap" "save" "OK" 然后一直"Exit"回到控制台
  5. 开始编译

    make package/luci-proto-minieap/compile V=s

同样在 /bin/ 中的某个文件夹里就能找到啦

MiniEAP 与 Mentohust 的对比

  • 首先直观看上去第一眼,MiniEAP 的安装包要比 Mentohust 小很多

  • MiniEAP 的设置在路由器的 接口 设置中,这意味着它可以随路由器自启而无需其他设置

具体使用情况还有待返校才能发现(QAQ 我想返校昂)

如何使用 MiniEAP(更新于 2020/8/30)

  1. 网络->接口 中,确认 wan 口协议为 DHCP 客户端
  2. 添加一个接口为 eth0.2(wan 口接口) 协议为 MiniEAP 客户端 的接口,并输入账号和密码,将数据包插件设为 rjv3
  3. RJv3 插件设置 中将 DHCP 方式 设置为 禁用 以外的方式
  4. 保存并应用

我之前就因为不知如何使用 MiniEAP 而想当然的直接修改 wan 口协议了,导致出现“ipv4 地址获取错误”

至于 DHCP 方式 我尝试过禁用以外的所有方式都是 OK 的(GZHU 校园网环境下)

本文最后于2022 年 11 月 05 日更新,一些操作可能已经过时

21 Comments
  • Latest
  • Oldest
  • Hottest
铉鸢2023-09-23

错误段应该是从以下部分开始:

FAILED: CMakeFiles/liblucihttp-lua.dir/lib/lua.c.o
/home/a/桌面/openwrt-sdk-mediatek-filogic/staging_dir/toolchain-aarch64_cortex-a53_gcc-12.3.0_musl/bin/aarch64-openwrt-linux-musl-gcc -Dliblucihttp_lua_EXPORTS -I/home/a/桌面/openwrt-sdk-mediatek-filogic/build_dir/target-aarch64_cortex-a53_musl/lucihttp-2023-03-15-9b5b683f/include -Os -pipe -mcpu=cortex-a53 -fno-caller-saves -fno-plt -fhonour-copts -ffile-prefix-map=/home/a/桌面/openwrt-sdk-mediatek-filogic/build_dir/target-aarch64_cortex-a53_musl/lucihttp-2023-03-15-9b5b683f=lucihttp-2023-03-15-9b5b683f -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -I/home/a/桌面/openwrt-sdk-mediatek-filogic/staging_dir/target-aarch64_cortex-a53_musl/usr/include -DNDEBUG -fPIC -Os -ggdb -Wall -Werror --std=gnu99 -Wmissing-declarations -Wno-format-truncation -MD -MT CMakeFiles/liblucihttp-lua.dir/lib/lua.c.o -MF CMakeFiles/liblucihttp-lua.dir/lib/lua.c.o.d -o CMakeFiles/liblucihttp-lua.dir/lib/lua.c.o -c ‘/home/a/桌面/openwrt-sdk-mediatek-filogic/build_dir/target-aarch64_cortex-a53_musl/lucihttp-2023-03-15-9b5b683f/lib/lua.c’
In file included from /home/a/桌面/openwrt-sdk-mediatek-filogic/build_dir/target-aarch64_cortex-a53_musl/lucihttp-2023-03-15-9b5b683f/lib/lua.c:19:
/home/a/桌面/openwrt-sdk-mediatek-filogic/build_dir/target-aarch64_cortex-a53_musl/lucihttp-2023-03-15-9b5b683f/include/lucihttp/lua.h:22:10: fatal error: lua.h: No such file or directory
22 | #include <lua.h>
| ^~~~~~~
compilation terminated.
ninja: build stopped: subcommand failed.
make[2]: *** [Makefile:76: /home/a/桌面/openwrt-sdk-mediatek-filogic/build_dir/target-aarch64_cortex-a53_musl/lucihttp-2023-03-15-9b5b683f/.built] Error 1
make[2]: Leaving directory ‘/home/a/桌面/openwrt-sdk-mediatek-filogic/feeds/luci/contrib/package/lucihttp’
time: package/feeds/luci/lucihttp/compile#0.15#0.02#0.13
ERROR: package/feeds/luci/lucihttp failed to build.
make[1]: *** [package/Makefile:120: package/feeds/luci/lucihttp/compile] Error 1
make[1]: Leaving directory ‘/home/a/桌面/openwrt-sdk-mediatek-filogic’
make: *** [/home/a/桌面/openwrt-sdk-mediatek-filogic/include/toplevel.mk:225:package/luci-proto-minieap/compile] 错误 2

TalaxyAdmin2024-01-07

@铉鸢:

@铉鸢: 不好意思,刚刚才看到这条评论(那段时间推送服务失效了)。
看起来失败的主要原因是:

/home/a/桌面/openwrt-sdk-mediatek-filogic/build_dir/target-aarch64_cortex-a53_musl/lucihttp-2023-03-15-9b5b683f/include/lucihttp/lua.h:22:10: fatal error: lua.h: No such file or directory

可以检查一下这个路径存不存在,建议不要在桌面上的文件夹编译,可能是含中文的路径造成的。其余的情况我这边也提供不了更多的帮助,已经几年没接触过了tieba_sorry

zz2024-01-10

@铉鸢:

@铉鸢: 请问解决了吗

匿名2024-01-10

@zz:

@zz: 只能说无感认证是最好的最省事的解决方案,我一个月前研究过openvpn,没有研究得很彻底

铉鸢2023-09-23

最后一个编译的时候出现了错误,师兄还能够解惑吗?

Anonymous2022-11-15

感谢师兄分享

Anonymous2021-10-24

哦?是吗!

Tiger2021-10-16

应该是字段出问题了,今天用这个被拉进黑名单了

Ojhdt2021-10-15

在未开启rjv3插件时,日志提示“正在查找认证服务器”,随后服务退出;
开启后,日志提示
“IPv4 地址获取错误”

“无法从 /etc/mtab 获取根分区挂载设备信息,请使用 –fake-serial 选项手动指定硬盘序列号: No such file or directory (2)”
随后服务退出。
甚至没有与认证服务器发生过交互,请问是什么情况呢😭

Talaxy2021-11-07

@Ojhdt:

@Ojhdt , 关于“IPv4 地址获取错误”,是否是另外创建一个接口来运行 MiniEAP 的呢?不要直接修改 wan 口协议,具体可以看本文最后的介绍。
后面那个错误,我还没遇到过,也推测不出原因,帮不上忙😭

Anonymous2021-10-10

问一下 出现下面这种情况怎么回事
[I] MiniEAP 0.92.1已启动
[I] 正在查找认证服务器
[I] 正在回应用户名请求
[W] 认证失败 1 次,将在 30 秒或服务器请求后重试……
[I] 正在回应密码请求
[W] 认证失败 2 次,将在 30 秒或服务器请求后重试……
[I] 正在回应用户名请求
[I] 正在回应密码请求
[E] 认证失败 3 次,已达到指定次数,正在退出……
[I] MiniEAP 已退出

mentohust一切正常,但这个用不了,用的是下面评论区那个兄弟的命令,改成自己的网卡和账号密码

Talaxy2021-10-13

@Anonymous:

@Anonymous , 这种情况我没有遇到过呢🤔,如果不用命令而用 luci 页面来启动认证呢?

Talaxy2021-10-13

@Anonymous:

@Anonymous , 突然想到一点,会不会是字段的问题导致认证失败🤔

Anonymous2021-07-06

先插眼

scgyzsy2021-03-30

请问这个相对于mentohust有哪些优势吗(除了体积小,自动启动)?稳定性有所改善吗?

Talaxy2021-03-30

@scgyzsy:

@scgyzsy , 主要是这个可以自己编译,如果用 mentohust 的话很难找到含广大字段的包,我之前也是在广大派上买了一个路由器才拿到能用的 mentohust 的。另外的话有些学校会屏蔽 mentohust 的认证,而 minieap 就能正常使用,当然这与广大没关系,广大两个都能用。

Anonymous2021-01-12

大佬请问下 以上都设置完了在接口设置界面协议显示未安装协议支持是要如何解决 连不上网

Talaxy2021-02-20

@Anonymous:

@Anonymous , 嗯,我之前也遇到过这个问题,个人用了上面的仓库来编译是没问题的,你再确认一下?

Powered by Waline v3.3.2