构建根文件系统_Linux之构建文件系统
01
下载busybox
busybox从诞生至今已有近20年的历史,目前已经成为嵌入式行业主流的文件系统。官网是https://busybox.net/,点击GetBusyBox下面的Download Source进入到源码下载界面。
02
busybox的配置及编译
下载源码之后将源码拷贝到编译环境中,在编译前需要对busybox进行配置,主要涉及三方面的内容:
1)编译工具链设置2)编译模式设置3)文件系统支持的功能前两项为必须完成的,而第三点根据用户自己的需求自行制定。执行 makemenuconfig进入到配置界面。
编译工具链设置
设定的交叉编译工具链最好和kernel编译时使用的工具链一样,例如将交叉编译工具链设置为arm-linux-gnueabi-,则进入到build options中进行设置。
当然,也可以进入到根目录下的Makefile文件中修改对应的交叉编译工具链以及平台信息等。
编译模式设置
设置编译出的镜像文件是静态还是动态的,若是动态编译,需要手动将交叉编译工具链下的lib库拷贝到最终的_install文件夹下面,反之则不需要。
静态编译的配置如下,可以看到括号内的提示是不包含共享库。该项不使能则编译方式为动态的。
文件系统支持的功能剪裁
busybox可以支持上百种命令行及其他功能,根据自己的需求可进行增减,例如增加devmem命令行,则勾选上对应的使能框。
执行make、makeinstall后,在编译路径下会生成_install文件夹,里面包含bin、sbin、usr等文件。查看刚添加的devmem命令,发现已编译出。
此时将busybox下编译出来的_install拷贝出来作为文件系统的基本框架,然后再增添文件系统其他必须的组件即可。
03
构建文件系统
配置lib目录
将_install下的所有文件拷出并创建lib、etc文件夹,然后将交叉编译工具链arm-linux-gnueabi下的lib库拷贝到创建的lib文件夹下。
然后再依次创建home、opt、run、sys、var、boot、dev 、media、proc、tmp、usr。
配置lib目录
创建fstab文件
创建inittab文件
创建rcS文件
在创建rcS文件前需要在etc目录下手动创建init.d文件夹,并在init.d文件夹下创建rcS。
至此,执行tar -jcvf rootfs.tar.bz2 *,已经构建了一个可以基本运行的根文件系统了。
03
文件系统验证
使用mfgtools将压缩好的rootfs.tar.bz2下载到mmc中,再次启动系统,可以看到制作的根文件系统已经可以正常工作,我们之前添加的devmem命令也可以正常执行。
构建根文件系统_Linux之构建文件系统相关推荐
- 教你用 buildroot 构建根文件系统
如果想要构建完整的根文件系统,大家一般都是使用buildroot,它不仅包含了 busybox 的功能,而且里面还集成了各种软件,需要什么软件就选择什么软件,不需要我们去移植. 嵌入式系统三大部分:b ...
- 构建根文件系统(一)
接着前边内核移植的文章,记录根文件系统的构建. 这里要用到强大的busybox,我选择的版本是busybox-1.18.5.tar.bz2 ,1.17的也可以:之所以选择这个版本是因为基于现在的交叉编 ...
- 构建根文件系统的/dev目录
在嵌入式ARM开发中,用busybox制作根文件系统时,其中必须构建的一个目录就是/dev目录.这个目录对所有的用户都十分重要,因为在这个目录中包含了所有Linux系统中使用到的外部设备,即所有的设备 ...
- buildroot构建根文件系统
buildroot构建根文件系统 一.简介 Buildroot是Linux平台上一个构建嵌入式Linux系统的框架.整个Buildroot是由Makefile脚本和Kconfig配置文件构成的.本文使 ...
- Buildroot 构建根文件系统(Jz2440)
1. Buildroot 简介 Buildroot是Linux平台上一个构建嵌入式Linux系统的框架.整个Buildroot是由Makefile脚本和Kconfig配置文件构成的.你可以和 ...
- 野火i.MX6ULL Pro开发板构建根文件系统
眼瞅着2020年马上就要到头了,承诺给大家的Linux移植三部曲还差最后一篇,这个拖延癌晚期恐怕今年是治不好了,不到最后的DL绝不妥协-- (这句话是年前写的,写了个开头就疫情了,封城,电脑丢在了公司 ...
- 从零开始构建根文件系统
以下内容源于网络资源的学习与整理,如有侵权请告知删除. 参考博客 Uboot和系统移植(19)------- 根文件系统构建过程详解_big__C的博客-CSDN博客 一.总结 (1)本节在前面的理论 ...
- 嵌入式中利用ubuntu-base构建根文件系统
在嵌入式环境中,我们最常用busybox.yocto或buildroot来构建根文件系统,这种情况下,当我们需要使用一些组件的时候,往往需要我们使用源码编译,移植到开发板中.那有没有像ubuntu的文 ...
- 【ARM】使用Ubuntu-base构建根文件系统
使用Buildroot构建根文件系统 介绍 资源下载 配置根文件系统 设置软件源 安装必要软件 添加新用户 设置主机名称和本机IP 设置终端串口 网络DHCP FTP服务器搭建 串口无法登录 开机启动 ...
- linux busybox路径,BusyBox构建根文件系统
BusyBox是一个复合了大量简易版Linux工具的程序,嵌入式系统中使用它可以快速建立一个相对简易的根文件系统. 1.下载busybox 官网 www.busybox.net 目前(2015.8.8 ...
最新文章
- 百度搜索技巧语法大全
- python if语句多个条件-Python 条件语句(if..elif..else)
- Android应用开发基础篇(1)-----Button
- WebRTC / Jitsi / 多人视频通讯常用架构 Mesh / MCU / SFU
- how is opportunity detail page display first item by default
- 流程平台:子表控件(二) - 属性、事件、方法
- 2021年电竞营销行业半年度报告
- excel公式:用countif、match、index合并同类项
- QStandardItemModel——数据模型
- Unity3D-后期处理 Post-process Volume Profile
- cad画流程图的插件_CAD高手教您画工艺流程图设计一些列图
- (转载) Android RecyclerView 使用完全解析 体验艺术般的控件
- 【第一期】大话计算机网络(猫、路由器、wifi)
- 魔百盒CM201-1、CM211-1朝歌ZG_支持UWE5621WiFi驱动_免拆卡刷固件包
- 共享服务器与独立服务器的区别是什么?
- 唐仲英基金会:从“钢铁大王”到“十大慈善家”,他的一生如此传奇
- 计算机编程背那个英语词汇,编程英语词汇
- 【阅读】《法治的细节》笔记整理
- 基于梯度优化的混沌PSO算法matlab仿真以及在磁悬浮球系统方面的应用
- java毕业设计软件S2SH人力资源管理系统|人事薪资招聘oa人力请假考勤工资[包运行成功]
热门文章
- Python学习之路--Day5
- 关于使用swiper心得
- autoresizingMask的用法
- 关于 Profile
- 可逆加密,支持中文,支持密钥,加密后的密文每次都不同,且可随意改变算法 组件之Vb.Net版本...
- 第十三次CCF CSP认证(2018年3月)真题跳一跳
- 李宏毅机器学习HW1_pm2.5prediction(adagrad/gradient descent/SGD)
- 利用ENVI自带全球DEM数据计算区域平距高程
- Windows安装apache+php的nts版本
- Android Context简单说明