• [车联网安全自学篇] 二. IoT安全之树莓派4B/2W,烧写SD卡刷入Android 系统



    欢迎新同学的光临
    … …
    人若无名,便可专心练剑


    我不是一条咸鱼,而是一条死鱼啊!


    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

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

    //设置中国时区
    adb shell setprop persist.sys.timezone Asia/Shanghai
    
    //设置NTP服务器
    adb shell settings put global ntp_server ntp1.aliyun.com
    
    // 重启一下Android 设备
    reboot
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 开启网络adb

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

    su
    setprop service.adb.tcp.port 5555
    stop adbd
    start adbd
    
    • 1
    • 2
    • 3
    • 4

    电脑上执行如下命令:

    adb connect 192.168.30.122:5555
    adb shell ps
    
    • 1
    • 2

    在这里插入图片描述

    • 安装输入法,直接安装搜狗输入法,官网下载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
    
    • 1
    • 2

    在这里插入图片描述

    依次将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/%E6%A0%91%E8%8E%93%E6%B4%BE/


    我自横刀向天笑,去留肝胆两昆仑


  • 相关阅读:
    解决Mac上执行pip install -e turtle 报错
    测评瑞萨RZ/G2L存储读写速度与网络
    深度学习推荐系统架构、Sparrow RecSys项目及深度学习基础知识
    winform之在主窗体中不显示子窗体的菜单栏
    计算机网络安全技术与应用
    租用独立服务器有哪些常见的误区?
    深入浅出计算机组成原理01-冯·诺依曼体系结构
    LabVIEW前面板上的字体大小取决于操作系统
    3.3-DIY一个Base Image
    Direct3D中的绘制
  • 原文地址:https://blog.csdn.net/Ananas_Orangey/article/details/125499978