105.am40刷机(linux)折腾记1-前期的准备工作1

news2024/11/28 4:35:14

前段时间在某鱼上逛的时候,发现一款3399的盒子只要150大洋,内心就开始澎拜,一激动就下手了3台,花了450大洋(现在想想,心都碎了一地)。

然后自己又来来回回折腾了几天,目前能跑上firefly的linux系统了,想出个系列主要记录一下这个折腾的过程吧,如果对大家有帮助,欢迎大家转发,充电。

最终的目标是刷入firefly的3399的镜像,同时更新内核到linux5.10版本(4.4的内核应该是相同的方法,我目前没有去折腾,暂时不用了)。

这样对于这款机器就有了uboot和内核的源码,之后想增加什么功能相对也方便。(其实我只是一个搬运工。)

因个人能力有限,对安卓不熟悉,没法跟大家讲解安卓相关的移植问题。

一、首先对盒子进行一个简单的介绍

1.1 外观图

基本接口:

HDMI接口 2个 (一个cpu自带的(尾部),一个是dp转的,目前内核没有驱动起来)

千兆网卡 1个

usb3.0 接口 2个

双频wifi+蓝牙

有一个tf卡槽,可用

usb2.0 4个

串口 4个

1.2 内部图 

二、盒子相关的镜像,还有一些参考资料

网络的参考资料

1.https://gitee.com/xiayang0521/rk3399

2.下载服务器 by nginx

3. 别人的刷机视频am40 rK3399广告板4g+32g刷机教程 刷armbian_哔哩哔哩_bilibili

4.其他的资料Am40镜像分享 - LaJiLao.Top

三、后面需要用到的工具

3.1 硬件工具

3.1.1 ttl usb转串口 (波特率1500000,或者115200)

3.1.2 12v电源,用于给盒子供电

3.1.3 两头都是公的usb线 ,如下图

        这个用于下载镜像到开发板上。因为我自己的主要的方法是线刷,没有使用过sd卡刷,这里就需要用这个usb线哈。

        这个线用于连接这个usb口,另一个端连接电脑的usb接口。

3.1.4 网线,这个非必须吧,有也好一点,可以联网试试了。

3.2 软件工具

(我自己的系统是windows11,所以这是根据我的环境来说的)

3.2.1 ubuntu18.04 虚拟机

        一个linux环境,可以用于编译内核,反编译dtb文件等。

        最好设置了samba还有文件共享,这样就方便拷贝文件,在电脑和虚拟机之间。

3.2.2 SecureCRT(或者类似的串口工具,如MobaXterm,这个是免费的)

        串口工具,主要用于看调试信息,输入命令等等。

3.2.3 RKDevTool_Release_v2.81(版本可以不同)

        用于img的下载,img解包等等。

        使用方法需要阅读文件夹内部的pdf,这里不再说明。

3.2.4 Sublime Text ,这个工具我主要是用来查看文件,相当于记事本的功能,这个非必要,可以使用类似的软件,如记事本就行。

3.2.5 BCompare  这个工具我要比较一下文件(比如dts的比较),最好有。

3.3 需要下载的文件。

这里主要是镜像

比如firfly的sdk,还有烧写的img文件等

Firefly | 让科技更简单,让生活更智能

如果你需要还原自己的盒子  下载服务器 by nginx

四、盒子的初始状态

盒子到手之后一般是安卓的系统,本教程的初始状态为原安卓系统。

如果出现状态不一致,或者操作不一致的问题,请刷机am40-安卓7.1-原机固件.img.7z

这个文件需要解压,需要使用该网站的刷机软件进行刷机

刷机视频教程参考b站,直接搜索am40即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1192589.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C# 异步日志记录类,方便下次使用,不用重复造轮子

先定义接口类: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace 异常 {internal interface ILog{Task WriteErrorLog(string message);Task WriteInfoLog(string message);Task W…

高级运维学习(十四)Zabbix监控(一)

一 监控概述 1 监控的目的 (1)报告系统运行状况 每一部分必须同时监控内容包括吞吐量、反应时间、使用率等 (2)提前发现问题 进行服务器性能调整前,知道调整什么找出系统的瓶颈在什么地方 2 监控的资源类别 …

钉钉API与集简云无代码开发连接:电商平台与营销系统的自动化集成

连接科技与能源:钉钉API与集简云的一次集成尝试 在数字化时代,许多公司面临着如何将传统的工作方式转变为更智能、高效的挑战。某能源科技有限公司也不例外,他们是一家专注于能源科技领域的公司,产品包括节能灯具、光伏逆变器、电…

Flink之SQL客户端与DDL操作

SQL客户端与DDL操作 Flink SQLSQL客户端1.启动Flink2.启动Flink的SQL客户端3.HELP命令4.验证连接5.结果显示模式6.执行配置 数据库操作1.创建数据库2.查询数据库3.修改数据库4.删除数据库 表操作1.创建表表列属性表Watermark属性列PRIMARY KEY属性列PARTITIONED BY属性列WITH选…

真是性价比之王,腾讯云这款88元云服务器已经圈粉无数!

你是否曾经想过拥有一台属于自己的云服务器,但是却被高昂的价格和复杂的配置吓到了?现在,腾讯云推出了一款价格亲民、简单易用的88元云服务器,让你的梦想成为现实。腾讯云88元/年云服务器配置见下图: 腾讯云88元服务器…

大厂面试题-行锁、临键锁、间隙锁的理解

行锁、临键锁、间隙锁,都是MySQL里面InnoDB引擎下解决事务隔离性的一系列排他锁。 分别介绍一下这三种锁: 1、行锁,也称为记录锁。(如图) 当我们针对主键或者唯一索引加锁的时候,MySQL默认会对查询的这一行数据加行锁&#xff…

视频剪辑方法:为视频剪辑添加亮点,如何制作精美的滚动字幕

在视频剪辑中,滚动字幕是一个重要的元素,它可以为视频增添视觉吸引力,增强观看体验。滚动字幕的长度和速度也是非常重要的因素。如果滚动字幕太长,会让人感到拖沓;如果滚动字幕太短,会让人感到匆忙。因此&a…

Java设计模式-创建者模式-工厂模式

工厂模式 工厂模式简单工厂模式工厂方法模式抽象工厂模式 工厂模式 要求:由一个特定的工厂提供所需的对象,由工厂来完成对象的创建 工厂模式一般分为三种:简单工厂模式,工厂方法模式,抽象工厂模式 其中简单工厂模式不…

第三方支付支付宝的信息安全分析

随着信息技术的进步,网络结算方式也在迅速发展。网上结算虽然便捷快速,但是如果没有保障的平台或者法律的支持,双方在没有约束的情况下,就会导致拖延、折扣或者拒付等许多经济事件的发生,由此第三方支付就随之产生。第…

三目运算符与if 判断语句的区别

我们用一个案例解释python的判断语句: if a > b :return aelse:return b案例: a 2b 3if a > b:max aelse:max b这样利用python语言,写一个if 判断没有问题吧 三目运算符 下面我们用三目运算符来完成这样一…

Win10专业版安装wsl-ubuntu子系统

文章目录 一、查看是否满足安装要求二、管理员权限启动 Windows PowerShell三、启用Windows10子系统功能四、启用虚拟机平台功能五、重启电脑六、下载 Linux 内核更新包(适用于 x64 计算机的 WSL2 Linux 内核更新包)七、将 WSL 2 设置为默认版本八、打开…

台灯护眼灯哪个牌子好?护眼台灯品牌型号推荐榜单

台灯可以说家家必备!家中有上学的小孩更是需要一款好台灯,因为看书、写字、做作业都离不开台灯,一款好的台灯不仅会提供明亮的学习环境,而且还能保护视力,预防近视,因此,挑选台灯绝对不可以马虎…

React Native适配Xcode 15 iOS 17.0+

iOS 17.0 Simulator(21A328)下载失败 App Store 更新到 Xcode15 后,无法运行模拟器和真机。需要下载iOS 17对应的模拟器。Xcode中更新非常容易中断失败,可以在官网单独下载iOS 17模拟器文件,例如:iOS_17.0.1_Simulator_Runtime.d…

React 递归手写流程图展示树形数据

需求 根据树的数据结构画出流程图展示,支持新增前一级、后一级、同级以及删除功能(便于标记节点,把节点数据当作label展示出来了,实际业务中跟据情况处理) 文件结构 初始数据 [{"ticketTemplateCode": &…

Vite - 配置 - 不同的环境执行不同的配置文件

目标描述 通过不同的命令,执行不同的环境的配置文件中的内容: npm run dev : 执行开发环境的配置文件 npm run build: 执行生产环境的配置文件 环境文件准备 为了在不同的环境中使用不同的配置文件,我们将配置文件拆分开来。 开发环境使用开发…

【Python基础】基于UPD协议实现简易聊天室(Socket编程)

UDP通信 1.什么是 socket2. 创建 socket3.udp 网络程序-发送、接收数据(User Datagram Protocol)udp 网络程序-发送、接收数据(客户端)udp 绑定信息udp 绑定信息---服务器端总结 4.udp 聊天器 1.什么是 socket socket(简称 套接字…

如何快速编写测试用例?

当你学会了如何设计测试用例之后,接下来便是开始用例的编写。 在设计阶段,更准确的说应该是识别测试点的过程,而编写阶段则是将测试点细化成一条条测试用例的过程,有了比较全的用例场景后,如何让别人更舒服、更方便、…

Python + UnitTest 软件测试流程总结

以测试用户登录流程为例: TestCase: TestCase 主要用来编写测试用例,这里结合 断言(assertEqual 和 assertIn) 进行判断,避免了手动书写判断。 # tools.py # 登录验证方法 def login(username, password…

Android Studio导入,删除第三方库

Android项目经常用到无私的程序员们提供的第三方类库。本篇博客就是实现第三方库的导入和删除。 一、导入第三方库 1、将需要的库下载到本地; 2、新建Moudle (1)File --- New Moudle (2)选择Android Library --- Next (3)填写Moudle名 --- Finish。一个新的Mou…

【优选算法系列】【专题七分治】第一节.75. 颜色分类和912. 排序数组

文章目录 前言一、颜色分类 1.1 题目描述 1.2 题目解析 1.2.1 算法原理 1.2.2 代码编写二、排序数组 2.1 题目描述 2.2 题目解析 2.2.1 算法原理 2.2.2 代码编写总结 前言 一、颜色分类 1.1 题目描述 描述&…