年初时购入了一个 ROCK 5B,折腾 Android 逆向分析,有了一些成果后,自己 DIY 了更好的逆向分析平台(ROCK 5B 已经卖掉了)。
整理文档时,翻出来当时的记录文档,论坛里也没有看到有相关的帖子,现在发出来希望对大家有帮助。
环境:官方 Ubuntu 20.04 镜像
懒得弄得话,可以直接用我以前构建的
https://bbs.kanxue.com/thread-277387.htm
参照 51bK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4K9h3E0A6i4K6u0W2M7X3q4V1P5r3q4Q4x3X3g2U0L8$3#2Q4x3V1k6d9L8$3y4C8y4g2)9J5c8X3N6#2K9h3c8W2i4K6u0r3j5Y4g2A6L8r3c8Q4x3X3c8C8k6i4u0F1k6h3I4Q4x3X3c8G2L8W2)9J5k6o6g2T1
完成:
检出 rock5b 的内核配置
进入配置 GUI
检查以下配置选项,没有勾选的就勾上。配置 menuconfig 中,按 '/' 键可以搜索。
懒得搞的话,可以打开 kernel 目录中的 .config 文件,将上面的配置粘贴进去。
保存配置退出配置界面后,设置为默认编译配置。
开始编译
构建完成后(rock5b 上约 20分钟),在 目录 ~/rk3588-sdk/out/packages 中会存在 内核 deb 包。
如果在构建过程自动重启,一般是电源功率过低,换个 45W 以上电源就好。
安装在上一步中生成的 deb 包
编辑文件 /boot/extlinux/extlinux.conf
设置默认启动内核
重启系统
三种镜像
用 myt 的镜像进行测试
其中 ~/android_data 目录如果不存在的话,需要自己手动创建,或者换到一个已存在的目录
-p 5501:5555 是在主机上映射 5501 为容器的 ADB 端口
Windows 可以使用 QtScrcpy 进行连接
349K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6T1j5i4u0J5P5g2)9J5k6s2u0S2L8W2)9J5c8W2q4@1f1$3y4J5j5%4m8&6
假设 ROCK 5B 的局域网地址是 192.168.1.13,ADB 命令窗口输入 connect 192.168.1.13:5501,执行。再双击连接即可。
理论上 RK3588 和 RK3588S 都适用,自己搞定内核就行。
由于容器是使用 privileged 特权模式启动的,就不要手贱在 adb shell 里面输入 reboot ,这会让主机也重启。
如果有坛友知道如何在非特权模式下启动,麻烦告知,谢谢。
$ sudo apt-get update
$ sudo apt-get install -y git device-tree-compiler libncurses5 libncurses5-dev build-essential libssl-dev mtools bc python dosfstools bison flex rsync u-boot-tools make
$ sudo apt-get update
$ sudo apt-get install -y git device-tree-compiler libncurses5 libncurses5-dev build-essential libssl-dev mtools bc python dosfstools bison flex rsync u-boot-tools make
$ mkdir ~/rk3588-sdk && cd ~/rk3588-sdk
$ git clone -b linux-5.10-gen-rkr3.4 https://github.com/radxa/kernel.git
$ git clone -b master https://github.com/radxa/rkbin.git
$ git clone -b debian https://github.com/radxa/build.git
$ mkdir ~/rk3588-sdk && cd ~/rk3588-sdk
$ git clone -b linux-5.10-gen-rkr3.4 https://github.com/radxa/kernel.git
$ git clone -b master https://github.com/radxa/rkbin.git
$ git clone -b debian https://github.com/radxa/build.git
cd ~/rk3588-sdk
cd kernel
make rockchip_linux_defconfig
cd ~/rk3588-sdk
cd kernel
make rockchip_linux_defconfig
make menuconfig
CONFIG_DMABUF_HEAPS=y
CONFIG_DMABUF_HEAPS_SYSTEM=y
CONFIG_STAGING=y
CONFIG_ASHMEM=y
CONFIG_ANDROID=y
CONFIG_ANDROID_BINDER_IPC=y
CONFIG_ANDROID_BINDERFS=y
CONFIG_ANDROID_BINDER_DEVICES="binder,hwbinder,vndbinder"
CONFIG_PSI=y
CONFIG_FUSE_FS=y
CONFIG_ROCKCHIP_EFUSE=y
CONFIG_COMPAT=y
CONFIG_COMPAT_32BIT_TIME=y
CONFIG_ARM64_4K_PAGES=y
CONFIG_DMABUF_HEAPS=y
CONFIG_DMABUF_HEAPS_SYSTEM=y
CONFIG_STAGING=y
CONFIG_ASHMEM=y
CONFIG_ANDROID=y
CONFIG_ANDROID_BINDER_IPC=y
CONFIG_ANDROID_BINDERFS=y
CONFIG_ANDROID_BINDER_DEVICES="binder,hwbinder,vndbinder"
CONFIG_PSI=y
CONFIG_FUSE_FS=y
CONFIG_ROCKCHIP_EFUSE=y
CONFIG_COMPAT=y
CONFIG_COMPAT_32BIT_TIME=y
CONFIG_ARM64_4K_PAGES=y
make savedefconfig
cp defconfig arch/arm64/configs/rockchip_linux_defconfig
make savedefconfig
cp defconfig arch/arm64/configs/rockchip_linux_defconfig
[培训]传播安全知识、拓宽行业人脉——看雪讲师团队等你加入!