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

来自乐兔兔Wiki
跳到导航 跳到搜索
 
(未显示2个用户的28个中间版本)
第1行: 第1行:
== '''下载源码''' ==
+
===下载源码===
从网盘上下载源码到工作目录
+
从网盘下载源码到工作目录
::*Uboot
+
*Uboot:Linux3.14.52/linux源码/3.14.52_uboot.tar.gz
::*Kernel
+
*Kernel:Linux3.14.52/linux源码/3.14.52_kernel.tar.gz
  
=='''检查交叉编译工具链'''==
+
===检查交叉编译工具链===
 
如果还没有安装交叉工具链,请参考[[Windows-7 Ubuntu-14.04.5 64位开发环境指导|《Ubuntu14.04+Win7》]]安装开发环境及交叉编译工具链。
 
如果还没有安装交叉工具链,请参考[[Windows-7 Ubuntu-14.04.5 64位开发环境指导|《Ubuntu14.04+Win7》]]安装开发环境及交叉编译工具链。
  
第21行: 第21行:
 
如果有如上的打印信息,说明交叉编译链安装成功。
 
如果有如上的打印信息,说明交叉编译链安装成功。
  
=='''Uboot编译'''==
+
===Uboot编译===
 
创建自己的工作目录,把uboot源码解压到工作目录中
 
创建自己的工作目录,把uboot源码解压到工作目录中
 
<pre>
 
<pre>
$ cd ~
+
$ mkdir ~/source_code
$ mkdir uboot-imx
+
$ mv uboot.tar.gz ~/source_code
$ mv uboot.tar.gz uboot-imx
+
$ cd ~/source_code
$ cd uboot-imx
+
$ tar -zxvf uboot.tar.gz
$ tar zxvf uboot.tar.gz
 
 
</pre>
 
</pre>
 
进入uboot工作目录,输入编译指令
 
进入uboot工作目录,输入编译指令
  $ make mx6qsabresd_config
+
$ cd ~/source_code/uboot-imx
  $ make –j4
+
  $ make mx6qlttevm100_2G_defconfig
 +
  $ make -j4
 
编译完成后,会在uboot-imx/目录下生成对应的u-boot.imx文件。一般修改源码后,只执行最后一步即可。
 
编译完成后,会在uboot-imx/目录下生成对应的u-boot.imx文件。一般修改源码后,只执行最后一步即可。
  
第38行: 第38行:
  
 
[[文件:Imx6-uboot.jpg|600px]]
 
[[文件:Imx6-uboot.jpg|600px]]
=='''编译kernel'''==
+
 
 +
===编译kernel===
 
创建自己的工作目录,把kernel源码解压到工作目录中
 
创建自己的工作目录,把kernel源码解压到工作目录中
 
<pre>
 
<pre>
$ cd ~
+
$ mkdir ~/source_code
$ mkdir kernel-imx
+
$ mv kernel.tar.gz ~/source_code
$ mv uboot.tar.gz kernel-imx
+
$ cd ~/source_code
$ cd kernel-imx
+
$ tar -zxvf kernel.tar.gz
$ tar zxvf kernel.tar.gz
 
 
</pre>
 
</pre>
 
进入kernel工作目录,输入编译指令
 
进入kernel工作目录,输入编译指令
  $ make ltt_mx6_defconfig
+
$ cd ~/source_code/kernel-imx
  $ make -j4
+
  $ make imx_v7_defconfig
 +
$ cp lttevm100_config .config
 +
  $ make zImage -j4
 
编译完成后,会在arch/arm/boot目录下生成对应的zImage文件。一般修改源码后,只执行最后一步即可。
 
编译完成后,会在arch/arm/boot目录下生成对应的zImage文件。一般修改源码后,只执行最后一步即可。
  
第56行: 第58行:
 
[[文件:Imx6-kernel.jpg|600px]]
 
[[文件:Imx6-kernel.jpg|600px]]
  
=='''编译设备树'''==
+
===编译设备树===
 
进入kernel工作目录,输入编译指令
 
进入kernel工作目录,输入编译指令
  $ cd kernel-imx
+
  $ cd ~/source_code
  $ make imx6q-sabresd.dtb
+
  $ make imx6q-lttevm100.dtb
编译完成后,在arch/arm/boot/dts/目录下会生成imx6q-sabresd.dtb。
+
编译完成后,在arch/arm/boot/dts/目录下会生成ltt-mx6q-evm100.dtb。
  
 
文件编译完成如下:
 
文件编译完成如下:
  
 
[[文件:Imx6-dtb.jpg|500px]]
 
[[文件:Imx6-dtb.jpg|500px]]

2019年11月1日 (五) 16:23的最新版本

下载源码

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

  • Uboot:Linux3.14.52/linux源码/3.14.52_uboot.tar.gz
  • Kernel:Linux3.14.52/linux源码/3.14.52_kernel.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源码解压到工作目录中

$ mkdir ~/source_code
$ mv uboot.tar.gz ~/source_code
$ cd  ~/source_code
$ tar -zxvf uboot.tar.gz

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

$ cd ~/source_code/uboot-imx
$ make mx6qlttevm100_2G_defconfig
$ make -j4

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

编译完成后如下:

Imx6-uboot.jpg

编译kernel

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

$ mkdir ~/source_code
$ mv kernel.tar.gz ~/source_code
$ cd ~/source_code
$ tar -zxvf kernel.tar.gz

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

$ cd ~/source_code/kernel-imx
$ make imx_v7_defconfig
$ cp lttevm100_config .config
$ make zImage -j4

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

编译完成后如下:

Imx6-kernel.jpg

编译设备树

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

$ cd ~/source_code
$ make imx6q-lttevm100.dtb

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

文件编译完成如下:

Imx6-dtb.jpg