旧手机安装Linux系统记录

前言

有台旧手机屏幕漏液了,闲置没啥用,改造下安装为linux系统做学习机使用。

个人记录

相关信息
  • 设备 Redmi K40 PRO
  • Linux Deploy
  • Unbuntu 18.04 arm64

手机获取root权限

解BL锁

  1. 最近的MI系手机解BL锁都需要进开发者模式、使用小米账号插卡绑定设备等待7天解锁。
  2. 使用天玑处理器的部分手机或发布手机较久的手机可以使用UnLockTool碰碰运气,需要后缀带有Unlock BootLoader字样的才能暴力破解。
  3. 使用其他品牌手机的小伙伴可以去自行搜索教程。(建议酷安APP的教程区自取)。
  4. redmi k40 pro不可暴力破解,直接老实等7天。
  5. 下载小米官方解BL锁工具,链接USB线就可以解除BL锁了。
解锁后状态如下

请添加图片描述

刷入Magisk

这一步也是直接跟网上教程来的

参考教程 magisk中文网

大致流程如下


以下内容复制自 magisk中文网

  1. 小米解锁 BootloaderXiaomi-unlock
    如果你的手机不能解锁BL,推荐 光速虚拟机(不用解锁BL也可以体验ROOT)

  2. 下载系统包:rom(一定要下载和手机系统版本一致的系统包)

  3. 提取 boot.imgpayload-dumper-go-boot(如果系统包有 boot.img,可以跳过此步骤)

  4. 手机插电脑,文件传输模式,复制 boot.img 到手机 Download 目录

  5. 手机下载 Magisk APP 安装:Magisk-download

  6. 打开Magisk,①:安装 – ②:选择 boot.img – ③:开始修补文件 – ④:修补完成(修补生成 magisk_patched-xxx.img 文件在 Download 目录)

  7. 电脑下载 adb-fastboot蓝奏盘(解压出来)

  8. 手机插电脑,打开 文件传输 模式,打开 Download 目录,把 magisk.img 复制到电脑 adb-fastboot 目录

  9. 手机进入 Bootloader 模式,再插入电脑。(手机关机,电源键+音量下键,两个键长按)

  10. 打开“打开CMD命令行.bat”,输入下面的命令
    magisk.img每次修补的名字都不一样,使用的时候请输入生成的名字。

    fastboot flash boot 面具文件
    
  11. 显示下面这三行代码,就是成功刷入了。再使用指令 fastboot reboot 重启手机。

    Sending 'boot' (131072 KB)      OKAY [ 3.105s]
    Writing 'boot'                  OKAY [ 0.404s]
    Finished. Total time: 3.556s
    
  12. 重启手机(开机有震动基本没问题了)耐心等手机开机。(显示Magisk的版本,就是刷好了的)


刷入成功后显示

请添加图片描述

安装软件并部署系统

Linux Deploy APP安装

linux deploy 通过chroot的方式来执行linux系统,类似于Docker,所以在使用之前请确保你拥有了手机的ROOT权限

软件下载链接
  • 推荐 github release
  • google play商店直接搜索下载
  • 其他教程的链接

下载完成后正常安装就行

安装Ubuntu系统

流程

  1. 点击软件左上角设置
    1. 开启锁定WIFI (防止断网)
    2. 开启CPU唤醒 (防止停机)
    3. 开启调试模式 (展示日志)
  2. 回到软件主页,右下角设置配置
  3. 主页右上角,点击安装,耐心等待系统安装
  4. 安装成功后底部点击三角启动即可

请添加图片描述

镜像源

官网下载的地址通常由于网络问题下载较慢,推荐使用阿里镜像源

镜像地址,手机都是arm64(arrch 64)架构,注意不要下错,否则无法启动

  • Ubuntu安装源(ubuntu-releases):https://mirrors.aliyun.com/ubuntu-releases/
  • Ubuntu ARM源(ubuntu-ports): https://mirrors.aliyun.com/ubuntu-ports/
其他配置
  • 安装类型: 一般选镜像文件即可,有特殊需求可以选目录
  • 安装路径: 默认或选择自己熟悉的位置
  • 镜像大小: 20G够用, 也可以一步到位分配50G
  • 本地化: 选择中文zh_CN.UTF-8 或者选择英文(影响命令展示语言,选中文其实也没多大用)
  • 初始化系统: 勾选启用、 run-parts 和 sysv都行,推荐sysv
  • 挂载: 需要虚拟机访问系统外部的资源,建议开启用于共享文件
  • SSH: 开启,这东西不开还玩啥
我的配置如下

请添加图片描述

开始远程连接

获取手机的IP地址

  1. 确保手机和电脑在同一局域网下连接

  2. 登录路由器背面的管理地址

  3. 获取对应的IP地址

  4. 固定IP链接

    1. 我选择了mac与局域网绑定,测试了一周很稳定

      请添加图片描述

选择你喜欢的终端连接软件

直接SSH链接

请添加图片描述

可能遇到的问题
  1. 无法正常输入命令,没有代码补全

​ sh指令不对导致,修改文件即可

akon@localhost:~$ su root
root@localhost:/home/akon# vim /etc/passwd

#修改用户名哪一行为 /bin/bash即可 
akon:x:60000:60000::/home/akon:/bin/bash

安装java

jdk17 下载地址

下载地址

vim /etc/profile
# 修改环境变量,设置以下值,注意替换为对应地址

# Set JAVA_HOME
export JAVA_HOME=/work/pkg/jdk-17.0.12

# Set CLASSPATH
export CLASSPATH=.:$JAVA_HOME/lib/

# Add Java to PATH
export PATH=$PATH:$JAVA_HOME/bin

# 刷新配置
source /etc/profile

# 查看是否安装成功
akon@localhost:~$ java -version

java version "17.0.12" 2024-07-16 LTS
Java(TM) SE Runtime Environment (build 17.0.12+8-LTS-286)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.12+8-LTS-286, mixed mode, sharing)

安装Docker 不可行

由于linux deploy已经在chroot环境中运行了,无法套娃运行chroot,所以Docker在linux deploy中不可用,除非修改系统内核 😄

配置内网穿透

目前国内主流的内网穿透软件多用花生壳,由于没有找到花生壳arm架构的包,在这里介绍另一款内网穿透的工具

Ngork是一个全球分布的反向代理工具,它能够将本地服务器暴露到公共互联网,方便开发者进行测试和分享。ngrok通过在本地机器上建立一个隧道,将请求转发到本地服务,并将响应返回给外部用户,从而解决了传统内网穿透方式的复杂性和安全性问题‌。

ngrok下载地址

注意 不能使用QQ邮箱注册

#下载完成后解压对应的文件
sudo tar -xvzf ~/Downloads/ngrok-v3-stable-linux-arm64.tgz -C /usr/local/bin

#输入指令查看是否安装成功
akon@localhost:~$ ngrok -v
ngrok version 3.18.4

#在ngrok官网上注册账号并获取token
#token地址 https://dashboard.ngrok.com/get-started/your-authtoken
#配置你自己的token
ngrok config add-authtoken $YOUR_AUTHTOKEN

如果你只需要用到HTTP端口的内网穿透,此时已经可以使用了。

使用TCP服务

使用TCP服务需要绑定付款方式,不过不用担心,免费额度包含一个TCP的链接

绑定完账户就可以开启远程服务了

#常用指令如下

#暴露http 80端口
  ngrok http 80                                                 # secure public URL for port 80 web server
#暴露端口并绑定域名 需要付费
  ngrok http --url baz.ngrok.dev 8080                           # port 8080 available at baz.ngrok.dev
#暴露22端口
  ngrok tcp 22                                                  # tunnel arbitrary TCP traffic to port 22
#暴露端口并鉴权访问
  ngrok http 80 --oauth=google --oauth-allow-email=foo@foo.com  # secure your app with oauth
  
#展示结果
akon@localhost:~$ ngrok tcp 22

成功启动后会出现以下界面

ngrok成功启动界面

此时已经可以通过提供的地址tcp://0.tcp.ap.ngrok.io:13490在公网上进行连接了

由于是外部服务,延迟大概在200ms左右。所以建议在本地使用即可

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值