Freescale iMX6的u-boot和kermel编译,并生成.dtb

前提:

        ①.已有u-boot源码,要求包含配置文件;

        ②.已有kernel源码,要求包含配置文件(此处使用了imx_v7_defconfig)、imx6solo_RIoTboard.dts (用于生成dtb文件)

        ②.安装了LTIB,此处将借用LTIB的工具链(?)

        ③.采用的开发板为RIoTboard  iMX6 Solo,其它开发板借鉴。


一、编译u-boot:

       cd到u-boot源码根目录:

        1、export PATH=/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/:$PATH

        2、export ARCH=arm

        3、export CROSS_COMPILE=arm-none-linux-gnueabi-

        4、make mrproper

        5、make mx6solo_RIoTboard_config

        6、make

        ==》u-boot 编译成功,生成了u-boot.bin,但下载需要u-boot.imx;

        7、./tools/mkimage -n board/freescale/mx6solo_RIoTboard/mx6solo_RIoTboard.cfg -T imximage -e 0x10008000 -d u-boot.bin u-boot.imx

        ==》生成了u-boot.imx,可以用于下载。

二、编译kernel:

        需要先安装lzop:sudo apt-get install lzop

        cd到kernel源码根目录:

        1、export PATH=/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/:$PATH

        2、export ARCH=arm

        3、export CROSS_COMPILE=arm-none-linux-gnueabi-

        (忽然发现不需要上面3步有时也行)

        4、make imx_v7_defconfig

        5、make uImage LOADADDR=0x10008000

        ==》生成了uImage,可用于下载。

        补充:

        ①.可使用make menuconfig来配置内核;

       ②.安装完LTIB后第一次使用make需要先运行一次./ltib生成/opt/freescale/usr目录。

三、生成dtb文件:

        接上:

        6、make imx6solo_RIoTboard.dtb

        ==》生成.dtb文件。

        

        

之后的补充:

        1、make uImage时的错误:

                LZO     arch/arm/boot/compressed/piggy.lzo
                /bin/sh: 1: lzop: not found
                make[2]: *** [arch/arm/boot/compressed/piggy.lzo] 错误 1
                make[1]: *** [arch/arm/boot/compressed/vmlinux] 错误 2
                make: *** [uImage] 错误 2

        解决:

        ①.安装lzo:

                wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.06.tar.gz

                ./configure --enable-shared

                make

                make install

        ②.安装lzop:

                wget 'http://www.lzop.org/download/lzop-1.03.tar.gz'

                ./configure

                make

                make install

        以后这种能轻易搜到解决方案的问题就不写了。

你可能感兴趣的:(嵌入式Linux)