树莓派4B/2W,烧写SD卡刷入Android系统「详解」

原创 橙留香Park 2022-10-03 00:48

也许每个人出生的时候都以为这世界都是为他一个人而存在的,当他发现自己错的时候,他便开始长大

少走了弯路,也就错过了风景,无论如何,感谢经历


本篇文章遇到排版混乱的地方,可点击文末阅读原文或前往该地址:https://orangey.blog.csdn.net/article/details/125499978

更多关于Android安全的知识,可前往:https://blog.csdn.net/ananasorangey/category11955914.html



0x01 前言

网上购置树莓派,现在芯片稀缺,树莓派的价格也涨了,而且不一定会有货能购置上,看运气

这里主要以4B刷入Android 系统为主,两者刷入Android系统没有区别,下载对应支持树莓派版本的Android系统即可

0x02 Raspberry Pi Imager 烧写Android

树莓派刷入Android的工具(下面任选其一,此处博主同学选择Raspberry Pi Imager):

  • Raspberry Pi Imager

https://www.raspberrypi.com/software/

  • balenaEtcher

https://www.balena.io/etcher/

  

2.1 Raspberry Pi Imager 刷入Android系统步骤

  • 记住,切记,一定要将SD卡格式化为FAT32格式,利用Raspberry Pi Imager 工具,选择好存储卡后——》擦除【格式化为FAT32格式】——》烧录,等待结束后即格式内存卡为FAT32格式

 

  • 格式化完毕后,选择镜像刚刚下载好的Android 10的镜像【lineage-17.1-20210122-UNOFFICIAL-KonstaKANG-rpi4.zip】

不用解压,直接添加该文件即可

添加img镜像后,点击烧录,慢慢等待烧录完成即可

 

  • 第一次在Raspberry Pi上启动LineageOS时,看到以下屏幕。点击右下角的 “Next >”按钮,开始初始化

  • 接下来会提示该版本禁止商业用途直接确定,在下一个屏幕上,选择Android设备使用的语言【root之前请选择英文】。可以使用屏幕中间的选项来选择您要使用的语言请点击 “NEXT >”按钮

  • 现在使用屏幕左侧的下拉框设置设备的时区(1.也可以使用此设置来控制当前的日期和时间。设置好时区后,可以点击 “NEXT >”按钮进行设置

  • 如果没有使用以太网连接,下一个屏幕是设置连接到Wi-Fi。Raspberry Pi应该已经扫描了可用的Wi-Fi网络,点击要连接的网络。连接后,可以点击 “NEXT “按钮继续

  • 现在可以禁用或启用LineageOS的一些功能。其中一些功能包括隐私保护,可以阻止应用程序在未经批准的情况下读取你的联系人、信息或通话记录。设置好之后,请点击 “Next >”按钮继续进行设置

  • 最后一个设置页面为的Raspberry Pi支持的Android设备设置PIN、模式或密码。请注意,如果打算安装谷歌应用,建议直接跳到下一步。否则,如果想设置锁屏,请点击 “设置 “按钮,如果不想设置密码,请点击 “SKIP >”按钮

在树莓派上完成Android设置,点击右下角的 “SKIP >”按钮【此处不想设置密码,直接点击“SKIP”按钮】

  • 最终,进入android桌面,点击“START”按钮

开启开发者设置(此处root用,只需要开启本地终端,su 一下即可root)

  • 在安卓设备的桌面上,点击 “设置 “应用

  • 向下滚动到底部,找到 “关于平板电脑 “选项并点击

  • 在这个设置页面中,向下滚动到底部,直到看到 “Build Number “的文字。连续点击该栏,会弹出一条信息,通知你 “你已经启用了开发设置!”。应该只需要5次点击就可以启用设置。完成后,点击返回按钮,返回到设置页面

  • 再次向下滚动到底部,打开 “系统 “设置页面

  • 请点击本页底部的 “高级 “切换

  • 滚动到底部,这里有 “Advanced settings(树莓派进阶设置)”,然后点击它【里面有许多针对树莓派的有用设置】

  • 回到上一栏,然后滚动到底部,找到 “开发者选项”,并点击它

  • 有两个不同的选项,我们需要在这个页面中进行配置。首先,向下滚动,直到你看到 “Root access”,然后点击它

  • 在弹窗中,我们需要同时启用 “Apps和ADB “的root权限。点击相应的选项进行操作【好像新版少了让选择“Apps和ADB “的root权限,直接跳转到确认是否开启root权限的确认框】,最后,会被警告关于在你的Android设备上启用root权限可能带来的影响。需要root权限,点击 “确定 “按钮

  • 开启Android debugging开关选项

  • 开启Rooted debugging开关选项

  • 接下来,需要下拉到 “本地终端 “选项,点击切换

  • 为了让本地终端出现,需要使用Android界面重启我们的Raspberry Pi。要调出电源选项菜单,您需要按键盘上的F5键。进入电源菜单后,点击 “重新启动 “按钮

2.2 刷入Google 服务【可选】

  • 打开浏览器,进入KonstaKANG官网:konstakang.com后,右边菜单栏选择Raspberry Pi 4并进入

 

  • 进入到Android 10 后,找到resize patch 直接下载

 

  • resize 安装成功后,会在16GB以上SD卡释放所有空间

 

  • 回到官网继续找到open-gapps 进行下载ARM 10.0 pico

  

  • 稍后需要进入TWRP安装Google服务,接下来进入Files 文件管理工具安装刚刚下载的两个文件

将右边两个文件,拖到Raspberry Pi 4中

  • 完成copy后可以进行安装了,接下来回到主页长按F5键进入TWRP模式,然后选择Restart—>Recovery

  • 自动重启后进入teamwin 界面

 

  • 向右滑动按钮,进入下一步,完成后Wipe Dalvik通用选择Swipe to Wipe

  

  • 此处不要选择重启系统,返回到主页选择右上角的Wipe选项后,一样向右扫动

   

  • 第二次回到主页选择左边的Mount,然后勾选Boot和System

  • 回到主页按下Install后选择resize,并勾选Reboot after installation is complete

  

  • 最后自动重启后,完成Google Services的安装,并手动设置系统语言

  

  • 到Play商店安装Google Home及Google助理,只需配合USB Mic就能使用Googel语音服务

2.3 解决Wi-Fi连接问题

每次使用原生安卓,基本上都会碰到这个问题,因为这个WIFI可用性的测试点用的是Google的,但是Google因为一些原因被屏蔽了,所以无法访问测试点,导致显示网络连接受限,只要输入下面4行命令即可

本地终端中输入下面的命令

 

/删除旧的监测点
adb shell settings delete global captive_portal_https_url
adb shell settings delete global captive_portal_http_url

//添加新的监测点(小米源
adb shell settings put global captive_portal_https_url https://connect.rom.miui.com/generate_204
adb shell settings put global captive_portal_http_url http://connect.rom.miui.com/generate_204

因为时间同步的服务器也是在国外的,所以也需要将其修改为国内NTP服务器,只需要在adb中输入以下内容即可

//设置中国时区
adb shell setprop persist.sys.timezone Asia/Shanghai

//设置NTP服务器
adb shell settings put global ntp_server ntp1.aliyun.com

// 重启一下Android 设备
reboot

  • 开启网络adb

开发者选项开启adb调试、root身份调试、网络调试(开启网络ADB调试后会出现IP和锻炼,比如:192.168.2.2:5555),接下来还需要在本地终端中配置好网络adb调试的参数,才能用网络adb进行调试,如下:

su
setprop service.adb.tcp.port 5555
stop adbd
start adbd

电脑上执行如下命令:

adb connect 192.168.30.122:5555
adb shell ps

  • 安装输入法,直接安装搜狗输入法,官网下载Android 版本即可

https://shouji.sogou.com/

烧录过程中,会有一些常见的问题,这里汇总一下:

  • 在烧写完毕后,有可能会出现多个U盘分区的现象,然后会弹出要求格式化磁盘,此时不要去格式化磁盘,点击【取消】,接着将烧写好的SD卡拔出放到树莓派上,接上电源启动即可

    • 当然也有在烧写好后,就算点击【取消】格式化,接上电源还是不行,此时请删除SD卡的所有分区并归为一个分区以及格式化为FAT32格式,最后再次进行烧录即可

  • 烧写好SD卡插入树莓派,启动电源后提示【start4.elf: is not compatible】的错误,这里的解决办法是去下面的github 链接中,将将该start-*.elf与fixup-*.dat文件一同替换。即如果提示start4.elf不可用,则将系统的boot盘中的start4.elf与fixup4.dat用下载的最新固件包中的相同文件替换即可

    • start.elf是基本固件,start_x.elf包括相机驱动程序和编解码器,start_db.elf是固件的调试版本,start_cd.elf是简化版本,不支持编解码器和3D之类的硬件模块,并且在gpu_mem=16中指定时使用config.txt

    • start4.elf,start4x.elf,start4cd.elf,和start4db.elf是树莓派4的固件文件

    • fixup* .dat 这些是链接器文件,与 start*.elf的文件配对

    • 树莓派最新固件包下载:https://github.com/raspberrypi/rpi-firmware

    • 下载的固件包中包含很多文件,其中boot路径下为需要的部分

    • 如果使用SD卡加载文件,只需利用读卡器读取SD卡,进入boot盘中,将固件替换为最新的内容即可

start4.elf: is not compatible
This board requires newer software

依次将start-*.elf与fixup-*.dat搜索出来,替换到SD卡的boot盘中

再次插上SD卡即可解决start4.elf: is not compatible的错误,并正常启动Android 系统

参考链接

https://blog.csdn.net/JifengZ9/article/details/124314080

http://kch8.top/tags/树莓派/


你以为你有很多路可以选择,其实你只有一条路可以走



橙留香Park 橙留香来自一位三流剑客之乡,担任威胁猎手,脑子不会转弯,属于安全特学脑。橙留香同学[小菜鸟],定期分享从零入门车联网安全(包括基础知识储备)技术。只为你呈现有价值的信息,专注于车联网安全领域之Android终端反入侵技术研究。
评论 (0)
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦