Hi3516開發筆記(四):Hi3516虛擬機器編譯uboot、kernel、roofts和userdata以及分割槽表

21497936發表於2021-11-27

前言

  海思編譯需要依賴一些海思的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系統上,如下圖:
   在這裡插入圖片描述


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70010283/viewspace-2844417/,如需轉載,請註明出處,否則將追究法律責任。

相關文章