# Buildroot 使用说明 ## Buildroot 的构建过程 Here are the steps Buildroot goes through when building a package: 1. Download the package (to the dl directory) 2. Extract the package (inside the output/build directory) 3. Patch the source code 4. Configure the package 5. Build the package 6. Install the package (to output/target directory) ## 主要目录 | Directory | Description | |------------------------------------------------------|-------------| | configs | 用于存储 defconfig 等配置文件 | | dl | 软件包临时下载目录 | | docs | 文档说明等 | | linux | Linux 内核的编译指导(*.mk 和 Config 文件) | | package | 应用程序和中间件、库等的编译指导(*.mk 和 Config 文件) | | toolchain | 编译和构建工具 | | output/[platform]/build | 软件包编译的解压目录 | | output/[platform]/build/buildroot-config | rootfs 配置目录 | | output/[platform]/build/buildroot-config/br2/package | 软件包配置目录 | | output/[platform]/host | 软件 host 工具目录 | | output/[platform]/target | 软件包的安装目录 | ## Package 的下载和编译 Buildroot 从软件包的 *.mk 文件中获得下载地址和下载方式(https、ftp、git 等),下载完毕后与 *.hash 文件中的哈希值进行比较,比较通过则进行编译。 Buildroot 编译两份 package,一份安装到 host 目录,以便其他依赖该软件包的程序在构建时使用。另一份安装到 target 目录用于在目标板运行时使用。 编译的最后,Buildroot 调用 fix-rpath 来修正库文件的 rpath 参数 。