给安卓手机刷linux系统
作者:PVE虚拟NAS玩家
继上次完成小米6体验Ubuntu Touch原生Linux系统之后,现在想用红米2来体验postmarketOS原生Linux系统。postmarketOS基于Alpine Linux,将真正的Linux系统装到Android手机,类似Ubuntu touch,不是chroot也不是proot更不是Android,就是纯Linux。PostmarketOS基于AlpineLinux,支持的旧手机型号比较多。作为原生的完整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挺多个设备名。 标配(官方4.4) 2014811、2014812。增强(官方5.1) wt86047(移动)、wt88047(联通&电信)。对于标准版 下载连接中对应的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文件
建议安装最新版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 userdata20220720-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 #开启SSHServer 服务
sudo rc-update add sshd # 开机启动SSHD 服务
sudo vi /etc/ssh/sshd_config
3. 包管理器apk
postmarketOS使用apk作为包管理
换源前首先看一下PostmarketOS的AlpineLinux版本(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:LinuxUser,,,:/home/user:/bin/ash
user:x:10000:10000:LinuxUser,,,:/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
sudoservice 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-onezyclonite/zerotier
#开启虚拟网卡,载入tun网络模块
modprobe tun
lsmod | grep tun
#加入网络,使用此命令后要到zerotier官网设置允许加入的连接
docker exec zerotier-one zerotier-cli joindb64858feda76a29
#查看信息
docker exec zerotier-one zerotier-cli info
docker exec zerotier-one zerotier-clistatus
#查看网络状态
docker exec zerotier-one zerotier-cli listnetworks
7.安装speedtest-x测速docker工具。
运行容器 docker run -d -p 9001:80 -itbadapple9/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.如果文章对你有所帮助,请点个关注和喜欢,请多多支持!我们一起在学习过程中分享经验!
简疫食2420Android手机是否可以刷Linux系统? -
谷逃壮17136456478 ______ 你说的是火狐?可以刷去xda论坛下载刷机包
简疫食2420安卓手机可以直接安装Linux系统吗!Ubuntu之类的. -
谷逃壮17136456478 ______ 不能.Android虽说是在linux的基础上二次开发,但是适配工作各家是不一样,特定的系统只能装在特定的机型上
简疫食2420什么安卓手机都可以刷linux系统吗 -
谷逃壮17136456478 ______ 不锁bootloader的android手机都可以.锁了的当然也可以,只不过要破解比较麻烦
简疫食2420能把手机刷成Linux吗 -
谷逃壮17136456478 ______ 您好,三星官网没有提供刷机软件.由于刷机存在风险,如因自行刷机后导致的手机问题,还有可能会影响包修,因此我们不建议您自行刷机.若手机因系统故障无法正常使用或自行刷机后导致手机出现问题,建议您将机器送到三星售后服务中心,由工程师帮助检查处理.
简疫食2420Linux系统与Android系统的异同点?
谷逃壮17136456478 ______ 安卓用的是LINUX的内核,利用LINUX的几个库,应用层运行JAVA虚拟机上.这点和iPhone很想,只不过,iphone是基于unix系统,是微内核结构,同样运行在java虚拟机上.所以,安卓只是一个linux的衍生系统,是LINUX的系统的二次开发.
简疫食2420如何使手机变砖,我想直接 装个linux 系统行吗 -
谷逃壮17136456478 ______ =_=变砖只需乱刷机就行了,很简单... 安卓手机可以安装Linux的美化优化版Ubuntu移动版,自己百度GoogleBing
简疫食2420linux系统的手机可以刷其它系统吗..手机型号是三星i6410
谷逃壮17136456478 ______ 可以肯定的告诉你,不可以的.手机的硬件架构不同于个人电脑架构,不过一个通用的架构.每个厂商都针对自己手机系统来设计硬件,驱动等都是定制.内核一般都是封闭,对自己的操作系统都采用加密的方法.除非厂家自身提供的升级.所以跨厂家和跨手机型号升级几乎是不可能.也没有必要和价值
简疫食2420android 能不能安装 linux 软件 -
谷逃壮17136456478 ______ 理论上行,不过安卓只提供了linux内核,想安装复杂一点的软件那你相当于要在只拥有一个内核的条件下自己做出来一个linux发行版,难度相当大.安卓上已经有几个简单的linux软件,比如tar.你可以在安卓终端上利用tar来打包压缩解压缩文件,我试过随便下载个linux的tar.gz结尾的安装包,可以解压安装包,但是不能安装,因为安装依赖的make命令机子上没有,就算有,安装程序也得支持你的内核.所以除非是高手,不然很难实现~
简疫食2420linux中怎么刷机啊,网上看到现在都是不靠谱的,来个靠谱的. -
谷逃壮17136456478 ______ 你是指的是重装系统吧,把操作系统的镜像刻录到光盘中,开机从光盘启动,装机的时候比较简单,但是要注意分区的问题,Linux要给跟分区,swap分区和boot分区.
简疫食2420现有的安卓手机可以直接安装ubuntu手机版操作系统吗?
谷逃壮17136456478 ______ 安卓手机的机型很多,而且各个型号都有自各的系统,不能乱装,安卓手机好像没有公共的系统吧,我不敢说以后不可能,但至少现在是不可能的,即使可能也就是市面上小于0.1%的机子可用,等成熟了商家会根据每个手机的型号开发出适合它的UBUNTU系统