首页 > 技术文章 > Ubuntu驱动程序开发4-内核移植和配置

Mike2019 2020-05-15 09:14 原文

1 编译

在kernel文件夹下新建一个mx6ull_mk_emmc.sh文件,输入以下内容:

#!/bin/sh
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean      #
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- imx_v7_defconfig  #使用默认配置文件配置Linux
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig      #启动图形化配置界面
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- all -j16        #编译Linux

1.1 命令输出

  make -s: 静默输出
  make V=1: 默认编译V=0输出短命令,设置变量V=1来实现完整命令输出

1.2 设置编译结果输出目录

  make O=outdir: 将编译出来的目标文件输出到单独的outdir目录中,一般不指定

1.3 代码检查

  make C=1: 使能代码检查

  make C=2: 检查所有源码文件

1.4 模块编译

  make M=dir: 允许单独编译某个模块

  老语法

  make SUBDIRS=dir

举例:

make -s ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- all -j16  #-s,静默输出
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- all V=1 -j16  #默认编译V=0是不会在终端显示完整的命令,设置变量V=1来实现完整命令输出

   Linux内核编译完成后会在arch/arm/boot目录下生成zImage镜像文件,如果使用设备树,会在arch/arm/boot/dts目录下开发板对应的.dtb文件

推荐阅读