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

若该文为原创文章,转载请注明原文出处
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/121572767
红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…
海思开发专栏 上一篇:《Hi3516开发笔记(三):Hi3516虚拟机基础环境搭建之交叉编译环境境搭建以及开机启动脚本分析》
下一篇:《Hi3516开发笔记(五):通过HiTools使用网口将uboot、kernel、roofts和userdata按照分区表烧写镜像》敬请期待…
前言 ??海思编译需要依赖一些海思的sdk,如海思的文件系统,BSP等,所以先要弄清楚文件系统的编译,海思的sdk都在里面,本篇主要是详细讲解海思uboot、kernel、roofts和userdata以及分区表的创建。
海思SDK ??找到开发资料中的海思SDK,如下图:
??Hi3516开发笔记(四)(Hi3516虚拟机编译uboot、kernel、roofts和userdata以及分区表)
文章图片

??将其拷贝到虚拟机ubuntu的work/src中,如下图:
??Hi3516开发笔记(四)(Hi3516虚拟机编译uboot、kernel、roofts和userdata以及分区表)
文章图片

??然后解压到work/sdk下,先解压到当前目录下:
??Hi3516开发笔记(四)(Hi3516虚拟机编译uboot、kernel、roofts和userdata以及分区表)
文章图片

??然后mv挪过去:
??Hi3516开发笔记(四)(Hi3516虚拟机编译uboot、kernel、roofts和userdata以及分区表)
文章图片

从头至尾全编译

  • 目标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

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

步骤二:编译kernel内核 ??在 osdrv/pub/ 目录生成 uImage_hi3516dv300_smp
./make.sh kernel

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

步骤三:编译sample(开发板特有的,覆盖在文件系统上) ??编译 sample 下所有 sample 程序,编译前会先 clean,将原有编译清理掉
./make.sh sample

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

步骤四:编译userdata(开发板特有的实际的配置文件) ??编译 userdata ,会在 osdrv/pub/ 生成userdata链接,此时我们就修改生成的userdata文件下的ip地址(使其静态配置为192.168.0.210)。
./make.sh userdata

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

??发现并没有生成/userdata/user.conf,查看make的userdata的命令,如下图:
??Hi3516开发笔记(四)(Hi3516虚拟机编译uboot、kernel、roofts和userdata以及分区表)
文章图片

??是通过mk-userdata-image.sh生成的配置文件,找到mk-userdata-img.sh查看,并修改ip地址和广播地址如下:
??Hi3516开发笔记(四)(Hi3516虚拟机编译uboot、kernel、roofts和userdata以及分区表)
文章图片

??然后重新生成。
./make.sh userdata

步骤五:编译rootfs ??在 osdrv/pub/ 目录生成 rootfs_hi3516dv300.ext4
./make.sh rootfs

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

??至此,uboot启动引导到内核然后启用文件系统(sample和userdata是本开发本特有的,添加在原始文件系统上的)三个镜像都有了(即uboot、kernel、rootfs三个镜像)。
??然后提取到windows系统上,如下图:
??Hi3516开发笔记(四)(Hi3516虚拟机编译uboot、kernel、roofts和userdata以及分区表)
文章图片

【Hi3516开发笔记(四)(Hi3516虚拟机编译uboot、kernel、roofts和userdata以及分区表)】上一篇:《Hi3516开发笔记(三):Hi3516虚拟机基础环境搭建之交叉编译环境境搭建以及开机启动脚本分析》
下一篇:《Hi3516开发笔记(五):通过HiTools使用网口将uboot、kernel、roofts和userdata按照分区表烧写镜像》敬请期待…
若该文为原创文章,转载请注明原文出处
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/121572767

    推荐阅读