1. build tools:
gcc (version
2.95
orany later)
g++ (version
2.95
orany later)
python (version
2.6or
2.7)
2. dependencies packages:
下面的自己根據需要安裝
ncurses5 ;menuconfig 使用
qt4 ;xconfig 使用
glib2, gtk2 and glade2 ;gconfig 使用
target
architecture
---> 用於選擇目標的架構,我這裡選擇arm (little endian)(s3c2440可以執行在小端模式和大端模式,預設是小端模式)
target
architecture
variant
---> 核心型別(arm920t)
target
abi (eabi) ---> 目標使用的應用程式二進位制介面,其中有兩個選擇
①eabi(embedded
abi) 我們選eabi.
②oabi(old
abi)
toolchain
---> 工具鏈選項
toolchain
type
(buildroottoolchain)
---> 工具鏈型別,這裡我們沒使用外部buildroot,預設 .
*** kernel
header
options ***
kernel
headers (linux
3.18.x kernel headers) --->
c library (glibc) ---> 有uclibc/glibc等選項,此處我選擇glibc,後面會解釋原因
glibc version (2.20) --->
*** binutils
options ***
binutils
version (binutils 2.24) --->
() additional binutils options
*** gcc
options ***
gcc compiler version (gcc 4.8.x) --->
() additional gcc options
[*] enable
c++ support
[ ] enable compiler openmp support
[ ] enable libmudflap support
[ ] enable graphite support
[ ] build cross gdb for the host
[ ] purge unwanted locales
() generate locale data
[ ] copy gconv libraries
[*] enable
mmu support
() target
optimizations
() target linker options
使用make命令之後會執行下面幾個步驟:
②配置,編譯和安裝cross-compiling toolchain(如果使用內部工具鏈),或者輸出乙個toolchain(如果乙個外部工具鏈使用)
③構建/安裝杯選擇的目標包
④構建核心映象(如果有選擇)
⑤構建啟動**映象(如果有選擇)
⑥建立根檔案系統(如果有選擇)
build/ — 存放所有的元件除了構建交叉編譯工具鏈的元件 , 在這個目錄裡面每乙個功能對應乙個子目錄存放他們各自的元件.
staging/ — 包含乙個類似於根檔案系統等級層次的層級 . 這個目錄包含了 安裝的交叉編譯工具鏈 和 所有被選擇用於目標板的所有使用者空間包.
target/ — 包含了根檔案系統,但不能用於你的開發板的
host/ — 包含了我們需要的交叉編譯工具集
新增上: exportpath=$path
:/home/chad/works/binutils/buildroot-
2015.02/output/host/usr/bin
儲存之後,執行以下命令使其生效:
# source/etc/profile
c library (uclibc) ---> 有uclibc/glibc等選項,此處如果選擇uclibc
#hexdump -c hello
也是以openssh為例子,如果我們不想重新編譯,只想重新配置,也就是./configure,
我們可以直接刪除 output/build/openssh-version 目錄下的 .stamp_configured
如果你只是想重新安裝可以刪除.stamp_target_install
重新make可以刪除.stamp_built
target architecture
---> 目標的架構,s3c2440 與 at9260 都是arm,這個相同
target architecture variant ---> 核心型別(s3c2440[arm920t] 而 at91sam9260[arm926ej-s],但是配置時選擇arm926t),此處不同
target abi (eabi) ---> 目標使用的應用程式二進位制介面,此處不同
①eabi(embedded abi) mini2440的選擇。
②oabi(old abi) at91sam9260的選擇
kernel headers (linux 3.18.x kernel headers) ---> 此處差別影響不大
c library (glibc) ---> 都選擇的是glibc
glibc version (2.20) ---> 版本不一樣
使用buildroot建立交叉編譯工具
使用buildroot建立交叉編譯工具 若想詳細地了解 buildroot 可參考該文件 首先從此處 配置項如下 target architecture arm target architecture variant arm926t target abi oabi build option 此項中只...
buildroot使用詳解
0 為什麼要使用buildroot?讓我們的工作效率成百倍的提公升。1 獲取buildroot 2 配置buildroot 將原始碼包複製到 目錄下,並解壓tar xvf buildroot 2015.02.tar.gz 進入目錄,執行配置命令 cd buildroot 2015.02 執行 mak...
使用buildroot搭建linux檔案系統
2 配置buildroot 將原始碼包複製到 opt目錄下,並解壓 tar xvf buildroot 2015.02.tar.gz 進入目錄,執行配置命令 cd opt buildroot 2015.02 make menuconfig 配置介面如下 2.1 進入target options 將t...