使用buildroot搭建linux文件系统

(文件系统搭建,强烈建议直接用buildroot,官网上有使用教程非常详细buildroot官网

文件系统通常要包含很多第三方软件,比如busybox,tslib,qt,vim,交叉编译工具等,为了避免繁杂的移植工作。buildroot应运而生。通过menuconfig配置我们需要的功能,不需要的功能去掉,再执行make指令编译,buildroot就会自动从指定的服务器上下载源码包,自动编译,自动搭建成我们所需要的嵌入式根文件系统。

1:获取buildroot

我们可以从buildroot官网(http://buildroot.uclibc.org/download.html)获取buildroot源码包,buildroot基本上三个月更新一次,这里我们实际下载的源码包是buildroot-2015.02.tar.gz

2:配置buildroot

将源码包复制到/opt目录下,并解压

tar -xvf buildroot-2015.02.tar.gz

进入目录,执行配置命令

cd /opt/buildroot-2015.02
make menuconfig

配置界面如下:

2.1 :进入target options

将Target Architecture配置为ARM(littlt endian),将Target Architecture Variant配置为cortex-A9,将Target ABI配置为EABI,将ARM instruction set配置为ARM,再退回上一界面

2.2:进入toolchain

将Toolchaintype配置为Externaltoolchain,然后在Toolchain中选择交叉编译工具的版本,如ARM 2013.11,在Toolchain origin中选择Toolchain to be downloaded andinstalled,后面编译时,buildroot将会自动下载对应的工具链并自动安装。选中Enable MMUsupport,退回上一界面

2.3:进入System configuration

在system hostname一栏中输入开发板的名称,如metal box,在system banner中可输入欢迎语,如welcome to metal world。在Init system中选择BusyBox,在/dev management中选择Dynamic using mdev,即使用mdev动态加载设备节点的方式,然后在Path to thepermission tables中选择设备节点的配置表,这里我们一定要选择system/device_table_dev.txt,否则后面在dev目录下将不会生成各种设备节点。当然我们也可以手动的配置该文件,添加必要的节点或删除不需要的节点。Root password为配置进入linux控制台终端后的密码,为空则登录时不需要密码,默认登录用户名为root。选中Run agetty(login prompt)after boot。

再进入下面的getty options选项:

将TTY port配置为ttySAC3,将baudrate配置为115200,对应开发板的打印串口。

再返回上一界面,将Root filesystem overlay directories设置为board/metalboard/exynos4412/rootfs-overlay,这里表示该路径下的所有文件将会无条件覆盖buildroot默认的相关路径文件。配置这一步的同时,我们一并将开发板光盘中的相关文件拷贝到buildroot对应的board目录。返回上一界面。

2.4:进入Filesystem images

选中ext2/3/4root filesystem,然后在ext2/3/4variant中选择ext4,选中tar the root filesystem,最后保存当前的配置并退出,配置完成。大家也可以根据自己的实际需要进行配置。

在target packages目录下,有无限的宝藏供大家使用,从此和移植狗say goodbye

3:编译buildroot

只需在buildroot的根目录下执行make指令即可编译整个buildroot。第一次编译可能会弹出一些错误,这基本上是没有安装一些第三方工具造成的。按照提示安装即可,有问题问度娘。

开始编译的时候,buildroot会自动下载所需要的相关源码包,自动编译安装。

3.1:下载的源码包在buildroot根目录的dl目录下

3.2:编译出来的各种文件会放在buildroot目录下面的output目录

3.2.1: 需要烧写的最终的映像文件在output/images目录下

3.2.2: output/target目录下为对应未打包的文件系统,在调试时可借助于该目录下的文件分析原因

4: 编译完成,烧写测试。

用fastboot烧入开发版

fastboot  flash  system  rootfs.ext4

启动开发板看打印信息

Starting mdev...
/etc/init.d/S10mdev: line 9: /proc/sys/kernel/hotplug: No such file or directory
mdev: /sys/class: No such file or directory

如上述错误为找不到hotplug文件,直接删除s10mdev文件第九行即可。其他情况类似分析,有问题问度娘。通常不会有大问题。

借助buildroot一个含有各项所需要包(busy box,vi,qt,ffmpeg等)的文件系统就做好了,真是利器,可以让工程师专注于核心内容的开发,避免繁琐的重复过程。z

时间: 2024-08-02 07:03:18

使用buildroot搭建linux文件系统的相关文章

使用buildroot搭建linux文件系统【转】

本文转载自:http://blog.csdn.net/metalseed/article/details/45423061 (文件系统搭建,强烈建议直接用buildroot,官网上有使用教程非常详细buildroot官网) 文件系统通常要包含很多第三方软件,比如busybox,tslib,qt,vim,交叉编译工具等,为了避免繁杂的移植工作.buildroot应运而生.通过menuconfig配置我们需要的功能,不需要的功能去掉,再执行make指令编译,buildroot就会自动从指定的服务器上

buildroot 制作Linux文件系统初级使用教程

buildroot 下载地址:https://buildroot.org/download.html 放在Linux文件下解压出来. 使用make menuconfig 进行配置相关的东西. 在使用这条命令之前,首先要安装相关的东西. 运行如下命令进行安装相关的库文件,我的是在Ubuntu14.04的环境下进行的. sudo apt-get install libncurses5-dev 1. target options 这是相关的目标选项,有关architecture相关的配置在这里. 2.

RedHat5.9下搭建NFS文件系统

注:NFS文件系统是Linux.Unix等之间共享的文件系统,和windows是不能实现共享的. 实验要求: 1.在 / 目录下创建一个jwl文件夹,将/jwl 共享给主机192.168.1.19,使其对/jwl文件夹具有可写.同步.允许以root权限访问. 2.将/jwl 共享给192.168.1.17,权限为只读访问.异步写入.访问权限均降为nfsnobody用户. 操作步骤: 1.安装软件包 [[email protected] ~]# rpm -q portmap nfs-utils  

Linux文件系统应用---系统数据备份和迁移(用户角度)

1   前言 首先承诺:对于从Windows系统迁移过来的用户,困扰大家的  “Linux系统下是否可以把系统文件和用户文件分开到C盘和D盘中” 的问题也可以得到完满解决. 之前的文章对Linux的文件系统有过粗略的介绍,但是了解文件系统结构后,有什么用途呢?在本章节将围绕 "基于用户角度的Linux下的数据备份和迁移" 的场景,对Linux文件系统相关知识进行实地应用,产生生产力 . 在了解Linux文件系统之后,就可以 艺高人胆大 玩转Linux的文件目录了. 本文案例 --- &

旅途之为企业搭建linux VSFTP Server

一.vsftp简介               vsftp是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的全称是Very Secure FTP 从此名称可以看出来,编制者的初衷是代码的安全.安全性是编写vsftp的初衷,除了这与生俱来的安全特性以外,高速与高稳定性也是VSFTP的两个重要特点.在速度方面:使用ASCII代码的模式下载数据时,VSFTP的速度是Wu-FTP的两倍,如果Linux主机使用2.4.*的内核,在千兆以太网上的下载速度可达86MB/S.在稳定方面:VSFT

搭建linux下的DNW烧写环境(替代windows下的超级串口终端和DNW)

软件环境:ubuntu 13.10 硬件环境:TQ2440开发板 由于我的PC机操作系统是win8.1,不知何故死活装不上天嵌给的USB下载驱动,所以在PC下烧写开发板系统和裸机程序变得不可能,后来经过一番摸索,发现完全可以在linux下用minicom代替windows下的超级串口终端,用dnw2(linux版本)代替windows下的DNW,下面是具体的环境搭建过程: 搭建linux下的minicom串口通信环境: 1.1 下载并安装minicom,在终端输入命令:sudo apt-get

tiny4412学习(一)之从零搭建linux系统(烧写uboot、内核进emmc+uboot启动内核)【转】

本文转载自:http://blog.csdn.net/fengyuwuzu0519/article/details/74080109 版权声明:本文为博主原创文章,转载请注明http://blog.csdn.net/fengyuwuzu0519. 目录(?)[+] 硬件平台:tiny4412 系统:linux-3.5-20151029 文件系统:busybox-1.22.1.tar.bz2 编译器: arm-linux-gcc-4.5.1 目的: 使用uboot引导Linux系统,并挂接根文件系

使用buildroot来编译文件系统

2015-1-9 用buildroot来制作文件系统很方便,编译出来的文件系统是直接可用的,不用添加脚本等麻烦的工作,很多的库和app都可以 直接添加到文件系统里边,如常用的udhcpc,tftp等.本文以以ZYNQ 7010为例,制作一个ramdisk的文件系统,在z-turn开发 板上运行. 1. 到buildroot目录下执行make ARCH=arm menuconfig Target options配置,这个根据CPU的手册来配置 2. toolchain设置,这里不使用buildro

在Mac 上搭建Linux虚拟机--MacOS & VMware10 & CentOS 7

在大型项目开发中, 需要使用Linux下的C语言对工程进行开发, 在个人PC或者工作站上搭建Linux系统十分容易且方便. 本篇文章将介绍操作系统和虚拟机的搭建: 1 操作系统2 虚拟机概念3 Linux镜像下载安装(CentOS7)4 VMware端搭建5 Mac端设置6 配置CentOS (Linux的一个发行版)系统操作环境: VMware Fusion 10.1.3 MacAir 系列 MacOS: 10.13.1 Linux版本: CentOS7 64位 1 操作系统操作系统是安装在P