參考海思官方文檔:《Hi3519AV100╱Hi3556AV100 開發(fā)環(huán)境用戶指南.pdf》麸澜、~/3519A/Hi3519AV100_SDK_V2.0.2.0/osdrv/opensource/kernel/readme_cn.txt
1茵肃、下載v4.9.37版本的內核
- 進入網站:www.kernel.org
- 選擇HTTP協議資源的https://www.kernel.org/pub/選項,進入子頁面
- 選擇linux/菜單項局装,進入子頁面
- 選擇kernel/菜單項,進入子頁面
- 選擇v4.x/菜單項盏筐,進入子頁面
- 下載linux-4.9.37.tar.gz
2狼纬、給linux內核打補丁
- 將下載的 linux-4.9.37.tar.gz 存放到 osdrv的opensource/kernel目錄中
- 在linux服務器中進入 osdrv 的根目錄,執(zhí)行如下命令
cd opensource/kernel
tar -zxf linux-4.9.37.tar.gz
mv linux-4.9.37 linux-4.9.y
cd linux-4.9.y
patch -p1 < ../linux-4.9.37.patch
cd ../
tar -czf linux-4.9.y.tgz linux-4.9.y
3、內核配置
- 需要先安裝make工具:apt install make
- 需要安裝依賴libncurses5-dev:apt install libncurses5-dev
- 不安裝依賴運行make menuconfig會報錯:fatal error: curses.h: No such file or directory
- 官方文檔提示對內核不熟悉不要修改默認配置壁晒,但可以新增模塊
source /etc/profile
cd linux-4.9.y
cp arch/arm/configs/hi3519av100_smp_nand_defconfig .config
make ARCH=arm CROSS_COMPILE=arm-himix200-linux- menuconfig
4瓷们、編譯內核
- 編譯前需安裝鏡像生成工具
- 編譯好的鏡像文件:arch/arm/boot/uImage
# 避免編譯時找不到相應交叉編譯工具
source /etc/profile
# 安裝鏡像制作工具,否則會報錯:"mkimage" command not found - U-Boot images will not be built
sudo apt-get install u-boot-tools
# 編譯內核
make ARCH=arm CROSS_COMPILE=arm-himix200-linux- uImage -j 20
# 出錯后需清理并重新編譯
make ARCH=arm CROSS_COMPILE=arm-himix200-linux- clean
make ARCH=arm CROSS_COMPILE=arm-himix200-linux- menuconfig
make ARCH=arm CROSS_COMPILE=arm-himix200-linux- uImage -j 20