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


     

    前言

      编译了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固件并完成了各种工作了。

  • 相关阅读:
    SQL注入漏洞 | bool型
    北京大学肖臻老师《区块链技术与应用》公开课笔记:以太坊原理(三):智能合约
    Python 装饰器、嵌套函数、高阶函数
    C++ | Leetcode C++题解之第48题旋转图像
    pytest-fixture执行顺序
    uniapp项目实践总结(二十四)安卓平台 APP 打包教程
    Web 安全之时序攻击 Timing Attack 详解
    气膜球幕影院:娱乐体验的新高度—轻空间
    迪杰斯特拉算法(Java)
    设置chunk自动扩展到多大
  • 原文地址:https://www.cnblogs.com/qq21497936/p/17679209.html