TN3399 rk3399自用说明记录

小白使用宝典,大神仅供参考。本记录只讲在Windows下的操作。

Android系统的使用过程

本片讲述Android系统的少些尝试。

必要工具

首先,我们参考用友(firefly)的RK3399开源板子操作:

  1. **开发工具传送门**需要下载其中驱动和Android工具。需要注意自己下载的是不是RK3399的工具。或者可以使用群里。
  2. 关于少些,Windows10系统安装驱动时最好先进入强制禁用驱动签名模式后再安装。
  3. 驱动安装好之后打开固件更新工具,win10以下最好以管理员权限打开。
  4. 将板子上电,miniUSB口用好一点的数据线连上电脑U口,使板子处于开机状态,即可以是进入默认系统界面的状态。这个时候按住recovery按键不放,再按下reset键并立马松开,三秒后再松开recovery按键,升级工具会显示进入loader模式。电脑设备管理器中能够看到一个rockxxx的设备。
  5. 关于按键定义左边单独那个朝上的就是recovery按键,右边靠近HDMI的按键是关机键,靠近USB的按键是reset键,相信喜欢尝试的朋友拿到板子也就试出来了。
  6. 以上4中说的是开机后进入loader模式的办法,也可以关机状态下进入loader模式。具体完全可以参考firefly的维基教程附上fireflyrk3399开源板的传送门
  7. 上面说的Windows10如果不进入禁用驱动签名模式安装驱动,会导致板子进入了loader模式,但是电脑识别不到。板子进入loader模式的情形是这样的,首先当你正常开机后HDMI链接的显示器是会有进入系统时的图像的,即Android界面。然后如果驱动安装失败,在这个开机的过程中会看到有提示发现一个ADB设备。如果按照4中所说,或者firefly中所说的方式进入loader状态,同样板子右边的两个灯会亮起,一个红灯和一个绿灯,并且连接的HDMI屏幕此时是没有输出。在进入这个状态前板子是也会出现RK339芯片的那个图标。
  8. 关于刷入,现在群里的安卓固件情况如下
  9. 首先目前能用的安卓固件就在群里第一个文件夹中即安卓TN3399可用固件中,目前TN3399_R99_ap6255_20200704这个压缩包中的固件除了移动4g没发用,其他基本正常。HDMI有声音输出。原装系统是没有的

在R99系统前提下刷入station OS的system.img

1.解包

在群里下载station os的包,目前试过了desktop&tv包,没有试过单tv包,理论上都行。
使用群里的window平台的工具包,就是那个Android_tool。然后连上自己的板子。具体参考上面,或者firefly官网的操作。然后切换到如下页面:
在这里插入图片描述
固件选择一个这样的就行
在这里插入图片描述

完成后会多出一个output目录在这个工具的路径里
在这里插入图片描述
可以进入里面找到解包出来的system.img
在这里插入图片描述
这个时候可以对system.img进行一些定制操作。
接着继续回到这个工具,来到下载镜像界面,清空原来的,或者创建一个,然后只勾选这一条,前面的地址需要根据parameter.txt中描述的地址来确定,或者可以通过执行下图二中的操作获取。目前如果板子里面原来是R99那个系统,只需要按照这个下图一修改即可,注意最后的路径需要选择上面解包出来的system.img。然后点击执行就好了。整个过程板子处于loader模式。
在这里插入图片描述
在这里插入图片描述
最后,就等着刷完重启开机就好了
在这里插入图片描述
然后如果还一直连着电脑的话会提示发现一个adb设备。

也可以尝试分别再替换其他分区,但要注意分区空间够不够的问题,例如原来R99的system是只有1.2G左右,我们刷入的大小是1.5G左右,这个时候我们需要计算,分区表中给每个分区分配的大小足够不,目前R99system分区刷station os的system分区空间是足够的。具体,其他的就需要自己计算了,
最后期待大神适配和调整。

目前试过无法开机的

  1. station os群里两个版本都试了,无法开机,可以正常在loader模式下刷入,但是maskrom模式下不行。
  2. 群里的其他Linux系统目前还没试过,直接使用Android_tool是无法加载固件的。需要其他方式刷入,或者使用sd卡刷入。

打包解包相关命令

以下是会用到的相关命令,在ubuntu20.04下以下命令对应工具如果没有会自动提示apt安装

file
img2simg
simg2img
make_ext4fs #打包system.img 
mount
umount
mksquashfs #用于sfs文件

RK3399原厂系统root,目前理解就是以下解锁指令可以真正解锁system分区

解锁:

adb root

adb disable-verity

之前尝试用Androidtool备份system分区一直无法成功。我猜测因为这个有个什么verity_mode分区,然后我一直没有解锁导致的。

以前直接用root工具修改系统分区都是当时有效,关机重启就没了,现在才知道有这个verity_mode可以关闭他,对于这个简单的广告板来说。

尝试修改init.rc和init.c使用Android关机到kernel层

大概想法是希望Android在linux内核层面长期运行NAS、软路由、服务器和数据控制中心,然后可以控制启动进入Android和关闭系统回到不启动Android的运行时的状态

大概私聊是想在init.c和inti.rc中修改某部分运行一个C语言的程序,来启动这些功能。

目前了解到修改这个文件有两种方法,期中一种是不知道源码,
可以通过修改
1、解压ramdisk.img
2、用c语言完成要实现的功能
3、修改init.rc,启动c语言可执行程序
4、制作ramdisk.img

ramdisk.img是编译Android生成的一个镜像文件,最后和kernel一起打包生成boot.img镜像。ramdisk.img中主要是存放android启动后第一个用户进程init可执行文件和init.*.rc等相关启动脚本以及sbin目录下的adbd工具。

file ramdisk.img

在这里插入图片描述
具体方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值