博客
关于我
【Linux系统移植】Buildroot 根文件系统构建
阅读量:192 次
发布时间:2019-02-28

本文共 1840 字,大约阅读时间需要 6 分钟。

Buildroot 配置指南

Buildroot 与 busybox 比较

在嵌入式系统开发中,Buildroot 和 busybox 是两种常用的构建工具。选择哪种工具取决于项目需求。

Buildroot 的优势

  • 功能全面:Buildroot 集成了众多常见的第三方库和软件,能够构建交叉编译工具链、根文件系统、uboot 以及 Linux 内核镜像。
  • 配置简单:相比于 yocto,Buildroot 的配置操作更为简单,类似于内核配置,容易理解,且编译要求及磁盘空间需求较小。

busybox 的特点

  • 用途有限:busybox 主要用于构建一些常用命令和文件,适合简单的系统需求。
  • 库文件支持:需要自行移植如 alsa、iperf、mplayer 等第三方软件的库文件。
  • 默认设置:默认没有用户名和密码,需要手动配置。

Buildroot 配置步骤

1. Buildroot 官方资源

  • 官网地址:buildroot.org
  • 使用版本:buildroot-2019.02.6.tar.bz2

2. 配置菜单

运行以下命令进入配置界面:

make menuconfig

3. 主要配置项

Target options

  • 目标架构:选择 ARM (little endian)
  • 目标格式:选择 ELF
  • 目标变体:选择 cortex-A7
  • 目标 ABI:选择 EABIhf
  • 浮点策略:选择 NEON/VFPv4
  • 指令集:选择 ARM

Toolchain

  • 工具链类型:选择 External toolchain
  • 工具链路径:设置交叉编译器的绝对路径,如 /usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf
  • 编译器版本:设置工具链版本,如 4.9.x
  • 库文件支持:选择需要支持的功能,如 SecureCRT、RPC 和 C++。

系统配置

  • 系统 hostname:自定义设置,如 alpha_imx6ull
  • 系统欢迎语:设置自定义欢迎信息。
  • 初始化系统:选择 BusyBox。
  • 设备管理:选择动态使用 devtmpfs + mdev。
  • 登录设置:启用 root 登录,设置密码。

文件系统镜像

  • 文件系统类型:选择 ext2/3/4(如 EMMC 或 SD 卡使用 ext4 格式)。
  • 存储方式:选择使用 ubifs 如果使用 NAND 存储。

内核与 Bootloader

  • 禁止编译:在 Kernel 和 Bootloaders 菜单中,分别取消选择 [ ] Linux Kernel 和 [ ] U-Boot。

第三方软件包

  • 可选软件:如 alsa-utils、ffmpeg、iperf 等工具,根据项目需求选择。

4. busybox 配置

在 Buildroot 下,busybox 的配置文件位于 /output/build/busybox-<版本>

修改 Makefile

在解压目录下修改 Makefile,如:

make menuconfig

Chinese 支持

默认 busybox 可能会在 SecureCRT 中显示异常字符。需修改以下文件:

  • /output/build/busybox-1.29.3/libbb/printable_string.c
  • /output/build/busybox-1.29.3/libbb/unicode.c
  • 修改完成后,重新编译:

    sudo make busybox

    5. 编译 Buildroot

    运行以下命令进行编译:

    sudo make

    编译完成后,生成的根文件系统位于 /output/buildroot-2019.02.6/output/images/

    根文件系统测试

    1. NFS 启动

    在启动脚本中添加以下参数:

    setenv bootargs 'console=ttymxc0,115200 root=/dev/nfs rw nfsroot=192.168.137.18:/home/pjw/linux/nfs/buildrootfs ip=192.168.137.20:192.168.137.18:192.168.1.1:255.255.255.0::eth0:off'

    2. 修改用户信息

    修改 /etc/profile 文件,设置:

    PS1='[\u@\h]:\w$:'export PS1

    修改完成后重启系统,查看效果。

    转载地址:http://ckzi.baihongyu.com/

    你可能感兴趣的文章
    npm,yarn,cnpm 的区别
    查看>>
    NPOI
    查看>>
    NPOI之Excel——合并单元格、设置样式、输入公式
    查看>>
    NPOI初级教程
    查看>>
    NPOI利用多任务模式分批写入多个Excel
    查看>>
    NPOI在Excel中插入图片
    查看>>
    NPOI将某个程序段耗时插入Excel
    查看>>
    NPOI格式设置
    查看>>
    NPOI设置单元格格式
    查看>>
    Npp删除选中行的Macro录制方式
    查看>>
    NR,NF,FNR
    查看>>
    nrf24l01+arduino
    查看>>
    nrf开发笔记一开发软件
    查看>>
    nrm —— 快速切换 NPM 源 (附带测速功能)
    查看>>
    nrm报错 [ERR_INVALID_ARG_TYPE]
    查看>>
    NS3 IP首部校验和
    查看>>
    NSDateFormatter的替代方法
    查看>>
    NSError 的使用方法
    查看>>
    NSGA-Ⅲ源代码
    查看>>
    nsis 安装脚本示例(转)
    查看>>