Hi3516开发笔记(四):Hi3516虚拟机编译uboot、kernel、roofts和userdata以及分区表

简介: Hi3516开发笔记(四):Hi3516虚拟机编译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系统上,如下图:

  



目录
打赏
0
0
0
0
53
分享
相关文章
入职没见过P8领导,3月后他带着份769页虚拟机笔记出关了
Java是目前用户最多、使用范围最广的软件开发技术,Java的技术体系主要由支撑Java程序运行的虚拟机、提供各开发领域接口支持的Java类库、Java编程语言及许许多多的第三方Java框架(如Spring、 MyBatis等) 构成。在国内,有关Java类库API、Java语言语法及第三方框架的技术资料和书籍非常丰富,相比而言,有关Java虚拟机的资料却显得异常贫乏。
带你读《Apache Dubbo微服务开发从入门到精通》—— 一、 部署到传统虚拟机(上)
带你读《Apache Dubbo微服务开发从入门到精通》—— 一、 部署到传统虚拟机(上)
126 7
操作系统原理实验2:进程调度(在Ubuntu虚拟机gcc编译环境下
操作系统原理实验2:进程调度(在Ubuntu虚拟机gcc编译环境下
241 0
带你读《Apache Dubbo微服务开发从入门到精通》—— 一、 部署到传统虚拟机(中)
带你读《Apache Dubbo微服务开发从入门到精通》—— 一、 部署到传统虚拟机(中)
107 4
带你读《Apache Dubbo微服务开发从入门到精通》—— 一、 部署到传统虚拟机(下)
带你读《Apache Dubbo微服务开发从入门到精通》—— 一、 部署到传统虚拟机(下)
106 5
JVM 虚拟机 AOT 和 JIT 即时编译
JVM 虚拟机 AOT 和 JIT 即时编译
213 0
说说如何搭建微服务开发虚拟机环境?
因为微服务项目一般涉及的工程较多,所以在开发环境会把这些工程部署到虚拟机中,方便测试。 首先给出微服务开发虚拟机环境相关软件清单: Vagrant 2.2.10 VirtualBox 6.1.16 Windows PowerShell(windows 10 自带)
详解虚拟机!京东大佬出品HotSpot VM源码剖析笔记(附完整源码)
有这么一句话:学Java不怕找不到工作,Java的就业前景好,岗位也多,入门还快...但真的是这样吗?为什么明明岗位空缺单位却招不到合适的人?为什么很多学习Java的人却没有单位录用?答案就一个字:卷!公司对于Java开发的要求都变高了,很多东西你不仅要会用,还得知道其中的原理,不然免谈~
深入理解JVM虚拟机 - 自我编译JDK
不出所料,编译失败了,我们可以根据错误日志来进行调整
101 0
运维小笔记:Windows-VMWare 虚拟机密码移除
本文介绍一种使用大白菜 PE 系统内置的密码移除工具,通过加载到 VMWare 虚拟机上,移除虚拟机密码的方法
852 0

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等