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

最新文章

  1. 使用nose 进行Python项目的自动化测试
  2. MySQL frm+ibd文件还原data的办法【数据恢复】
  3. 使用js 设置组合快捷键
  4. haproxy 新手上路
  5. Win7重装系统遇到的问题以及MysQL的问题解决
  6. 《HelloGitHub月刊》第02期
  7. 机器学习笔记:Gradient Descent
  8. Python文本(字面值)
  9. 1.7.4.3 Parsers
  10. [App]Xamarin学习资料收集
  11. jquerymobile知识点:button与a
  12. 删除list中指定值的元素
  13. C#下使用GDAL
  14. 学习PHP一个月的感受
  15. yum 安装rabbitMQ
  16. java.lang.Collections
  17. Beta Scrum博客集
  18. jeecg字典表—报表配置(popup弹框)
  19. kafka-connect-hdfs连接hadoop hdfs时候,竟然是单点的,太可怕了。。。果断改成HA
  20. typedef void(*Func)(void)的简单用途

热门文章

  1. PyCharm永久破解方法,2021最新版本!!!
  2. Java:Object对象小记
  3. 计算机网络传输层之TCP协议(tcp协议特点、tcp报文段首部格式、tcp连接建立---三次握手、tcp连接释放---四次握手)
  4. 认真讲说static关键字
  5. Logic strength modeling
  6. ssh key公钥
  7. JAVA笔记12__字节、字符缓冲流/打印流/对象流/
  8. [源码解析] PyTorch 分布式(1)------历史和概述
  9. 在Delphi中高效执行JS代码
  10. (2)Canal管理后台在linux环境上部署