用buildroot编译文件系统 (MYZR-IMX6-EK200)

主机平台: UBUNTU14.04
硬件平台:明远智睿MY-IMX6-EK200
编译器:      gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz
buildroot版本:buildroot-2017.02.5.tar.bz2

1.解压
$ mkdir ~/IMX6/
$ tar xvf ~/IMX6/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz

$ mkdir ~/buildroot
$ cd ~/buildroot
$ tar jxvf  buildroot-2017.02.5.tar.bz2
$ cd buildroot-2017.02.5/

2.配置
$ make imx6q-sabresd_defconfig
$ make menuconfig

采用外部编译器gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz
Toolchain--->
设置Toolchain type为External toolchain
Toolchain为Custom toolchain
Toolchain path为/home/linyn/IMX6/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/
选择【*】Toolchain has C++ support?

主要注意External toolchain kernel headers series (3.1.x)这个选项的设置,选择编译工具的内核版本号,文件
   ~/IMX6/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/arm-linux-gnueabihf/libc/usr/include/linux/version.h
    保存有版本号(每一个编译工具都有这个文件的),是十进制的,把它转换成16进制就能够看出来版本号是多少,如个人version.h是这样
   #define LINUX_VERSION_CODE 196865
    #define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))
    196609版本的16进制是0x30101,那版本号就是3.01.01,就是3.0.1了,因此这里选3.1.x
看图片“配置1”

System configuration--->
(myzr) System hostname  设置主机名
/dev management (Dynamic using devtmpfs + mdev)   kernel配置支持medv,系统也配置mdev
Run a getty (login prompt) after boot --->
(ttymxc0) TTY port               设置登录串口
         Baudrate (115200)  --->       波特率

不编译kernel
Kernel--->
[] Linux Kernel  不选

不编译U-BOOT
Bootloaders --->
[] U-Boot          不选

$ make -j4              //用4个线程编译
结果看产生output/images/rootfs.tar
看图片“结果1”和“结果2”(结果2是没编译kernel报的错误无论)

最后修改一下rootfs里面的

vim etc/issue 
Welcome to MY-IMX6-EK200

vim etc/profile

if [ "$PS1" ]; then
        if [ "`id -u`" -eq 0 ]; then
         export PS1='\u@\h:\w\# '
        else
         export PS1='\u@\h:\w\$ '
        fi
fi

最后压缩烧写进去,用root登录,默认没密码
VFS: Mounted root (ext3 filesystem) on device 179:2.
devtmpfs: mounted
Freeing unused kernel memory: 396K (809c6000 - 80a29000)
Starting logging: OK
Starting mdev...
Initializing random number generator... random: dd urandom read with 47 bits of entropy available
done.
Starting network: OK
Welcome to MY-IMX6-EK200
myzr login: root
root@myzr :~# 
root@myzr :~# 
root@myzr :~# ls
root@myzr :~# ls /
bin         lib         lost+found  opt         run         tmp
dev         lib32       media       proc        sbin        usr
etc         linuxrc     mnt         root        sys         var

看图片“登录”linux

若是想了解更多,请发邮件到enquiry@myzr.com.cn.vim