继上次完成小米6体验Ubuntu Touch原生Linux系统之后,现在想用红米2来体验postmarketOS原生Linux系统。postmarketOS基于Alpine Linux,将真正的Linux系统装到Android手机,类似Ubuntu touch,不是chroot也不是proot更不是Android,就是纯Linux。PostmarketOS支持的旧手机型号比较多。作为原生的完整Linux系统,可玩性很不错。国内最佳的刷机设备是红米2:功能支持全、没有BootLoader锁刷机简单、价格便宜刷坏不心疼。
红米2增强版拥有2G RAM和 16G ROM 和晓龙410处理器,作为手机早已过时,但是作为一台ARM服务器则绰绰有余。
红米2手机详细参数参考以下链接:
https://www.mi.com/hongmi2/specs
红米2跟红米2A有啥区别?
1、 从外观看,红米2A和红米2并没有区别。
2、 从参数上看,红米2A和红米2主要的区别在于采用的CPU不同。红米2A采用联芯L1860C四核1.5GHz的处理器,红米2采用的是高通64位骁龙410四核1.2GHz处理器。
需要刷机工具
手机:2+16G的高配电信版紅米2 (wt88047),四核Cortex-A53,1.2GHZ的主频。
SD卡:红米2手机增加扩展32G储存卡
电脑:Ubuntu 20.04,预先装好ADB和Fastboot等工具
刷机
1.进入fastboot模式
关机情况下,电源键+音量减进入fastboot模式,因为红米2 发行的年代尚且不流行BL锁,所以无需考虑解锁问题。
2. 刷入postmarketOS系统
2.1 检查是否刷入了最新固件
使用了安卓版本为5以上的MIUI可以跳过此步骤。
使用了安卓版本为4的的MIUI请更新固件,(不过更简单的方式是线刷一个安卓5的MIUI)下载红米 2稳定版刷机包 MIUI9
小米 ROM参考下载链接:
1、所有小米型号刷机包
https://xiaomirom.com/series/
红米 2 (wt88047) 国行版 Fastboot 线刷包 & Recovery 卡刷包 ROM
https://xiaomirom.com/rom/redmi-2-redmi-2-pro-wt88047-china-fastboot-recovery-rom/
红米 2/2A (wt86047) 国行版 Fastboot 线刷包 & Recovery 卡刷包 ROM
https://xiaomirom.com/rom/redmi-2-redmi-2-pro-wt86047-china-fastboot-recovery-rom/
2、固件下载地址:
wt86047-firmware_20161223.zip
https://androidfilehost.com/?fid=4349826312261681356
wt88047-firmware_V9.2.5.0.LHJMIEK.zip
https://androidfilehost.com/?fid=4349826312261681357
lineage-14.1-20171216_124058-UNOFFICIAL-wt88047.zip
https://androidfilehost.com/?fid=673791459329070105
lineage-17.1-20200527-UNOFFICIAL-wt88047.zip
https://androidfilehost.com/?fid=4349826312261820071
DOT-N-v1.1-20171127-wt88047-OFFICIAL.zip
https://androidfilehost.com/?fid=889964283620768777
红米2有增强&标配区分,小米给红米2挺多个设备名。增强(官方5.1) wt86047(移动)、wt88047(联通&电信)。
不知道的话,打开设置,导航到“手机信息”,并记下“型号”标题下方的型号。
2014811, 2014812, 2014817 2014818, 2014819, 2014821 :wt88047.
2014813, 2014112 : wt86047.
2.2 安装lk2nd作为2nd bootloader
虽然小米已经给我们提供了一个默认的bootloader,但是还需要安装自定义的bootloader 来给运行linux环境提供更多硬件支持,因此需要安装lk2nd
Github项目地址:lk2nd,请在github的release页面里下载lk2nd-msm8916.img 文件
https://github.com/msm8916-mainline/lk2nd/releases/tag/0.12.0
建议安装最新版lk2nd,因为0.9版本只开放了单CPU,而0.11版之后才能开启全部四核心。
刷入lk2nd指令如下:
fastboot flash boot lk2nd-msm8916.img
fastboot reboot
没问题的话,重启后手机会显示如下的画面:lk2nd的主界面
2.3 刷入 postmarketOS
固件下载地址:https://images.postmarketos.org/bpo/v22.06/xiaomi-wt88047/
这里有三个ROM 随便选一个下载即可,反正最后也使用终端和手机进行交互,GUI不是很重要。
三种UI如下图所示:
重启后手机显示lk2nd界面,重新连接到电脑的fastboot,在电脑的命令行中执行如下的fastboot指令刷入ROM。
fastboot flash userdata 20220720-1335-postmarketOS-v22.06-phosh-18-xiaomi-wt88047.img
fastboot erase system
fastboot reboot
备注1:lk2nd 0.10.0 版本之后,不需要再刷入传统的*-boot.img文件,所以可以考虑跳过刷入该文件。
刷机完成后,重启手机,进入系统!
安装软件
1.解锁手机进入图形界面
postmarketOS提供的默认用户名:user 密码 147147 PIN 147147,使用该密码解锁手机即可进入系统
2.开启SSH Server
postmarketOS 默认不开启sshd,因此我们需要手动开启,在手机上的终端机软件中输入如下的指令:
sudo service sshd start #开启SSH Server 服务
sudo rc-update add sshd # 开机启动SSHD 服务
sudo vi /etc/ssh/sshd_config
3. 包管理器apk
postmarketOS使用apk作为包管理
换源前首先看一下PostmarketOS的Alpine Linux版本(cat /etc/alpine-release),目前的PostmarkOS的内核版本应该是3.16.1:
然后编辑源配置文件
sudo vi /etc/apk/repositories
增加源地址
http://mirrors.aliyun.com/alpine/v3.16/main
http://mirrors.aliyun.com/alpine/v3.16/community
http://dl-cdn.alpinelinux.org/alpine/v3.16/main
http://dl-cdn.alpinelinux.org/alpine/v3.16/community
http://mirrors.sjtug.sjtu.edu.cn/alpine/v3.16/main
http://mirrors.sjtug.sjtu.edu.cn/alpine/v3.16/community
http://mirrors.sjtug.sjtu.edu.cn/alpine/edge/main
http://mirrors.sjtug.sjtu.edu.cn/alpine/edge/community
http://mirrors.sjtug.sjtu.edu.cn/alpine/edge/testing
替换源地址后,更新一下
sudo apk update
sudo apk upgrade -a
4.安装Bash并设为默认终端
PostmarkOS默认的Bash为ash,为了更好的使用选择更熟悉的Bash作为默认终端
root:x:0:0:root:/root:/bin/ash
↓
root:x:0:0:root:/root:/bin/bash
user:x:10000:10000:Linux User,,,:/home/user:/bin/ash
↓
user:x:10000:10000:Linux User,,,:/home/user:/bin/bash
5.安装docker到32G扩展储存卡上。
给旧手机安装linux,主要目的就是利用docker来运行各种容器应用。
5.1 SD卡硬盘格式化
先将SD卡插到Ubuntu电脑,将SD卡格式化为ext4.。再插回红米手机插槽。
mke2fs -t ext4 /dev/sda1
使用df -h命令查看SD卡磁盘,postmarketOS已经自动挂载。
5.2安装docker
sudo apk add docker #安装docker
sudo service docker start #启动docker服务
sudo rc-update add docker default #设置docker为自启动
5.3 迁移Docker存储
• 暂停 Docker
sudo service docker stop
• 移动 Docker 存储数据
• 创建新的链接
ln -s /run/media/user/feecf391-4c76-4195-b470-218313dbc2d4/tmp/docker /var/lib/docker
• 重启 Docker
sudo service docker start
备注2:postmarketOS中的docker可能会因为防火墙的原因导致docker的端口无法通过外部访问。
正确解决这个问题的手段是通过配置防火墙规则允许docker通信,但是省事的方法是鉴于手机服务器的用途,直接停用防火墙。
sudo service nftables stop
sudo rc-update del nftables
6.安装docker版zerotier组成虚拟局域网。
#安装docker版zerotier
docker run --name zerotier-one --device=/dev/net/tun --net=host \
--cap-add=NET_ADMIN --cap-add=SYS_ADMIN \
-v /run/media/user/feecf391-4c76-4195-b470-218313dbc2d4/tmp/zerotier-one:/var/lib/zerotier-one zyclonite/zerotier
#开启虚拟网卡,载入tun网络模块modprobe tun
lsmod | grep tun
#加入网络,使用此命令后要到zerotier官网设置允许加入的连接
docker exec zerotier-one zerotier-cli join db64858feda76a29
#查看信息
docker exec zerotier-one zerotier-cli info
docker exec zerotier-one zerotier-cli status
#查看网络状态
docker exec zerotier-one zerotier-cli listnetworks
参考链接:https://github.com/zyclonite/zerotier-docker
7.安装speedtest-x测速docker工具。
运行容器 docker run -d -p 9001:80 -it badapple9/speedtest-x
参考链接:https://hub.docker.com/r/badapple9/speedtest-x
在wifi连接下,测速则只有25兆左右。
8.支持USB连接电脑还可以直接共享电脑网络。
总结
当然PostmarketOS也有缺点,比如安装docker比较慢,关机麻烦(电源键关不了),以及安卓的经典2按键会失效(Liunx确实没这玩意)。
后续我还会刷个Modian系统,这个也是基于PostmarketOS的驱动完成的项目。
参考资料:
[Linux] 红米2 安装 postmarketOS(基于 Alpine Linux)及后续玩法
原文链接:https://blog.csdn.net/Franklins_Fan/article/details/125588287
红米2刷PostmarketOS打造ARM服务器(完全篇)
https://post.smzdm.com/p/aqm8ov77/
捡垃圾 篇二:红米2安装PostmarketOS体验原生Linux
https://post.smzdm.com/p/aox8w99r/
原创性声明:
1.请支持原创文章。
2.转载需要在文章开头或结尾注明来源信息:头条号PVE虚拟NAS专家。
3.若发现未经授权转载者,一律举报。毕竟原创不易,感谢您对头条号PVE虚拟NAS专家的认可和理解。
4.如果文章对你有所帮助,请点个关注和喜欢,请多多支持!我们一起在学习过程中分享经验!