百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

红米2刷postmarketOS体验原生Linux「 手机刷LINUX系列」

ahcoder 2025-02-24 14:54 19 浏览

继上次完成小米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.如果文章对你有所帮助,请点个关注和喜欢,请多多支持!我们一起在学习过程中分享经验!

相关推荐

Linux ntp时钟同步问题(linux ntp同步命令)

有时候,操作系统会报linux的ntp时钟错误。从时钟源同步时间超时。我查看了一下ntp的时钟源,发现执行ntpq-p显示超时。执行nslookup时钟服务器域名,发现可以正常解析。执行了n...

linux服务器同步利器Rsync全介绍(付脚本)

1、认识Rsync(remotesynchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。Rsync使用所谓的“Rsync算法”来使本地和远程两个主机之间的文件...

如何使用Rsync同步两个网站服务器的内容

本头条号每天坚持更新原创干货技术文章,欢迎关注本头条号"Linux学习教程",公众号名称“Linux入门学习教程"。如需学习视频,请复制以下信息到手机浏览器或电脑浏览器上:zc...

Linux TB级小文件同步备份解决方案

在某些电子档案存储的业务系统下,按照业务场景要求,需要将产生的所有电子影像资料永久存储,并支持备份;因为“钞能力”等原因,一般备份存储只有一个节点(即:一个备份存储服务器);这样就要求研发工程师,不...

CentOS7下使用Lsyncd实现文件实时同步

Lsyncd简单介绍Lsyncd使用文件系统事件接口(inotify或fsevents)来监视本地文件和目录的更改。Lsyncd在几秒钟内将这些文件事件整理核对后,然后生成一个或多个进程以将更...

如何手动同步Linux系统时间并与互联网时间保持同步?

在Linux系统中,正确的时间同步对于许多任务都是至关重要的。一些关键应用程序可能需要准确的时间戳才能正常工作,而一些安全功能也需要确保所有服务器的时间都是准确的。NTP服务可以自动同步系统时间和互...

Linux服务器Rsync定时同步一键化配置指南

1、主从服务器同时安装rsyncopenssh-clientaptupdate&&aptinstall-yrsyncopenssh-client2、主服务器安装好后输入以下命令生成密钥...

Linux系统如何使用NTPDATE命令设置时间同步

简介:咱们在使用Linux系统的时候,常常能发现用了一阵子之后,Linux系统的时间就对不上了。已经知道的情况是,安装Linux的时候选的时区是Asia/Shanghai,可这系统运行了一...

开源的Linux文件同步工具有哪些?(linux 文件夹 同步)

Linux系统之间经常需要文件同步,一个好的文件同步工具省时省力,这里介绍几款开源的Linux文件同步工具1.rsync:rsync是Linux上一个功能强大的命令行工具,可以在不同的服务器之间同...

Linux 系统使用 rsync + inotify 实现文件实时同步

Linux系统使用rsync+inotify实现文件实时同步简介inotify监控文件的变化后通知rsync进行文件的同步#配置免密登录ssh-keygen-trsaca...

Linux 远程数据同步工具详解(linux远程同步命令)

一、简介1认识Rsync(remotesynchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。Rsync使用所谓的“Rsync算法”来使本地和远程两个主机之...

构建基于 Linux 的 NTP 时间同步集群与时间安全防护实战指南

一、为什么时间同步对系统如此重要?在分布式系统、数据库复制、消息队列、审计日志、安全认证(如Kerberos)、容器编排等场景中,系统时间一致性是保障正确性与安全性的基础。一旦服务器间时间漂移,可能...

每日Linux学习:同步备份工具 rsync

rsync是一个用于高效同步文件和目录的工具。它通过仅传输变化的部分(增量传输)来节省时间和带宽,支持本地同步、远程同步(通过SSH),还能保留文件原有权限、时间戳等属性。本文通过几个常用的实例来...

Chromixium OS 1.0发布 基于Ubuntu发行版

Chromixium项目宣布chromixiumOS1发布,一款基于Ubuntu的Linux分支,chromixiumOS试图重新打造一款外观和感觉与ChromeOS相似的完...

iOS8.0.X~iOS8.1完美越狱!盘古团队出品

【巴士速递·移动情报站】最新消息,iOS8.1越狱了!!此次越狱依旧是iOS7时代我国的大神盘古团队带来的,而该次越狱支持最新的iPhone6、iPhone6Plus、iPadAir2和iPad...