[海思3519av100] 如何使用sdk編譯uboot、kernel、rootfs

使用環境及背景

        手頭上的板子爲3519av100的海思demo板,使用sdk release出來的uboot、kernel、rootfs燒寫正常,sample跑起來正常,不過由於都是使用nfs掛載方式,使用起來頗爲不便,所以想直接改rootfs,把程序啓動需要的ko、lib、so等配置都先 弄好,這樣調試應用程序就比較方便簡單了。

相關環境及文件

Linux操作系統,或者虛擬機安裝Linux:例如Ubuntu14.04

linux-4.9.39源碼 ,可以點擊這裏下載

海思sdk,比如:Hi3519AV100_SDK_V2.0.2.0

arm-himix200-linux編譯鏈事先配置好

 

操作步驟

1、解壓sdk,執行sdk.unpack,自動解壓相關的一些壓縮文件

2、解壓osdrv,可以好好看看裏面的readMe,詳細說了具體步驟,沒什麼問題這裏只做一筆帶過

3、kernel放入opensource/kernel,同樣看看kernel下readMe操作(執行腳本進行解壓、打patch,重新壓縮成linux-4.9.y.tgz)

4、osdrv下執行make OSDRV_CROSS=arm-himix200-linux CHIP=hi3519av100 BOOT_MEDIA=spiall  (也可以改makefile中默認參數就不用加參數編譯了,確認好板子emmc或者nand flash等)

注意:make all這一步易出錯,可能會報jffs2編譯出錯,直接退出,因爲該目錄是將uboot、kernel、rootfs一起編譯,前兩個編譯都是沒問題,pub下也能成功生成文件,但是rootfs只生成了部分,到生成jffs2格式時退出,這裏有兩個方案:

1)、修改makefile,跳過編譯jffs2工具和編譯jffs2格式(以下爲部分內容);

2)、這裏出錯主要是編譯jffs2工具出錯,它需要依賴一些三方組件,按照osdrv/tools/pc/jffs2_tool/readMe,不過這些組件由於版本有有要求,安裝時需要下載源碼進行編譯,並且一個個安裝需要的依賴項,比較麻煩,例如autoconf-2.65、automake-1.15.1及各種依賴

5、以上解決了重新編譯一般沒問題,或者也可以選擇單獨編譯

make hiboot

make hikernel

make hirootfs_build

 

makefile中默認 會刪除rootfs目錄,需要添加自己的庫時需要保存該目錄,然後拷貝庫及修改配置後手動進行編譯生成

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章