数码之家

 找回密码
 立即注册
搜索
查看: 1005|回复: 25

随身Wifi棒MSM8909芯片组(高通骁龙210)安卓系统root魔改加安装Linux

[复制链接]
发表于 2024-5-23 01:39:07 | 显示全部楼层 |阅读模式
本帖最后由 琪露诺 于 2024-5-23 23:27 编辑

朋友也是垃圾佬,送我了一个随身Wifi棒,拆解之后入下图所示:


板子上面显示版本是UFI-1_MAIN_V1.5,这东西网上找不到一丁点资料,发现屏蔽罩打开之后,芯片组是MDM8909,应该是高通骁龙210的。

把棒子直接插入带电脑,打开adb,可以通过
  1. adb shell cat /proc/meminfo
复制代码
确定内存大致为512mb,
  1. adb shell df
复制代码
显示储存大概是4G的样子,用户空间有1G出头的空余,还算是有点玩的余地。本身自带的系统是安卓5.1.1,网上目前没有高版本的安卓刷机包,也没有Linux类(Debian、OpenWrt等)等的,于是只能走Linuxdeploy那种chroot安装Linux发行版的路线。

下面介绍如何对这个Wifi棒进行root然后在Linuxdeploy的容器中安装Linux(Debian 10 Buster)的过程。
需要的Windows软件列表如下:
1. Miko pro,用于全flash备份以及救砖。
2. vivo的9008驱动。
3. scrcpy,用于投屏到PC。
4. adb,用于执行各种命令。软件1和3应该包含了。
5. fastboot,软件1包含了,在`C:\Program Files (x86)\miko_service_tool_pro\miko_service_tool_pro\adb`里。

软件1与2可以在下面这些个地方下载到:
1. https://mega.nz/folder/7LQw0axA#D1RAyf-bgwMBRICBSIiswg
2. 【123pan,密码5835】:https://wwra.lanzouf.com/b041ypumh
3. 【蓝凑网,密码:gao】https://www.123pan.com/s/m9vDVv-LTWyh

需要的安卓软件列表如下:
1. Magisk 25.2,用于root。必须使用25.2版本,因为再高版本的Magisk需要至少安卓6。
2. CX file explorer,一个文件管理器,用途是给Magisk提供文件选择框,不然选择不了文件。
3. Linuxdeploy,用于安装带root的Linux容器
4. Light Android Launcher,用于替代原本没啥用的wifihotspot作为新的launcher。

投屏准备工作
把棒子直接插入PC,之后运行
  1. adb devices
复制代码
看看能不能找到设备。如果可以的话继续运行如下代码把棒子那不存在的屏幕的分表率调高点:
  1. adb shell wm size 1280x720
复制代码

不然待会儿投屏了要瞎眼 。如果没有返回错误那么就可以用scrcpy投屏了。scrcpy的使用方法是直接双击,之后会出现一个窗口显示棒子的画面:

你会发现这东西居然没桌面(launcher)!别慌,现在科普下scrcpy的具体用法:
1. 按左alt+b或者鼠标右键是返回。
2. 按左alt+h或者鼠标中键是home。
3. 按左alt+s可以切换app。
4. 需要输入文字时,在pc的记事本之类的地方打好并ctrl+c,之后在srccpy里按左alt+v,然后长按需要填写的地方并选择粘贴即可。

全盘备份
在折腾之前线来一次全盘备份,这样变砖了也能救回来。首先需要安装Miko pro和9008驱动在PC上,然后在插入棒子的情况下执行如下命令来进入fastboot模式:
  1. adb reboot bootloader
复制代码
等待设备管理器出现9008这种串口之后,打开Miko pro,在Read选项卡中选择Partition Backup/Erase,然后直接点Read Full Image。选择保存位置之后等待即可。软件大概长这样,下面图是我盗别人的图,懒得截图了,不过大概信息是长这样的:


等备份完毕之后,可以拔掉棒子等5秒再插入,这样可以再次进入原来的安卓系统。
如果以后需要救砖,则需要使用Flash选项卡中的emmc block0 flasher,选择的镜像就是刚才备份的那个。备份出来的镜像包含bootloader,系统分区,用户数据,基带等一切信息。
使用Magisk进行root的话也会需要boot分区的镜像的,因此这一步必不可少。

获取Root权限
下面讲解如何获取Root权限。
首先使用adb一次性安装Magisk和CX file explorer,可使用
  1. adb install apk文件全路径
复制代码
来进行安装。可以先打adb install然后再把apk拖到cmd窗口里来补全命令。装完之后可以用如下命令查看已安装的第三方软件:
  1. adb shell pm list packages -3
复制代码
然后需要打开Magisk App并选择Magisk图标边上的Install按钮,不需要勾选任何额外选项,直接选择下载文件夹里那个xx.boot.img即可。因为没有Launcher,所以打开Magisk App也需要adb来进行:
  1. adb shell monkey -p com.topjohnwu.magisk -c android.intent.category.LAUNCHER 1
复制代码
在耐心等待Magisk处理xx.boot.img之后,其会在下载文件夹里生成一个破解过的img文件,我们需要把它转移回电脑里,同样使用adb:
  1. adb pull /sdcard/Download/magisk_patched-25200_u5MOx.img
复制代码
接下来我们只需要把这个img刷入boot分区即可完成root。首先需要再次进入fastboot模式,确认下Wifi棒子是否在fastboot模式以及其是否为唯一连接到PC的fastboot设备:
  1. fastboot devices
复制代码
随后在pc上使用fastboot进行boot分区烧写:
  1. fastboot flash boot 在PC上到magisk_patched-25200_u5MOx.img的完整路径
复制代码
耐心等待完成后,重启进入安卓系统:
  1. fastboot reboot
复制代码
可以不停尝试运行scrcpy来确认是否进入安卓系统,如果超过1分钟还没有反应,则可以重新插拔一下。再不行就得救砖了,参考上面步骤。若能成功进入安卓,则此时已获得Root权限。
有一点比较意外的是,此时Magisk App再也打不开了,会卡那个面具logo。不过这并不影响我们使用root,比如在CX File Explorer里我们可以看见系统分区的文件:
  1. adb shell monkey -p com.cxinventor.file.explorer -c android.intent.category.LAUNCHER 1
复制代码


连接Wifi
首先使用adb打开Wifi设置:
  1. adb shell am start -a android.settings.WLAN_SETTINGS
复制代码

在这里面可以开启Wifi并且选择热点进行连接。值得注意的是每次开机之后默认都是热点模式,可能需要删掉自带的那个热点App才能做到开机自动连接Wifi网络。这里我选择禁用而不是删除它,因为是系统app,所以需要su之后才能禁用:
  1. root@msm8909:/ $ pm disable-user --user 0 com.smartship.wifihotspot
复制代码

直接禁用之后开机scrcpy会卡logo,设为自动运行的App也不会运行。为了解决这个问题,我们必须安装另一个launcher应用。
这里可以任意选择支持安卓5.1.1的launcher应用,可以使用hzy3774大佬自己写的launcher,也可以使用开源但是已经停止维护的Light Android Launcher。停止维护与否无所谓,因为我们后面也不太会用到它了,但是它必须得有,所以资源占用低才是关键。
使用root权限运行如下命令可以进行launcher的选择:
  1. root@msm8909:/ $ am start -a android.intent.action.MAIN
复制代码


安装Linux容器
首先使用`adb install`命令安装Linuxdeploy,方法与上面类似。这个软件需要root,因为没法使用Magisk App,我们只能在adb shell中手动修改Magisk的配置文件以确保Linuxdeploy任何时候都有root权限。首先在cmd里执行
  1. adb shell
复制代码
这时会拿到一个棒子那边的shell,运行的命令都会在棒子上执行。首先我们进入root的shell,后面的命令都需要超级用户权限:
  1. shell<span id="kM0.20287436967899186">@</span>msm8909:/ $ su
复制代码
执行上面的命令之后,需要手动在scrcpy里点一下Grant来批准超级用户权限。随后我们需要确定下Linuxdeploy的用户id即uid(每次安装uid都可能不一样,所以不要直接复制我这里的示例命令):
  1. root@msm8909:/ $ cat /data/system/packages.list | grep linuxdeploy
复制代码
其中的10025即为Linuxdeploy的uid。随后我们需要修改magisk的配置文件:
  1. root@msm8909:/ $ magisk --sqlite 'REPLACE INTO policies (uid,policy,until,logging,notification) values(10025,2,0,1,1);'
复制代码
其中的2表示任何时候都允许uid=10025对应的app的超级用户权限请求。随后使用如下命令可以查看所有的Magisk规则:
  1. root@msm8909:/ $ magisk --sqlite 'select * from policies ;'
复制代码
为了之后不需要每次在shell里su都需要点scrcpy里的Grant,我们可以对shell进行同样操作(下面例子里其uid为2000):
  1. root@msm8909:/ $ cat /data/system/packages.list | grep com.android.shell
  2. com.android.shell 2000 0 /data/data/com.android.shell platform 3002,1028,1015,1023,3008
复制代码
现在使用如下adb命令打开Linuxdeploy:
  1. adb shell monkey -p ru.meefik.linuxdeploy -c android.intent.category.LAUNCHER 1
复制代码
随后按照Linuxdeploy标准用法安装Linux容器即可。这里推荐Linuxdeploy设置里开启开机自启。推荐使用Debian 10 Buster,因为Linuxdeploy提供的其他Debian都太老了。如果是高手也可以选择其他发行版。安装的时候架构记得选armhf,国内安装慢的话可以换国内的Debian repo源。镜像大小推荐512MB到768MB之间,分区格式选ext4,推荐开启ssh服务器。其他设置不太用动。设置好之后记得点配置按钮。

我使用了512MB的镜像文件大小,安装好后ssh进去可以看到资源占用情况如下:
  1. root@localhost:~# df -h
  2. Filesystem        Size  Used Avail Use% Mounted on
  3. /dev/block/loop0  488M  373M   80M  83% /
  4. tmpfs             192M   60K  192M   1% /dev
  5. tmpfs             198M     0  198M   0% /dev/shm
  6. root@localhost:~# free -h
  7.               total        used        free      shared  buff/cache   available
  8. Mem:          394Mi       241Mi       6.0Mi       0.0Ki       146Mi       142Mi
  9. Swap:         511Mi        50Mi       461Mi
复制代码


参考:
1. http://www.360doc6.net/wxarticlenew/1116290012.html
2. https://xdaforums.com/t/root-guide-install-root-without-recovery-adb-fastboot-magisk.4448933/
3. https://blog.csdn.net/github_38345754/article/details/125825636
4. https://topjohnwu.github.io/Magisk/install.html
5. https://xdaforums.com/t/how-to-enable-root-access-using-magisk-in-a-script.4527035/

额外推荐:
1. https://www.mydigit.cn/thread-294394-1-1.html
2. https://cloud.189.cn/web/share?code=IfmyemmeemQn
3. https://www.bilibili.com/video/BV1yP4y1w7zp/?vd_source=4efedd6d33271ad484f96d40f3704d8f


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

打赏

参与人数 2家元 +100 收起 理由
不长叶子的树 + 30
家睦 + 70

查看全部打赏

本帖被以下淘专辑推荐:

发表于 2024-5-23 10:16:06 | 显示全部楼层
谢谢分享~学习了
回复 支持 反对

使用道具 举报

发表于 2024-5-23 10:21:34 | 显示全部楼层
教程很全面,前两年我也撸了几个410的随身wifi,一直没来得及研究呢
回复 支持 反对

使用道具 举报

发表于 2024-5-23 10:54:33 | 显示全部楼层
还能这样玩啊
回复 支持 反对

使用道具 举报

发表于 2024-5-23 11:45:44 | 显示全部楼层
我有个红米手机变砖了,但是连接电脑能显示mtk设备,能用这个方法导出数据吗?
回复 支持 反对

使用道具 举报

发表于 2024-5-23 12:20:36 | 显示全部楼层
感谢楼主的精彩分享,满满的干货。收藏备用。
回复 支持 反对

使用道具 举报

发表于 2024-5-23 12:47:52 来自手机浏览器 | 显示全部楼层
不用的手机能够root,linuxdeploy还是有点意思。
回复 支持 反对

使用道具 举报

发表于 2024-5-23 13:12:05 | 显示全部楼层
感谢楼主分享干货哈
回复 支持 反对

使用道具 举报

发表于 2024-5-23 13:16:12 | 显示全部楼层
会玩啊...

=================
回复 支持 反对

使用道具 举报

发表于 2024-5-23 20:05:31 | 显示全部楼层
楼主高手,谢谢分享,学习了。
回复 支持 反对

使用道具 举报

发表于 2024-5-23 22:14:25 | 显示全部楼层
玩洋垃圾手机时常用9008刷机
回复 支持 反对

使用道具 举报

发表于 2024-5-25 13:13:32 | 显示全部楼层
这玩的很专业啊。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-5-25 20:09:56 | 显示全部楼层
tendycq 发表于 2024-5-23 11:45
我有个红米手机变砖了,但是连接电脑能显示mtk设备,能用这个方法导出数据吗? ...

应该是可以的,但是手机数据分区大概率是加密的,dump出来也解密不了
回复 支持 反对

使用道具 举报

发表于 2024-5-27 10:35:29 来自手机浏览器 | 显示全部楼层
mega 网盘,
国内下载不了,
为何不移至国内网盘,
方便坛友呢 !
回复 支持 反对

使用道具 举报

发表于 2024-5-27 11:23:03 | 显示全部楼层
强啊,这也能刷
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-5-27 12:48:35 | 显示全部楼层
rongwu 发表于 2024-5-27 10:35
mega 网盘,
国内下载不了,
为何不移至国内网盘,

试试另外俩,内容好像都是一样的,我没仔细看。我是从https://www.mydigit.cn/thread-294394-1-1.html这里面找的工具。
回复 支持 反对

使用道具 举报

发表于 2024-5-27 15:25:17 | 显示全部楼层
学习了,速度快不
回复 支持 反对

使用道具 举报

发表于 2024-5-27 15:27:27 | 显示全部楼层
这个办法可行
回复 支持 反对

使用道具 举报

发表于 2024-5-27 17:09:54 | 显示全部楼层
加热大吗?之前用过410发热很大
回复 支持 反对

使用道具 举报

发表于 2024-5-27 17:45:59 | 显示全部楼层
这个办法可行
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2024-6-13 19:34 , Processed in 0.296401 second(s), 15 queries , Redis On.

Powered by Discuz!

© 2006-2023 smzj.net

快速回复 返回顶部 返回列表