2023-07-03 11:58:56 +08:00
|
|
|
|
# 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)
|
|
|
|
|
|
|
|
|
|
## 主要目录
|
|
|
|
|
|
2023-07-07 13:21:41 +08:00
|
|
|
|
| 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 | 软件包的安装目录 |
|
2023-07-05 17:51:44 +08:00
|
|
|
|
|
|
|
|
|
## Package 的下载和编译
|
|
|
|
|
|
|
|
|
|
Buildroot 从软件包的 *.mk 文件中获得下载地址和下载方式(https、ftp、git 等),下载完毕后与 *.hash 文件中的哈希值进行比较,比较通过则进行编译。
|
|
|
|
|
|
|
|
|
|
Buildroot 编译两份 package,一份安装到 host 目录,以便其他依赖该软件包的程序在构建时使用。另一份安装到 target 目录用于在目标板运行时使用。
|
|
|
|
|
|
|
|
|
|
编译的最后,Buildroot 调用 fix-rpath 来修正库文件的 rpath 参数 。
|