buildroot 配置自己的交叉編譯器
一、參考博客
https://doc.embedfire.com/lubancat/build_and_deploy/zh/latest/building_image/buildroot/buildroot.html
二、下載 buildroot 的源碼
git clone https://gitlab.com/buildroot.org/buildroot.git
三、添加自己的交叉編譯器
1.為目標 soc 配置一個 defconfig 文件;
我使用的是 imx93 處理器,所以我拷貝了一份 freescale_imx93evk_defconfig 文件給自己使用;
目的是避免配置錯架構之類的細節;
cp configs/freescale_imx93evk_defconfig configs/liangtao_imx93evk_defconfig
2.使用自己的配置文件來配置 buildroot
make liangtao_imx93evk_defconfig
3.將 uboot、和 kernel 配置項去除,避免下載源碼占用空間


4.配置交叉編譯器
# 配置為外部交叉編譯器
Toolchain type (External toolchain) --->
*** Toolchain External Options ***
# 選擇為客戶交叉編譯器
Toolchain (Custom toolchain) --->
# 選擇預安裝交叉編譯器,不需要下載
Toolchain origin (Pre-installed toolchain) --->
# 配置交叉編譯器的路徑,bin 路徑之前
(/opt/work/sdk/arm-gnu-toolchain-14.2.rel1-x86_64-aarch64-none-linux-gnu) Toolchain path
# 配置交叉編譯器頭部
(aarch64-none-linux-gnu) Toolchain prefix
# 交叉編譯器的版本,aarch64-none-linux-gnu-gcc -v 來查看
External toolchain gcc version (14.x) --->
# 編譯器的頭文件版本,可以隨便定一個最新的,編譯時候會報錯,并告知版本
External toolchain kernel headers series (4.20.x) --->
# 選擇交叉編譯器的 c 庫;一般為 glibc
External toolchain C library (glibc) --->
# 以下的選項隨便選擇,在 Host GDB Options 之前,選錯了,編譯會報錯告知
[*] Toolchain has SSP support?
[*] Toolchain has SSP strong support?
[ ] Toolchain has RPC support?
[*] Toolchain has C++ support?
[ ] Toolchain has D support?
[*] Toolchain has Fortran support?
[*] Toolchain has OpenMP support?
[ ] Copy gdb server to the Target
*** Host GDB Options ***
[ ] Build cross gdb for the host
*** Toolchain Generic Options ***
[ ] Copy gconv libraries
() Extra toolchain libraries to be copied to target
() Target Optimizations
() Target linker options
*** Bare metal toolchain ***
[ ] Build a bare metal toolchain
5.其它的簡單配置
BR2_ROOTFS_OVERLAY # 為文件系統覆蓋路徑,編譯完成后;將該路徑的文件拷貝到文件系統中;
BR2_ROOTFS_POST_BUILD_SCRIPT # 指定一個或多個腳本路徑,在文件系統打包之前執行
6.保存自己修改的配置,執行 make savedefconfig 命令,會將 config 的修改保存到上面的 configs/liangtao_imx93evk_defconfig 文件中

浙公網安備 33010602011771號