打印
[ARM9、LPC]

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

[复制链接]
625|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
明远智睿Lan|  楼主 | 2019-1-15 13:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
主机平台: 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

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

206

主题

261

帖子

4

粉丝