“LInux-3.14.52编译手册”的版本间的差异

来自乐兔兔Wiki
跳到导航 跳到搜索
第49行: 第49行:
 
</pre>
 
</pre>
 
进入kernel工作目录,输入编译指令
 
进入kernel工作目录,输入编译指令
  $ make ltt_mx6q_evm100_defconfig
+
  $ make imx_v7_defconfig
 +
$ cp lttevm100_config .config
 
  $ make zImage -j4
 
  $ make zImage -j4
 
编译完成后,会在arch/arm/boot目录下生成对应的zImage文件。一般修改源码后,只执行最后一步即可。
 
编译完成后,会在arch/arm/boot目录下生成对应的zImage文件。一般修改源码后,只执行最后一步即可。

2019年10月31日 (四) 09:22的版本

下载源码

从网盘下载源码到工作目录

  • Uboot:Linux3.14.52/linux源码/uboot.tar.gz
  • Kernel:Linux3.14.52/linux源码/kerner.tar.gz

检查交叉编译工具链

如果还没有安装交叉工具链,请参考《Ubuntu14.04+Win7》安装开发环境及交叉编译工具链。

安装完成后,输入指令查看交差编译编译器版本。

arm-linux-gcc -v

串口输出:

Using built-in specs.
COLLECT_GCC=arm-linux-gcc
COLLECT_LTO_WRAPPER=/opt/fsl-linaro-toolchain/bin/../libexec/gcc/arm-fsl-linux-gnueabi/4.6.2/lto-wrapper
Target: arm-fsl-linux-gnueabi
Configured with: /work/build/.build/src/gcc-linaro-4.6-2011.06-0/configure --build=i686-build_pc-linux-gnu --host=i686-build_pc-linux-gnu --target=arm-fsl-linux-gnueabi --prefix=/work/fsl-linaro-toolchain-2.13 --with-sysroot=/work/fsl-linaro-toolchain-2.13/arm-fsl-linux-gnueabi/multi-libs --enable-languages=c,c++ --with-pkgversion='Freescale MAD -- Linaro 2011.07 -- Built at 2011/08/10 09:20' --enable-__cxa_atexit --disable-libmudflap --disable-libgomp --disable-libssp --with-gmp=/work/build/.build/arm-fsl-linux-gnueabi/build/static --with-mpfr=/work/build/.build/arm-fsl-linux-gnueabi/build/static --with-mpc=/work/build/.build/arm-fsl-linux-gnueabi/build/static --with-ppl=/work/build/.build/arm-fsl-linux-gnueabi/build/static --with-cloog=/work/build/.build/arm-fsl-linux-gnueabi/build/static --with-libelf=/work/build/.build/arm-fsl-linux-gnueabi/build/static --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm -L/work/build/.build/arm-fsl-linux-gnueabi/build/static/lib -lpwl' --enable-threads=posix --enable-target-optspace --enable-plugin --enable-multilib --with-local-prefix=/work/fsl-linaro-toolchain-2.13/arm-fsl-linux-gnueabi/multi-libs --disable-nls --enable-c99 --enable-long-long --with-system-zlib
Thread model: posix
gcc version 4.6.2 20110630 (prerelease) (Freescale MAD -- Linaro 2011.07 -- Built at 2011/08/10 09:20) 

如果有如上的打印信息,说明交叉编译链安装成功。

Uboot编译

创建自己的工作目录,把uboot源码解压到工作目录中

$ cd ~
$ mkdir uboot-imx
$ mv uboot.tar.gz uboot-imx
$ cd uboot-imx
$ tar zxvf uboot.tar.gz

进入uboot工作目录,输入编译指令

$ make mx6q-lttevm100-2G_defconfig
$ make -j4

编译完成后,会在uboot-imx/目录下生成对应的u-boot.imx文件。一般修改源码后,只执行最后一步即可。

编译完成后如下:

Imx6-uboot.jpg

编译kernel

创建自己的工作目录,把kernel源码解压到工作目录中

$ cd ~
$ mkdir kernel-imx
$ mv uboot.tar.gz kernel-imx
$ cd kernel-imx
$ tar zxvf kernel.tar.gz

进入kernel工作目录,输入编译指令

$ make imx_v7_defconfig
$ cp lttevm100_config .config
$ make zImage -j4

编译完成后,会在arch/arm/boot目录下生成对应的zImage文件。一般修改源码后,只执行最后一步即可。

编译完成后如下:

Imx6-kernel.jpg

编译设备树

进入kernel工作目录,输入编译指令

$ cd kernel-imx
$ make ltt-mx6q-evm100.dtb

编译完成后,在arch/arm/boot/dts/目录下会生成ltt-mx6q-evm100.dtb。

文件编译完成如下:

Imx6-dtb.jpg