主机平台: 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
|