为ARM64的OpenWrt软路由编译dogcom
本文最后更新于 197 天前,其中的信息可能已经有所发展或是发生改变。

近日发现小米AC2100性能实在太过弱鸡,不能很好满足搞事情的需求,遂购入FriendlyPi R2S一台作软路由。但苦于校园网宽带需要使用Dr.com客户端,而之前使用的dogcom第三方客户端只能在MIPS架构运行,不能兼容ARM64的软路由处理器,在这个问题解决前无法作为主路由使用,网上也没找到现成的包。但好在该项目是开源的,我们便可以自己编译一个。

先放一个编译完成的dogcom客户端链接,大小735KB:dogcom – cyp0633’s Drive。如果你只是想找客户端,OK,到这里就可以退出了。

原项目地址如下:

显然大部分人的电脑处理器是AMD64架构,直接用AMD64的GCC当然不能正常编译。对于跨架构的编译,网络上很大一部分的解决方案都是使用交叉编译,但这个方法似乎挺麻烦的。转念一想,既然大部分人都有Android手机,而这手机又是ARM64架构的,如果用它编译出Linux的二进制文件,不就简单了?

显然早就有不少人打了Android手机的算盘,做出了可以在其上运行Linux系统的方案。解决方案大致有Termux和Linux Deploy等几种,这里使用Linux Deploy,因其SSH比较方便,但需要Root——我刚好有。

大致的步骤可以参阅https://my.oschina.net/zss1993/blog/1790223,但就在我的Android 11系统的小米10 Pro上的情况来说,需要说明一下:

  • 不需要Busybox,可以直接使用。
  • 文章作者使用的是老版本,如果你使用新版本遇到不同的部分,可以酌情选择或者保持默认。
  • ARM64的手机当然是无法安装x86或AMD64镜像的,反过来也不行,除非你搞个QEMU,当然这也可以作为一个替代方案。
  • 个人认为没必要设置挂载,在PC上使用WinSCP更舒服。

安装好Ubuntu后,使用电脑SSH连接同局域网中手机IP,即可控制容器中的Linux系统。我选择了Ubuntu 18.04 LTS Bionic Beaver,理论上Debian系也都差不多。

输入以下命令:

sudo apt install build-essential # 安装必备依赖库和编译器
git clone https://github.com/mchome/dogcom # 下载代码
cd dogcom # 进入文件夹
make static=y # 编译并使用静态库,下面讲

使用静态库可以避免使用不同编译器时找不到动态链接库的情况,但文件大小会从80KB增长至700多KB。

然后使用WinSCP把那个拷贝到R2S的某个目录,再把你的配置文件拷进去,执行就可以了。

关于如何生成配置文件,可以参考https://www.right.com.cn/forum/thread-215978-1-1.html

效果大概是这样子。

等有空了再折腾下ipk的搞法。

参考文献

qemu /lib/ld-linux-aarch64.so.1: No such file or directory_深空深蓝的博客-CSDN博客_ld-linux-aarch64.so.1

makefile 强制使用静态链接库_xiexievv的专栏-CSDN博客_makefile static

【Linux Deploy】一、Linux Deploy安装配置使用教程 – MaxBill个人空间 – OSCHINA – 中文开源技术交流社区

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇