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

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

Prerequisites

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

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

下载并解压 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

  1. 克隆并进入代码库:

    git clone https://github.com/WeiMXi/minieap-sysu.git
    cd minieap-sysu
  2. 编辑配置文件 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
  3. 开始编译:

    make

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

Run

  1. minieap 上传到路由器:

    scp -O minieap root@OpenWrt:
  2. 登录路由器,启动 minieap

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

为 OpenWrt 路由器编译 minieap-sysu 项目的更多相关文章

  1. OpenWrt路由器通过LuCI界面实现Guest SSID功能

    转自: http://blog.ltns.info/linux/guest_ssid_over_openwrt_router/ 之前尝试过 Tomato路由器设置VLAN实现Guest SSID功能, ...

  2. openwrt(二) 配置openwrt及编译

    导航 1. 配置openwrt 2. 编译openwrt 3. 错误记录 1. 配置openwrt 在openwrt的根目录下,执行make menuconfig. 这个界面我也只是了解了这两个选项而 ...

  3. 在Xcode 6 beta里编译Cocos2d-x iOS项目时失败

    转载 在Xcode 6 beta里编译Cocos2d-x iOS项目时可能会失败,提示如下错误: Undefined symbols for architecture i386: "_fwr ...

  4. [Cordova] 无法编译Visual Studio项目里Plugin副本的Native Code

    [Cordova] 无法编译Visual Studio项目里Plugin副本的Native Code 问题情景 开发Cordova Plugin的时候,开发的流程应该是: 建立Cordova Plug ...

  5. 【转载】在Linux中使用VS Code编译调试C++项目

    原文:在Linux中使用VS Code编译调试C++项目 最近项目需求,需要在Linux下开发C++相关项目,经过一番摸索,简单总结了一下如何通过VS Code进行编译调试的一些注意事项. 关于VS ...

  6. 使用Maven将Hadoop2.2.0源码编译成Eclipse项目

    编译环境: OS:RHEL 6.3 x64 Maven:3.2.1 Eclipse:Juno SR2 Linux x64 libprotoc:2.5.0 JDK:1.7.0_51 x64 步骤: 1. ...

  7. 项目androidAnt编译打包Android项目

    时间紧张,先记一笔,后续优化与完善. Ant编译打包Android项目 在Eclipse中对Android项目停止编译和打包如果项目比较大的话会比较慢,所以改为Ant工具来停止编译和打包 Ant环境配 ...

  8. ASP.NET 动态编译、预编译和 WebDeployment 项目(转)

    概述 在 Web 服务器上,既可以部署源文件,也可以部署编译后程序集. 若部署源文件,则当用户访问时,Web 应用程序会被动态编译,并缓存该程序集,以便下次访问. 否则,若部署程序集,Web 应用程序 ...

  9. 【转】Android 源码下利用jni编译自己的项目(参考系统development/samples/SimpleJNI)

    原文网址:http://blog.csdn.net/qiuxiaolong007/article/details/7860481 记于正文前:环境是ubuntu10.10,android 源码是2.0 ...

  10. 利用ant进行编译和发布项目

    本文通过一个示例来解说如何通过ant进行编译和发布项目.本例按如下目录结构来组织项目. D:/web/antsample项目根目录 D:/web/antsample/src源代码目录 D:/web/a ...

随机推荐

  1. FFmpeg开发笔记(三十三)分析ZLMediaKit对H.264流的插帧操作

    ​<FFmpeg开发实战:从零基础到短视频上线>一书的"3.4.3  把原始的H264文件封装为MP4格式"介绍了如何把H.264裸流封装为MP4文件.那么在网络上传输 ...

  2. xpath-猪八戒网服务商名称爬取

    import requests from lxml import etree url = 'https://changsha.zbj.com/xcxkfzbjzbj/f.html?fr=zbj.sy. ...

  3. Python获得操作日志的最后几行记录

    该方法一般用于获得操作日志的最后几行记录 1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 f = open('seek.txt', 'rb') 4 ...

  4. Mac Mysql初始化密码

    初始化密码 step1 苹果->系统偏好设置->最下面一行上点击mysql图标, 在弹出页面中 关闭mysql服务(点击stop mysql server) step2 登录终端:comm ...

  5. LSTM实现文本情感分类demo

    import torch import torch.optim as optim import torch.nn as nn import numpy as np import torch.nn.fu ...

  6. Task异步多线程

    不废话,直接贴上要实现的效果和代码... [1]直接使用Lambda表达式是实现多线程: using System; using System.Collections.Generic; using S ...

  7. 固定panel1,panel2适应窗体变化

    固定panel1,panel2适应窗体变化 如果您想要固定 Panel1 并且让 Panel2 适应窗体大小的变化,可以使用以下方式设置 SplitContainer 的属性:   ' 设置 Spli ...

  8. QT 的 ModelView

    QApplication a(argc, argv); QDirModel model;    //QDirModel,   问文件目录树 QTreeView tree;    QListView l ...

  9. pytorch问题记录

    1.找不到fused 2.找不到torch_extensions 网上的教程一般都是linux系统的,Windows这个是在C盘目录下 3.c++开发环境中找不到vcvars64.bat 解决方法:重 ...

  10. 【CI/CD】Centos7 下载安装 Jenkins

    一.Docker安装Jenkins 参考: https://www.bilibili.com/video/BV11B4y1W7eH?p=5 安装Jenkins最新稳定版镜像: [root@Centos ...