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

发布时间 2023-09-05 11:37:16作者: 红胖子(红模仿)

前言

  编译了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的注释,修改完成如下图所示:
  在这里插入图片描述