海思Hi3519A开发(2.编译uboot与kernel)

文章目录

  • 1 编译 uboot
  • 2 编译 kernel
    • 下载内核源码
    • 打补丁
    • 编译 kernel
  • 3 SDK 提供的 uboot、kernel、rootfs
  • 参考文章

首先必须要注意和强调的是:如果你使用的是华为原厂的板子才能使用SDK里提供的uboot和kernel

如果以前没有编译过uboot或kernel,请参考 https://blog.csdn.net/weixin_38180645/article/details/82856407 完成编译环境配置

1 编译 uboot

  • 进入目录 Hi3519AV100_SDK_V2.0.1.0/osdrv/opensource/uboot

  • 解压文件
    tar -xzf u-boot-2016.11.tgz
    cd u-boot-2016.11

  • 编译 uboot ,执行如下命令
    cp configs/hi3519av100_defconfig .config
    make ARCH=arm CROSS_COMPILE=arm-himix200-linux- menuconfig
    make ARCH=arm CROSS_COMPILE=arm-himix200-linux-
    cp ../../../tools/pc/uboot_tools/reg_info.bin .reg
    make ARCH=arm CROSS_COMPILE=arm-himix200-linux- u-boot-z.bin

    将生成可用的 u-boot-hi3519av100.bin 镜像文件

    可选用的配置文件如下:
    hi3519av100_defconfig
    hi3519av100_mmc_defconfig
    hi3519av100_nand_defconfig

2 编译 kernel

下载内核源码

从linux开源社区下载v4.9.37版本的内核,具体可以参考上一篇文章海思Hi3519A开发(1.搭建开发环境)

打补丁

  1. 将下载的 linux-4.9.37.tar.gz 存放到 osdrv/opensource/kernel 目录中
  2. 进入 osdrv 的根目录,执行如下命令:
    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
    cd ../../

注意:

若下载的内核格式为 linux-4.9.37.tar.xz
第一步先用:xz -d linux-4.9.37.tar.xz 命令将 linux-4.9.37.tar.xz 解压为 linux-4.9.37.tar
第二步再用:tar -xvf linux-4.9.37.tar 解压 linux-4.9.37.tar

最后 kernel 目录下文件如下:

kernel

编译 kernel

  • 进入 osdrv/opensource/kernel/linux-4.9.y 目录
  • 执行如下命令:
    cp arch/arm/configs/hi3519av100_smp_defconfig .config
    sudo apt-get install u-boot-tools
    make ARCH=arm CROSS_COMPILE=arm-himix200-linux- menuconfig
    make ARCH=arm CROSS_COMPILE=arm-himix200-linux- uImage

    可选用的配置文件如下:
    hi3519av100_amp_defconfig
    hi3519av100_amp_emmc_defconfig
    hi3519av100_amp_nand_defconfig
    hi3519av100_smp_defconfig
    hi3519av100_smp_emmc_defconfig
    hi3519av100_smp_nand_defconfig

生成的 uImage 在 linux-4.9.y/arch/arm/boot 目录下

3 SDK 提供的 uboot、kernel、rootfs

如果你实在是懒得编译,海思还很贴心的提供了编译好的镜像文件。
在目录 Hi3519AV100_SDK_V2.0.1.0/smp_image_glibc 下,不仅有 uboot.binuImage ,还提供了各个版本的 roootfs
smp

参考文章

  • Ubuntu18.0.4上编译Hi3519AV100 uboot和kernel
  • ubuntu18.04 编译内核 学习记录

你可能感兴趣的:(华为海思Hi3519A开发)