为 OpenWrt 路由器编译 minieap-sysu 项目

随笔6天前发布 黄小利
12 0 0

学校的校园网要使用锐捷认证,于是想把认证客户端装到刷了 OpenWrt 的路由器上面。然而认证客户端 Linux 版只支持 x86 架构,我的路由器处理器却是 AArch64 架构,装不了,所以只能想办法找 AArch64 架构的解决方案。

经过一番搜索,我找到了 minieap-sysu 这个项目,不过需要自己编译可执行文件。下面记录了我的编译过程。

Prerequisites

编译可执行文件首先需要有 toolchain(编译工具链)。我们需要找到自己路由器平台所对应的 toolchain。OpenWrt 项目已经为我们预编译好了各种路由器平台上的 toolchain,所以我们不用再自己手动编译 toolchain 了。打开 Firmware Selector,搜索你的路由器型号,并选择固件版本,在搜索结果中点击最左侧的文件夹图标打开下载服务器目录:

OpenWrt Firmware Selector
ImmortalWrt Firmware Selector

为 OpenWrt 路由器编译 minieap-sysu 项目

在构建仓库的底部可以找到我们需要的 toolchain

为 OpenWrt 路由器编译 minieap-sysu 项目

下载并解压 toolchain,并将 toolchain 的路径添加到 PATH:

export PATH="/path/to/toolchain/bin:$PATH"

如:

export PATH="/home/ubuntu/openwrt-toolchain-23.05.4-mediatek-filogic_gcc-12.3.0_musl.Linux-x86_64/toolchain-aarch64_cortex-a53_gcc-12.3.0_musl/bin:$PATH"

如果没有对应版本的 toolchain 怎么办:如果没有对应版本的 toolchain,那我们就自己编译一个。编译 OpenWrt 的过程可以参见博客编译 OpenWrt,在编译时 toolchain 会被自动构建并存储到 staging_dir

Build

克隆并进入代码库:

git clone https://github.com/WeiMXi/minieap-sysu.git
cd minieap-sysu

编辑配置文件 config.mk,这里要把编译器(CC)改为我们刚刚下载的 toolchain 里的。查看 toolchainbin 目录,这里我可以找到我的编译器为 aarch64-openwrt-linux-musl-gcc-12.3.0,于是用它替换原来的 CC:

# 将
CC := mipsel-openwrt-linux-gcc-8.4.0
# 替换为
CC := aarch64-openwrt-linux-musl-gcc-12.3.0

开始编译:

make

编译产物是项目根目录下的 minieap

Run

minieap 上传到路由器:

scp -O minieap root@OpenWrt:

登录路由器,启动 minieap

ssh root@OpenWrt
./minieap -u <student-id> -p <password> -n eth1 --module rjv3 --fake-serial AABB
© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...