Hi3516開發筆記(四):Hi3516虛擬機編譯uboot、kernel、roofts和userdata以及分區表
- 2021 年 11 月 27 日
- 筆記
若該文為原創文章,轉載請註明原文出處
本文章部落格地址://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,如下圖:
將其拷貝到虛擬機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配置即可。
在 osdrv/pub/ 目錄生成 u-boot-hi3516dv300.bin
./make.sh uboot
在 osdrv/pub/ 目錄生成 uImage_hi3516dv300_smp
./make.sh kernel
編譯 sample 下所有 sample 程式,編譯前會先 clean,將原有編譯清理掉
./make.sh sample
編譯 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
在 osdrv/pub/ 目錄生成 rootfs_hi3516dv300.ext4
./make.sh rootfs
至此,uboot啟動引導到內核然後啟用文件系統(sample和userdata是本開發本特有的,添加在原始文件系統上的)三個鏡像都有了(即uboot、kernel、rootfs三個鏡像)。
然後提取到windows系統上,如下圖:
上一篇:《Hi3516開發筆記(三):Hi3516虛擬機基礎環境搭建之交叉編譯環境境搭建以及開機啟動腳本分析》
下一篇:《Hi3516開發筆記(五):通過HiTools使用網口將uboot、kernel、roofts和userdata按照分區表燒寫鏡像》敬請期待…
若該文為原創文章,轉載請註明原文出處
本文章部落格地址://hpzwl.blog.csdn.net/article/details/121572767