37 lines
2.0 KiB
Markdown
37 lines
2.0 KiB
Markdown
# 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 参数 。
|