Hi3516开发笔记:Hi3516虚拟机编译ubootkernelroofts和userdata以及分区表

Posted 长沙红胖子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hi3516开发笔记:Hi3516虚拟机编译ubootkernelroofts和userdata以及分区表相关的知识,希望对你有一定的参考价值。

若该文为原创文章,转载请注明原文出处
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/121572767
长期持续项目技术分享,Shang业Ding制Zi询博主,QQ:21497936,WX:yangsir198808
红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…

海思开发专栏

上一篇:《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

以上是关于Hi3516开发笔记:Hi3516虚拟机编译ubootkernelroofts和userdata以及分区表的主要内容,如果未能解决你的问题,请参考以下文章

Hi3516开发笔记:Hi3516虚拟机基础环境搭建之交叉编译环境境搭建以及开机启动脚本分析

Hi3516开发笔记:Hi3516虚拟机交叉开发环境搭建之交叉编译Qt

Hi3516开发笔记:Hi3516虚拟机交叉开发环境搭建之交叉编译Qt

Hi3516开发笔记:Hi3516虚拟机编译ubootkernelroofts和userdata以及分区表

Hi3516开发笔记:Hi3516虚拟机基础环境搭建之串口调试网络连接以及sftp文件传输

Hi3516开发笔记:Hi3516虚拟机交叉开发环境搭建之配置QtCreator开发交叉编译环境