把红米2打造成一台ARM小服务器

2022-03-12 15:55:26 147点赞 936收藏 65评论

更新一下红米2作为ARM服务器的一些新玩法,还是那台神机红米2,还是那个很棒的PostmarketOS系统。这里不教刷机,只说玩法。刷机教程参考我之前的文章。

1.apk换源

PostmarketOS基于Alpine Linux,所以使用apk作为包管理。虽然我个人觉得官方源速度也还行,不过国内镜像的速度更稳定。三个国内镜像站:

清华TUNA镜像源:https://mirror.tuna.tsinghua.edu.cn/alpine/
中科大镜像源:http://mirrors.ustc.edu.cn/alpine/
阿里云镜像源:http://mirrors.aliyun.com/alpine/

换源前首先看一下PostmarketOS的Alpine Linux版本,目前的PostmarkOS的内核版本应该是3.15:

#查看系统版本
cat /etc/alpine-release
#编辑源配置文件
sudo vim /etc/apk/repositories
#增加源地址
http://mirrors.ustc.edu.cn/alpine/v3.15/main
http://mirrors.ustc.edu.cn/alpine/v3.15/community

替换源地址后,更新一下:

sudo apk update && upgrade

2.修改ash为bash

PostmarkOS默认的sh为ash,ash我不太熟所以我改为bash顺手一点(主要是为了配置bashrc)。PostmarkOS默认已经安装了bash,如果没有的话先安装一下:

#安装bash
sudo apk add bash
#修改默认配置
sudo vim /etc/passwd

以root账户为例修改其默认sh

root:x:0:0:root:/root:/bin/ash
#把上面这行改为下面的
root:x:0:0:root:/root:/bin/bash

新建一个.bashrc文件用于配置别名,后面会介绍.bashrc的用法

sudo vim .bashrc

3.开启SAMBA

虽然红米2内存小,但支持OTG,所以做个NAS也不是不可以。那么安装samba吧:

sudo apk add samba
sudo rc-update add samba
sudo rc-service samba start

设置一下samba登陆用户和密码

sudo smbpasswd -a username

然后编辑samba的配置文件

sudo vim /etc/samba/smb.conf
#在share里增加想共享的路径
[share]
comment = share
path = /home
public = yes
writable = yes
printable = no
browsable = yes
valid user = username

我接下来会介绍通过OTG扩容,真正实现NAS功能。

4.设置WakeOnLAN

我是将这台红米2作为ARM服务器长期开机的(目前已经连续运转半个多月,Alpine挺稳的)。于是我想把这台红米2作为局域网内的远程开机设备。需要用到zerotier+wakeonlan:

zerotier负责搭建虚拟局域网,这样我即使在外地也可以打开家里的电脑。然后通过zerotier搭建的虚拟局域网通过远程桌面操作家里的电脑。zerotier的搭建之前有分享,这里也不讲了。

wakeonlan负责唤醒局域网内的主机。Alpine的自带程序库没有wakeonlan,所以我在GitHub上找了一个C语言版的源码自己编译:

#解压后编译
gcc wakeonlan.c -o wol
#把编译好的文件复制到bin文件夹方便调用
cp wol /bin/wol

有wol mac地址的命令太长不好记,所以要设置别名方便远程操作,之前我已经介绍如何切换为bash且生成bashrc文件,接下来编辑它:

sudo vim /home/.bashrc
#由于我有三台主机所以添加3个别名
alias wolxzj='wol mac1'
alias wolzj='wol mac2'
alias wolbjb='wol mac3'

这样我通过ssh远程红米2后输入wolxzj就可以唤醒我的小主机,wolzj就可以唤醒我的主机,wolbjb就能唤醒笔记本,然后再可以分别操作这些设备。

5.安装Nginx

虽然红米2性能很弱,这是在图形化界面的使用感受。如果是作为小服务器,其性能还是挺强的,起码和树莓派4有的比。我在上面搭建了一个简单网站,通过nginx部署,借用了云服务的反向代理功能,具体操作我有时间会写文章分享:

sudo apk add nginx
sudo rc-update nginx
sudo rc-service nginx start

6.OTG扩容

红米2容量太小了,一顿操作后容量不够用了。所以需要通过OTG扩容。有朋友问OTG怎么解决充电问题?我还真找到一个完美解决方案。关键词“充电OTG线”,虽然店家说仅支持平板电脑不支持安卓手机。但是事实上我的红米2刷PostmarketOS后可正常充电+OTG,我买的是OTG线就14元(3USB口+1个充电口)。为了测试又花了50元买了个二手西数500G的2.5寸黑盘。

将充电线插入OTG充电口,档位调到charge。然后插上500G硬盘和一个64GU盘,连接红米手机。

把红米2打造成一台ARM小服务器

把红米2打造成一台ARM小服务器

首先确认手机正在显示示充电,然后SSH连接红米2。

注意由于postmarketOS不会自动挂载硬盘,所以一开始使用df -h命令看不到磁盘,需要用到lsblk命令:

把红米2打造成一台ARM小服务器

#查看所有硬盘用lsblk或fdisk -l
lsblk
#查看硬盘UUID
sudo blkid

可以看到500G的硬盘和64G的U盘正常识别,接下来需要挂载才能使用。记下硬盘名字,然后根据名字查看对应的UUID:

创建一个目录用于挂载硬盘,然后把挂载命令写入/etc/fstab:

#创建挂载文件夹
sudo mkdir /media/twindows
#设置自动挂载
sudo vim /etc/fstab
UUID="00BC-614E" /home/sd ext4 defaults 0 0
#让挂载命令生效
sudo mount -a

注意分区格式一定要正确,如果你的硬盘是ntfs等Windows格式需要安装软件ntfs-3g。如果安装了ntfs-3g挂载命令如下:

UUID="00BC-614E" /home/sd ntfs-3g rw 0 0

挂载硬盘之后就可以安装aria2做下载机,安装Samba做NAS了。不过红米2WIFI速度太慢所以实际表现一般,通过USB共享网络可达到100M,但是wifi下就只有15M左右。手机功耗很低,长期挂载硬盘是否会出现电压不稳我暂时还没有测试。不过没有了容量的限制,CPU性能又还不错(至少能吊打树莓派3B),这下红米2是台货真价实的ARM服务器了。

有的OTG线可以通过USB连接网线,但我不知道PostmarketOS是否有对应驱动,囊中羞涩就没有买USB转网线OTG线测试了,有测试过的朋友可以分享一下结果。

7.aria2c下载机

有了扩容方案,这台红米2还可以作为下载机了。搭建下载机自然少不了aria2:

sudo apk add aria2

aria2的配置,我这个是简版:

# 保存目录
dir=/home/downloads
# 断点续传
continue=true
# 任务目录设置
input-file=/etc/aria2/aria2.session
save-session=/etc/aria2/aria2.session
# 定时保存任务
save-session-interval=60

# 启用RPC
enable-rpc=true
# 允许所有来源
rpc-allow-origin-all=true
# 允许外部访问
rpc-listen-all=true
# RPC端口,默认6800如果被占用可修改
# rpc-listen-port=6800
# 设置的RPC授权令牌
rpc-secret=password

带配置的启动aria2命令有点长,所以还是通过.bashrc设置别名解决:

sudo vim /home/.bashrc
alias runaria2='aria2c --conf-path=/etc/aria2/aria2.conf -D'

基本就这些玩法了。PostmarketOS可以装Docker,其实玩法还有很多。但是硬件性能限制Docker对于红米2太臃肿了,我测试了一下功能就没有继续尝试了。另外需要选择支持arm的镜像。

好了大概就介绍到这里,大家有什么好的玩法和建议也分享一下吧!

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
65评论

  • 精彩
  • 最新
  • 这真的就是毫无意义的折腾又卡又慢,纯纯给自己添堵,最差的搞个 j1900 也比这玩起来方便舒服吧,

    校验提示文案

    提交
    折腾的目的有时仅仅是为了折腾而已

    校验提示文案

    提交
    收起所有回复
  • 连续开机高流量一周烧wifi,别问我怎么知道的

    校验提示文案

    提交
    改个主动散热试试

    校验提示文案

    提交
    为什么不用水冷 密封一下扔水里 顺便养个热带鱼

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 是不是一台40的玩客云,就没解决

    校验提示文案

    提交
    玩客云的S805是cortex-A5,红米的骁龙410是cortex-A53。为了方便理解,2010年发布的iPhone 4,采用的是cortex-A8;红米初代,采用的是cortex-A7。

    校验提示文案

    提交
    华为ct6000其实不错的。刷了爱快。一个服了稳如狗。温度51

    校验提示文案

    提交
    收起所有回复
  • 麻烦写个刷机教程吧,我一刷就砖,又不得不用miflash刷回来

    校验提示文案

    提交
    估计是差了几条程序

    校验提示文案

    提交
    收起所有回复
  • [大囧] 我还是50块的老母鸡把

    校验提示文案

    提交
    硬盘写入文件加权限就行了啊,有效

    校验提示文案

    提交
    是的,有效,下一个玩客云硬盘绝育软件,一劳永逸。

    校验提示文案

    提交
    还有3条回复
    收起所有回复
  • 能不能刷openwrt

    校验提示文案

    提交
    是个东西就要刷个openwrt么

    校验提示文案

    提交
    对 感觉很厉害

    校验提示文案

    提交
    还有3条回复
    收起所有回复
  • 供电改了吗 之前挂甜糖的经验 24小时插电 电池三到六个月必鼓包 甚至我有台root后索尼可以锁电到90%不充满也会鼓包

    校验提示文案

    提交
    改到冲多少合适

    校验提示文案

    提交
    我把鼓包电芯都扔了 已经不敢手机挂甜糖了 我准备了4v的电源 准备有空焊到电池保护板上用 [皱眉] 一直没实施

    校验提示文案

    提交
    还有3条回复
    收起所有回复
  • 好文,又有一个问题。。。ARM服务器是干啥子用的?

    校验提示文案

    提交
  • 玩客云的性能强还是这红米手机强?

    校验提示文案

    提交
    十年前的手机也比个破路由器CPU性能强啊

    校验提示文案

    提交
    收起所有回复
  • 后悔在买群晖前为啥没看到你这教程 [大囧]

    校验提示文案

    提交
  • 不怕长时间电板爆炸么?

    校验提示文案

    提交
    拆电池也能用吧

    校验提示文案

    提交
    收起所有回复
  • 很仔细的看完,我真是闲的!

    校验提示文案

    提交
  • 这是真高手…

    校验提示文案

    提交
  • 有创意啊。

    校验提示文案

    提交
  • 挺好玩的。

    校验提示文案

    提交
  • 不明觉厉Zsbf

    校验提示文案

    提交
  • 有点意思 [高兴] 期待下集

    校验提示文案

    提交
  • 不用刷机吧,安卓应用也能实现大部分服务器功能

    校验提示文案

    提交
  • 猫盘不香吗报告?

    校验提示文案

    提交
  • 看了之后没咋看懂

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
936
扫一下,分享更方便,购买更轻松