RK3568开发笔记(六):开发板烧写ubuntu固件(支持mipi屏镜像+支持hdmi屏镜像)

简介: 编译了uboot,kernel,buildroot后,可以单独输入固件,也可以整体打包成rootfs进行一次性输入,rootfs直接更新升级这个方式目前也是常用的。本篇刷了2个镜像,一个支持mipi屏幕得ubuntu固件,一个支持hdmi固件,但是都不支持笔者的usb触摸屏

前言

  编译了uboot,kernel,buildroot后,可以单独输入固件,也可以整体打包成rootfs进行一次性输入,rootfs直接更新升级这个方式目前也是常用的。


烧写器软件:RKDevTool

  烧写器软件是瑞芯微提供的RKDevTool软件工具,如下图:

  

  是使用usb-usb线进行烧写的。


烧写Ubuntu固件

步骤一:检查开发板连接

  开发板需要上电,需要接调试串口,特别是烧写器的线。

  关键点:

  • 两头都是USB公口的线;
  • 开发板哪一个是烧写口;
  • 开发板启动的时候按如何操作(一般是按下按钮)可进入烧写模式烧写,之后则有烧写工具自行完成了;
      (注意:跟海思不同,海思需要串口作为过程判断指令交互的一条通道,瑞芯微烧写过程不需要串口协助,后续刷固件的时候是拔了调试串口刷的,好奇心,妥妥好奇为什么要调试串口,但是RVDevTool上面又没有让选串口号…-…!!!)
      

  这里的连接与海思的差不多《Hi3516开发笔记(六):通过HiTools使用USB/串口将uboot、kernel、rootfs和userdata按照分区表烧写镜像》

  连接图如下:

  

  方便查看:

  

步骤二:准备烧写器软件

  将烧写器下载下来,然后解压,如下图:

  

步骤三:拷贝镜像

  将上一篇编译的ubuntu系统,拷贝到烧写器的image文件夹,注意这里制作镜像是在ubuntu宿主机上,所以从虚拟机拖出来,放到软件的image文件夹下去,距离上一篇文章超过半年了,我们先检查下上次宿主机打包的文件系统是否是ubuntu,检查如下,确认是的。

  

   (PS:这里显示有6.1G,估计ubuntu系统没做啥裁剪)

  将升级的总包update.image拷贝到image文件夹:

  

步骤四:打开RVDevTool烧写软件

  

  打开软件:

  

  点击“升级固件”选择之前拷贝到image的“固件”:

  

  

  选择好了,状态为“没有发现设备”:

  

  确认我们的设备按照步骤一已经连接了,就没问题。

步骤五:按下特定按键然后开启开发板

  本开发板是按住开发板的“音量+” 按键, 按住不要松开, 然后在按下开发板的电源按键启动开发板, 此时烧写工具会提示发现新设备,就可以松开:

  

  然后会如下:

  

  然后点击“升级”(不接调试串口没任何关系):

  

  

  

  

  

  下载成功后,软件会自动重启(手贱了,下载过程未到100%点击关闭取消指令,实际确认了,但是无效):

  

  

  然后开发板重启:

  

  这里是宿主机调试串口的配置:

  

  

   原本以为镜像自行编译适配失败了,实际不是,查看“入坑一”,然后主界面如下:

  

  

  (多写了p,密码跟账户一样:topeet)

  

  跑ubuntu感觉部分功能有点卡,操作了一下,又好一些,可能板子吃灰太久了,没跑起来吧,如下:

  

  

  经过测试,ubuntu镜像有个硬伤,就是黑屏后无法通过触摸去唤醒,只能通过鼠标键盘等外设唤醒显示屏,所以这个板本必须先把自动屏保黑屏给他关闭了。


烧写支持hdmi输出的ubuntu系统

  (PS:这里支持hdmi,意味着其他几路不输出了)

  本次开发板这次开发已经接了hdmi但是没有切换过去,可以自己修改内核为hdmi输出去编译,这里我们只是用于展会演示,就不费尽了,因为看到官方提供的板本中有一个支持hdmi的ubuntu镜像,如下图:

  

  

  下下来:

  

  重新刷走一遍“烧写ubuntu”:

  

  然后结果如下:

  

  测试触摸屏(无效,不支持usb的触摸屏,应该是没打触摸屏通用驱动,请求官方回复可能是触摸芯片支持不一样):

  

  这里插入了键盘和鼠标,发现无效。(PS:后来发现是使用了升级USB口就无效,这里也算是入了一个坑)


入坑

入坑一:刷完自行编译的ubuntu固件重启后听留下logo界面

问题

  刷完固件启动卡在logo“rockchip kernerl”

原因

  调试串口打印显示出有部分卡再limit时间上,当前并没有卡死,就是需要读秒

  

解决

  这里是用官方的方法可以调整,如下图:

  

  以上修改了,有点用,修改为30s,实际为33s,到33s后又变成2min3s,所以不懂了:

  

官方技术支持回复

mkdir /etc/network/interfaces.d
vi /etc/network/interfaces.d/eth0

  文件内容:

auto eth0
allow-hotplug eth0 //将网络接口设置为热插拔模式
iface eth0 inet dhcp//设置dhcp自动获取ip

  

vi /etc/network/interfaces.d/eth1

  

vi  /etc/systemd/resolved.conf

  将DNS对应的内容取消注释并添加114.114.114.114内容并取消LLMNR=no的注释,修改完成如下图所示:

  

  最终结果,没有尝试,因为是后续请教的,这时候已经更改为buildroot固件并完成了各种工作了。

相关文章
|
5天前
|
Ubuntu
音视频ubuntu安装ffmpeg6.0简略笔记
音视频ubuntu安装ffmpeg6.0简略笔记
77 0
|
5月前
|
Ubuntu Docker 容器
ubuntu 桌面 docker 镜像 vnc
ubuntu 桌面 docker 镜像 vnc
125 0
|
5天前
|
Ubuntu 网络协议
开发板挂载 Ubuntu 的 NFS 目录
开发板挂载 Ubuntu 的 NFS 目录
|
5天前
|
Ubuntu 网络协议 Linux
【Linux】Android平板上远程连接Ubuntu服务器code-server进行代码开发
【Linux】Android平板上远程连接Ubuntu服务器code-server进行代码开发
67 0
|
5天前
|
JavaScript Ubuntu 前端开发
百度搜索:蓝易云【ubuntu安装开发javascript ubuntu script教程】
现在,你已经在Ubuntu上成功安装了JavaScript开发环境,可以开始编写和运行JavaScript代码了。注意,在编写代码之前,建议先创建一个项目文件夹,并在其中初始化npm,这样你可以管理项目的依赖项和配置。
37 5
|
5天前
|
Ubuntu 数据库 C++
百度搜索:蓝易云【【嵌入式Qt开发入门】在Ubuntu下编写C++教程。】
请注意,这只是一个入门教程,Qt开发涉及到更广泛的主题和概念,例如信号与槽机制、界面设计、数据库操作等。建议参考Qt官方文档和教程,以深入了解和掌握嵌入式Qt开发。
145 0
|
7月前
|
Ubuntu 开发工具 git
百度搜索:蓝易云【Ubuntu搭建APM固件编译环境教程!】
请注意,以上步骤提供了一个基本的搭建APM固件编译环境的概述。实际的配置和设置可能因APM固件版本和硬件类型而有所不同。建议参考APM固件官方文档和其他可靠资源,以获取更详细和特定于你的环境的指导。在进行任何配置更改之前,请确保备份你的数据并了解相关的安全性和权限设置。
54 0
|
7月前
|
网络协议 Ubuntu Linux
无公网IP内网穿透使用vscode配置SSH远程ubuntu随时随地开发写代码-2
无公网IP内网穿透使用vscode配置SSH远程ubuntu随时随地开发写代码
|
7月前
|
Ubuntu 网络安全 数据安全/隐私保护
无公网IP内网穿透使用vscode配置SSH远程ubuntu随时随地开发写代码-1
无公网IP内网穿透使用vscode配置SSH远程ubuntu随时随地开发写代码
|
8月前
|
人工智能 IDE Ubuntu
工欲善其事,必先利其器-基于ubuntu18.04 VScode开发100ASK-ESP32
工欲善其事,必先利其器-基于ubuntu18.04 VScode开发100ASK-ESP32
99 0