zoukankan      html  css  js  c++  java
  • 迅为IMX6ULL开发板从零开始编译 buildroot

    从零开始编译 buildroot

    硬件平台 :迅为i.MX6ul开发板

     

    接下来我们就开始学习怎样一步一步配置 buildroot,使用命令:

    make menuconfig

    进入配置界面

     

    1、配置 Target options

    首先配置 Target options 选项,需要配置的项目和其对应的内容如下:

    Target options

    -> Target Architecture = ARM (little endian)

    -> Target Binary Format = ELF

    -> Target Architecture Variant = cortex-A7

    -> Target ABI = EABIhf

    -> Floating point strategy = NEON/VFPv4 -> ARM instruction set = ARM

    配置好如下图:

     

    2、配置 Toolchain

    此配置项用于配置交叉编译工具链,也就是交叉编译器,这里设置为我们自己所使用的交叉编译器即

    可。buildroot 其实是可以自动下载交叉编译器的,但是都是从国外服务器下载的,鉴于国内的网络环境,

    强烈推荐大家设置成自己所使用的交叉编译器。需要配置的项目和其对应的内容如下

    Toolchain

    -> Toolchain type = External toolchain

    -> Toolchain = Custom toolchain //用户自己的交叉编译器

    -> Toolchain origin = Pre-installed toolchain //预装的编译器

    -> Toolchain path = /usr/local/arm/gcc-linaro-5.5.0-2017.10-x86_64_arm-linux-gnueabihf

    -> Toolchain prefix = $(ARCH)-linux-gnueabihf //前缀

    -> External toolchain gcc version = 5.x

    -> External toolchain kernel headers series = 4.1.x

    -> External toolchain C library = glibc/eglibc

    -> [*] Toolchain has SSP support? (NEW) //选中

    -> [*] Toolchain has RPC support? (NEW) //选中

    -> [*] Toolchain has C++ support? //选中

    -> [*] Enable MMU support (NEW) //选中

    Toolchain:设置为 Custom

    toolchain,使用用户自己的交叉编译器。

    Toolchain

    origin:设置为

    Pre-installed toolchain,使用预装的交叉编译器。

    Toolchain

    path:交叉编译器绝对路径。

    Toolchain

    prefix:设置交叉编译器前缀,arm-linux-gnueabihf-gcc。

    配置好如下图:

     

    3、配置 System configuration

    此选项用于设置一些系统配置,比如开发板名字、欢迎语、用户名、密码等。需要配置的 项目和其对

    应的内容如下:

    System configuration

    -> System hostname = iTOP-IMX6UL //平台名字,自行设置

    -> System banner = Welcome to iTOP-IMX6UL //欢迎语

    -> Init system = BusyBox //使用 busybox

    -> /dev management = Dynamic using devtmpfs + mdev //使用

    mdev

    -> [*] Enable root login with password (NEW) //使能登录密码

    -> Root password = topeet //登录密码为 topeet

    System configuration 选项中可以配置平台名字,登录密码等信息。

    配置好如下图:

     

    4、配置 Filesystem images

    -> Filesystem images

    -> [*] ext2/3/4 root filesystem //如果是 EMMC SD 卡的话就用 ext3/ext4

    -> ext2/3/4 variant = ext4 //选择 ext4 格式

    -> [*] ubi image containing an ubifs root filesystem //如果使用

    NAND 的话就用 ubifs

    配置好如下图:

     

    5、禁止编译 Linux 内核和 uboot

    由于从网上下载内核源码和 uboot 然后编译他们比较耗费时间,而且新下载的内核源码,与 uboot 没有

    我们开发板的配置信息,所以需要禁用它们。

    禁止 Linux 内核的编译,配置如下:

    > Kernel

    -> [ ] Linux Kernel //不要选择编译 Linux Kernel 选项!

    接着禁止编译 Uboot,配置如下:

    -> Bootloaders

    -> [ ] U-Boot //不要选择编译 U-Boot 选项!

    6、配置 Target packages

    此选项用于配置要选择的第三方库或软件、比如 alsa-utils、iperf 等工具,但是现 在我们先不选

    择第三方库,先编译一下最基本的根文件系统,如果没有问题的话再重新配置选择第三方库和软件。否则

    编译出问题的时候都不知道怎么找问题。

    接下来重要的一步检查自己的交叉编译,默认支持的内核版本。输入命令:

    vim

    /usr/local/arm/gcc-linaro-5.5.0-2017.10-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/libc/usr/include/linux/

    version.h

    如图:

     

    如上图所示 LINUX_VERSION_CODE 为 262144,此值为 10 进制,转换为 16 进制为 40000,对应的 linux

    内核版本为 4.0.x,在此要把该值改为与 buildroot 中配置的一致,即为 4.1.x,转换为 16 进制为 40100,

    对应的十进制为 262400。(不这样的话会报错)。

    使用命令“make”进行编译,等待编译完成,编译完成以后就会在 buildroot-2021.02.3/output/images

    下生成根文件系统。进入到 images,可以见生成的 rootfs.tar,我们新建一个 system 文件夹。

    rootfs.tar 拷贝到 system 下解压,并删去原来的 rootfs.tar。得到文件如下图所示:

     

    使用命令“vim ./etc/profile”为开发板终端这是名称和路径显示功能。

    添加以下内容如图:

    PS1='[$USER@$HOSTNAME]$PWD# '

    PATH=$PATH

    HOSTNAME=`/bin/hostname`

    export USER LOGNAME PS1 PATH

     

    保存,退出。

    使用命令:

    tar -vcjf rootfs.tar.bz2 ./*

    “ls”命令查看如图:

    将生成的 rootfs.tar.bz2 替换烧写工具中的文件系统烧写到开发板,验证其正确性。

    烧写成功后启动如图:

     

  • 相关阅读:
    mac 系统下删除目录的所有.svn文件
    java DES加密解密文件
    也许,未来需要重新规划
    android选择图片或拍照图片上传到服务器(包括上传参数)
    iOS DES ECB模式对称加密解密
    iOS开发中防止键盘挡住UITextField解决方案
    xCode 4.X 免证书真机公布及调试
    iOS 获取手机的型号,系统版本,软件名称,软件版本
    java DES ECB模式对称加密解密
    解决error: failed to launch"/private/var/mobile/Applications/XX" timed out waiting for app to launch
  • 原文地址:https://www.cnblogs.com/topeet/p/15127549.html
Copyright © 2011-2022 走看看