zoukankan      html  css  js  c++  java
  • Hi3516开发笔记(四):Hi3516虚拟机编译uboot、kernel、roofts和userdata以及分区表

    上一篇:《Hi3516开发笔记(三):Hi3516虚拟机基础环境搭建之交叉编译环境境搭建以及开机启动脚本分析
    下一篇:《Hi3516开发笔记(五):通过HiTools使用网口将uboot、kernel、roofts和userdata按照分区表烧写镜像》敬请期待…

     

    前言

      海思编译需要依赖一些海思的sdk,如海思的文件系统,BSP等,所以先要弄清楚文件系统的编译,海思的sdk都在里面,本篇主要是详细讲解海思uboot、kernel、roofts和userdata以及分区表的创建。

     

    海思SDK

      找到开发资料中的海思SDK,如下图:
      在这里插入图片描述
      将其拷贝到虚拟机ubuntu的work/src中,如下图:
      在这里插入图片描述
      然后解压到work/sdk下,先解压到当前目录下:
      在这里插入图片描述

      然后mv挪过去:
      在这里插入图片描述

     

    从头至尾全编译

    • 目标1:修改文件系统ip地址固定为192.168.0.210
    • 目标2:熟悉使用sdk只做修改后的文件系统量产刷包
        修改下文件系统中对于ip地址的设定,rootfs下的/userdata/userdata.conf,该文件是配置ip地址,修改静态ip地址为“192.168.0.210”,但是没又找到,查看sdk有一个专门编译userdata的命令,流程如下:
    ./make.sh uboot # 编译 uboot 完成,在 osdrv/pub/ 目录生成 u-boot-hi3516dv300.bin
    ./make.sh kernel # 在 osdrv/pub/ 目录生成 uImage_hi3516dv300_smp
    ./make.sh sample # 编译 sample 下所有 sample 程序,编译前会先 clean,将原有编译清理掉
    ./make.sh userdata # 编译 userdata ,会在 osdrv/pub/ 生成userdata链接
    ./make.sh rootfs # 在 osdrv/pub/ 目录生成 rootfs_hi3516dv300.ext4
    ./make.sh # 编译以上所有镜像
    

      是在第四步骤编译userdata会成圣userdata连接,此时修改userdata里面的ip配置即可。

    步骤一:编译uboot

      在 osdrv/pub/ 目录生成 u-boot-hi3516dv300.bin

    ./make.sh uboot
    

      在这里插入图片描述

    步骤二:编译kernel内核

      在 osdrv/pub/ 目录生成 uImage_hi3516dv300_smp

    ./make.sh kernel
    

      在这里插入图片描述

    步骤三:编译sample(开发板特有的,覆盖在文件系统上)

      编译 sample 下所有 sample 程序,编译前会先 clean,将原有编译清理掉

    ./make.sh sample
    

      在这里插入图片描述

    步骤四:编译userdata(开发板特有的实际的配置文件)

      编译 userdata ,会在 osdrv/pub/ 生成userdata链接,此时我们就修改生成的userdata文件下的ip地址(使其静态配置为192.168.0.210)。

    ./make.sh userdata
    

       在这里插入图片描述
      发现并没有生成/userdata/user.conf,查看make的userdata的命令,如下图:
      在这里插入图片描述

      是通过mk-userdata-image.sh生成的配置文件,找到mk-userdata-img.sh查看,并修改ip地址和广播地址如下:
      在这里插入图片描述
      然后重新生成。

    ./make.sh userdata
    

    步骤五:编译rootfs

      在 osdrv/pub/ 目录生成 rootfs_hi3516dv300.ext4

    ./make.sh rootfs
    

      在这里插入图片描述
      至此,uboot启动引导到内核然后启用文件系统(sample和userdata是本开发本特有的,添加在原始文件系统上的)三个镜像都有了(即uboot、kernel、rootfs三个镜像)。
      然后提取到windows系统上,如下图:
      在这里插入图片描述

     

    上一篇:《Hi3516开发笔记(三):Hi3516虚拟机基础环境搭建之交叉编译环境境搭建以及开机启动脚本分析
    下一篇:《Hi3516开发笔记(五):通过HiTools使用网口将uboot、kernel、roofts和userdata按照分区表烧写镜像》敬请期待…

     

    若该文为原创文章,转载请注明原文出处
    本文章博客地址:https://hpzwl.blog.csdn.net/article/details/121572767

  • 相关阅读:
    Java8性能优化之字符串拼接
    Java8字符串分割的几种方式及性能比较
    【Collections:集合工具类:常用方法】
    【ArrayList嵌套HashMap】
    【集合工具类:Collections】
    【HashMap 嵌套 HashMap】
    【HashMap 嵌套 ArrayList】
    【TreeMapDemo】
    【LinkedHashMap】
    【TreeMap】
  • 原文地址:https://www.cnblogs.com/qq21497936/p/15610872.html
Copyright © 2011-2022 走看看