匿名
未登录
登录
百问网嵌入式Linux wiki
搜索
查看“Buildroot”的源代码
来自百问网嵌入式Linux wiki
名字空间
页面
讨论
更多
更多
页面选项
Read
查看源代码
历史
←
Buildroot
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
该页面已被保护以防止编辑和其他操作。
您可以查看与复制此页面的源代码。
=什么是buildroot= Buildroot是Linux平台上一个构建嵌入式Linux系统的框架。整个Buildroot是由Makefile脚本和Kconfig配置文件构成的。你可以和编译Linux内核一样,通过buildroot配置,menuconfig修改,编译出一个完整的可以直接烧写到机器上运行的Linux系统软件(包含boot、kernel、rootfs以及rootfs中的各种库和应用程序)。 =buildroot功能详解= 官网使用手册 https://buildroot.org/downloads/manual/manual.html * [[Buildroot_TargetOptions | TargetOptions ]] **目标单板架构配置 * [[Buildroot_BuildOptions | BuildOptions ]] **主要是一些编译时用到的选项,比如dl的路径,下载代码包使用的路径,同时运行多个编译的上限,是否使能编译器缓冲区等等,这里按照默认就行了. * [[Buildroot_Toolchain | Toolchain ]] **此页面主要介绍如何使用buildroot配置内部交叉编译工具链,以及外部交叉编译工具链,还有如何添加自己的交叉编译工具链! * [[Buildroot_SystemConfiguration | SystemConfiguration ]] ** 此页主要涉及配置系统主机名,登陆欢迎信息root密码,以及构建系统镜像版本,根文件系统覆盖! * [[Buildroot_Kernel | Kernel ]] **此页面主要介绍在线下载内核源码并自动编译集成到根文件系统的方法! * [[Buildroot_TargetPackages | TargetPackages ]] **此页主要介绍目标开发板上使用的根文件系统所需要的软件包的添加方法,以及配置方法! * [[Buildroot_FilesystemImages | FilesystemImages ]] **此页介绍如何使用buildroot自动根据系统分区生成相应的系统镜像! * [[Buildroot_Bootloaders | Bootloaders ]] **此页主要介绍在线下载u-boot源码,编译并生成相应的镜像文件到指定位置! * [[Buildroot_HostUtilities | HostUtilities ]] ** * [[Buildroot_LegacyConfigOptions | LegacyConfigOptions ]] =目录结构= *<code>buildroot/package/:</code>下面放着应用软件的配置文件,每个应用软件的配置文件有<code>Config.in</code>和<code>soft_name.mk</code>,其中soft_name.mk(这种其实就Makefile脚本的自动构建脚本)文件可以去下载应用软件的包。 *<code>buildroot/output/:</code>是编译出来的输出文件夹,里面的build/目录存放着解压后的各种软件包编译完后的现场。 **<code>build:</code>所有源码包解压出来的文件存放地和编译的发生地 **<code>staging:</code>软链接到 host/<tuple>/sysroot 就是上面说到的文件系统需要的库等目录,方便查看 **<code>target: </code>目录是用来制作rootfs的,里面放着Linux系统基本的目录结构,以及各种编译好的应用库和bin可执行文件。不能用来nfs mount到开发板,因为buildroot不是root权权运行的,所以现dev/,etc/等一些文件无法创建,所以目录还不完整,要用images/里的rootfs.tar解压出来的根文件目录才能mount.使用如下命令:<code>sudo tar -C /destination/of/extraction -xf images/rootfs.tar</code> **<code>Images:</code>目录下就是最终生成的可烧写到板子上的各种image。 **<code>host:</code>是由各类源码编译后在你主机上运行的工具(build for host)的安装目录,如arm-linux-gcc就是安装在这里;编译出来的主机工具在host/usr下;根目录所需要的库及一些基本目录就在<code>host/<tuple>/sysroot/</code>或<code>host/usr/<tuple>/sysroot/</code>里 (<tuple>:arm-buildroot-linux-gnueabi),如果是外部toolchain,比如lirano的就在libc里,名字不一样而已 *<code>buildroot/dl:</code>存放下载的源码包及应用软件的压缩包 *<code>buildroot/fs:</code>放各种文件系统的源代码 *<code>buildroot/fs/skeleton:</code>放生成文件系统镜像的地方,及板子里面的系统 *<code>buildroot/linux:</code>存放着Linux kernel的自动构建脚本。 *<code>buildroot/configs:</code>放置开发板的一些配置参数 *<code>buildroot/dl:</code>目录存放从官网上下载的开源软件包,第一次下载后,下次就不会再去从官网下载了,而是从dl/目录下拿开源包,以节约时间。本身下载通常都是很慢的,你可以手动找到相关包下载后放到这里就OK了,make时会自动检测这个目录. *<code>buildroot/docs:</code>存放相关的参考文档。 *<code>buildroot/arch:</code>目录存放CPU架构相关的配置脚本,如arm/mips/x86 ,这些CPU相关的配置,在制作工具链,编译boot和内核时很关键。 *<code>buildroot/board:</code>存放了一些默认开发板的配置补丁之类的 *<code>buildroot/boot:</code> *<code>buildroot/build:</code> *<code>buildroot/support:</code> *<code>buildroot/system:</code>这里就是根目录的主要骨架了和相关的启动初始化配置,当制作根目录时就是将此处的文件cp到output里去.然后再安装toolchain的动态库和你勾选的package的可执行文件之类的. *<code>buildroot/toolchain:</code> =参考= * https://www.cnblogs.com/kele-dad/p/8231434.html * https://blog.csdn.net/zhou_chenz/article/category/6019071 * http://www.crifan.com/files/doc/docbook/buildroot_intro/release/html/buildroot_intro.html * https://buildroot.org/ [[Category:rootfs]] [[Special:RecentChanges | Special:RecentChanges]] <div style="border: 1px solid #A7D7F9; "><comments /></div>
返回至
Buildroot
。
导航
导航
WIKI首页
官方店铺
资料下载
交流社区
所有页面
所有产品
MPU-Linux开发板
MCU-单片机开发板
Linux开发系列视频
单片机开发系列视频
所有模块配件
Wiki工具
Wiki工具
特殊页面
页面工具
页面工具
用户页面工具
更多
链入页面
相关更改
页面信息
页面日志