crosstool-ng-1.22.0搭建開發環境

来源:http://www.cnblogs.com/zhuixinshaonian/archive/2017/09/12/7509290.html
-Advertisement-
Play Games

Ubuntu16.04無法安裝libtool,只能在Ubuntu14.04以下版本安裝。 cp 下載/crosstool-ng-1.22.0.tar.bz2 /home/hou/ tar -xvf crosstool-ng-1.22.0.tar.bz2 cd crosstool-ng 安裝一些必要的... ...


   

Ubuntu16.04無法安裝libtool,只能在Ubuntu14.04以下版本安裝。

cp 下載/crosstool-ng-1.22.0.tar.bz2 /home/hou/

tar -xvf crosstool-ng-1.22.0.tar.bz2

cd crosstool-ng

   

安裝一些必要的軟體:

apt install gperf bison flex texinfo help2man gawk libtool libncurses5-dev

Make

./configure --prefix=/home/hou/arm/crosstool-ng-1.22.0_install

   

屏幕剪輯的捕獲時間: 2016/5/22 11:18

sudo make install

   

   

屏幕剪輯的捕獲時間: 2016/5/22 11:20

~/.bashrc 配置ct-ng命令的環境變數

目錄:

love-xin :: ~/arm/crosstool-ng-1.22.0_build % ct-ng list-steps

Available build steps, in order:

- libc_check_config

- companion_libs_for_build

- binutils_for_build

- companion_libs_for_host

- binutils_for_host

- cc_core_pass_1

- kernel_headers

- libc_start_files

- cc_core_pass_2

- libc

- cc_for_build

- cc_for_host

- libc_post_cc

- companion_libs_for_target

- binutils_for_target

- debug

- test_suite

- finish

Use "<step>" as action to execute only that step.

Use "+<step>" as action to execute up to that step.

Use "<step>+" as action to execute from that step onward.

love-xin :: ~/arm/crosstool-ng-1.22.0_build % ct-ng list-samples

Status Sample name

LN config

MKDIR config.gen

IN config.gen/arch.in

IN config.gen/kernel.in

IN config.gen/cc.in

IN config.gen/binutils.in

IN config.gen/libc.in

IN config.gen/debug.in

[G..] alphaev56-unknown-linux-gnu

[G..] alphaev67-unknown-linux-gnu

[G..] arm-bare_newlib_cortex_m3_nommu-eabi

[G..] arm-cortex_a15-linux-gnueabi

[G.X] arm-cortexa5-linux-uclibcgnueabihf

[G..] arm-cortex_a8-linux-gnueabi

[G.X] arm-cortexa9_neon-linux-gnueabihf

[G..] armeb-unknown-eabi

[G..] armeb-unknown-linux-gnueabi

[G..] armeb-unknown-linux-uclibcgnueabi

[G..] arm-unknown-eabi

[G..] arm-unknown-linux-gnueabi

[G.X] arm-unknown-linux-musleabi

[G..] arm-unknown-linux-uclibcgnueabi

[G.X] arm-unknown-linux-uclibcgnueabihf

[G..] armv6-rpi-linux-gnueabi

[G..] armv7-rpi2-linux-gnueabihf

[G..] avr

[G..] i586-geode-linux-uclibc

[G..] i586-mingw32msvc,i686-none-linux-gnu

[G..] i686-nptl-linux-gnu

[G.X] i686-w64-mingw32

[G..] m68k-unknown-elf

[G..] m68k-unknown-uclinux-uclibc

[G..] mips64el-n32-linux-uclibc

[G..] mips64el-n64-linux-uclibc

[G..] mips-ar2315-linux-gnu

[G..] mipsel-sde-elf

[G..] mipsel-unknown-linux-gnu

[G..] mips-malta-linux-gnu

[G..] mips-unknown-elf

[G..] mips-unknown-linux-uclibc

[G.X] i686-w64-mingw32,nios2-spico-elf

[G..] powerpc-405-linux-gnu

[G..] powerpc64-unknown-linux-gnu

[G..] powerpc-860-linux-gnu

[G..] powerpc-e300c3-linux-gnu

[G..] powerpc-e500v2-linux-gnuspe

[G..] powerpc-unknown-linux-gnu

[G..] powerpc-unknown-linux-uclibc

[G..] powerpc-unknown_nofpu-linux-gnu

[G.X] s390-ibm-linux-gnu

[G..] s390x-ibm-linux-gnu

[G..] sh4-unknown-linux-gnu

[G..] sparc-unknown-linux-gnu

[G.X] x86_64-w64-mingw32,x86_64-pc-linux-gnu

[G..] x86_64-unknown-linux-gnu

[G..] x86_64-unknown-linux-uclibc

[G.X] x86_64-w64-mingw32

[G..] xtensa-unknown-linux-uclibc

L (Local) : sample was found in current directory

G (Global) : sample was installed with crosstool-NG

X (EXPERIMENTAL): sample may use EXPERIMENTAL features

B (BROKEN) : sample is currently broken

love-xin :: ~/arm/crosstool-ng-1.22.0_build %

在後續的配置(和編譯)之後,可以通過show-tuple,去查看到當前配置的交叉編譯器是啥樣的

love-xin :: ~/arm/crosstool-ng-1.22.0_build % ct-ng show-tuple

arm-cortexa9_neon-linux-gnueabihf

查看當前有哪些(預設的)示例配置,可以用:

ct-ng list-samples

查看單個的某個示例配置的核心參數,用:

ct-ng show-<sample>

love-xin :: ~/arm/crosstool-ng-1.22.0_build % ct-ng show-arm-cortexa9_neon-linux-gnueabihf

IN config.gen/arch.in

IN config.gen/kernel.in

IN config.gen/cc.in

IN config.gen/binutils.in

IN config.gen/libc.in

[G.X] arm-cortexa9_neon-linux-gnueabihf

OS : linux-4.3

Companion libs : gmp-6.0.0a mpfr-3.1.3 mpc-1.0.3 expat-2.1.0 ncurses-6.0

binutils : binutils-2.22

C compilers : gcc | 5.2.0

Languages : C,C++

C library : glibc-2.22 (threads: nptl)

Tools : gdb-7.10

love-xin :: ~/arm/crosstool-ng-1.22.0_build %

   

   

   

屏幕剪輯的捕獲時間: 2016/5/22 12:34

   

iTop4412是使用cortex-a9,所以按照這個配置就OK,上面是軟體要求。

可以直接去調用此配置了:

ct-ng arm-cortexa9-linux-gnueabi

   

   

屏幕剪輯的捕獲時間: 2016/5/22 13:08

接下來,你就可以去進入配置:

ct-ng menuconfig

   

源碼包下載保存路徑

Paths and misc options
(${HOME}/arm/src) Local tarballs directory

工作路徑

一般使用預設配置

Paths and misc options
(${CT_TOP_DIR}/.build) Working directory

目標安裝路徑

   

Paths and misc options
(${HOME}/arm/x-tools/${CT_TARGET}) Prefix directory

一些詳細的配置請參考網站:

crosstool-ng詳解

   

src下麵主要用到linux、gcc兩個安裝包,這兩個包比較大,可以提前下載好。其它的包自動下載。

   

配置好後,保存退出。執行ct-ng build編譯

   

   

屏幕剪輯的捕獲時間: 2016/5/22 15:06

編譯詳細過程:

╭─hou@love-xin ~/arm/crosstool-ng-1.22.0_build

╰─$ ct-ng build

[INFO ] Performing some trivial sanity checks

[INFO ] Build started 20160522.191913

[INFO ] Building environment variables

[EXTRA] Preparing working directories

[EXTRA] Installing user-supplied crosstool-NG configuration

[EXTRA] =================================================================

[EXTRA] Dumping internal crosstool-NG configuration

[EXTRA] Building a toolchain for:

[EXTRA] build = x86_64-pc-linux-gnu

[EXTRA] host = x86_64-pc-linux-gnu

[EXTRA] target = arm-cortexa9_neon-linux-gnueabihf

[EXTRA] Dumping internal crosstool-NG configuration: done in 0.10s (at 00:08)

[INFO ] =================================================================

[INFO ] Retrieving needed toolchain components' tarballs

[EXTRA] Retrieving 'glibc-libidn-2.22'

[INFO ] Retrieving needed toolchain components' tarballs: done in 362.72s (at 06:11)

[INFO ] =================================================================

[INFO ] Extracting and patching toolchain components

[INFO ] Extracting and patching toolchain components: done in 2.59s (at 06:13)

[INFO ] Saving state to restart at step 'libc_check_config'...

[INFO ] Saving state to restart at step 'companion_libs_for_build'...

[INFO ] =================================================================

[INFO ] Installing ncurses for build

[EXTRA] Configuring ncurses

[EXTRA] Building ncurses

[EXTRA] Installing ncurses

[INFO ] Installing ncurses for build: done in 39.95s (at 06:53)

[INFO ] Saving state to restart at step 'binutils_for_build'...

[INFO ] Saving state to restart at step 'companion_libs_for_host'...

[INFO ] =================================================================

[INFO ] Installing GMP for host

[EXTRA] Configuring GMP

[EXTRA] Building GMP

[EXTRA] Installing GMP

[INFO ] Installing GMP for host: done in 47.59s (at 07:42)

[INFO ] =================================================================

[INFO ] Installing MPFR for host

[EXTRA] Configuring MPFR

[EXTRA] Building MPFR

[EXTRA] Installing MPFR

[INFO ] Installing MPFR for host: done in 36.57s (at 08:19)

[INFO ] =================================================================

[INFO ] Installing ISL for host

[EXTRA] Configuring ISL

[EXTRA] Building ISL

[EXTRA] Installing ISL

[INFO ] Installing ISL for host: done in 33.91s (at 08:53)

[INFO ] =================================================================

[INFO ] Installing MPC for host

[EXTRA] Configuring MPC

[EXTRA] Building MPC

[EXTRA] Installing MPC

[INFO ] Installing MPC for host: done in 16.35s (at 09:09)

[INFO ] =================================================================

[INFO ] Installing expat for host

[EXTRA] Configuring expat

[EXTRA] Building expat

[EXTRA] Installing expat

[INFO ] Installing expat for host: done in 7.11s (at 09:16)

[INFO ] Saving state to restart at step 'binutils_for_host'...

[INFO ] =================================================================

[INFO ] Installing binutils for host

[EXTRA] Configuring binutils

[EXTRA] Building binutils

[EXTRA] Installing binutils

[EXTRA] Installing ld wrapper

[INFO ] Installing binutils for host: done in 199.40s (at 12:37)

[INFO ] Saving state to restart at step 'cc_core_pass_1'...

[INFO ] =================================================================

[INFO ] Installing pass-1 core C gcc compiler

[EXTRA] Configuring core C gcc compiler

[EXTRA] Building gcc

[EXTRA] Installing gcc

[EXTRA] Housekeeping for final gcc compiler

[INFO ] Installing pass-1 core C gcc compiler: done in 538.26s (at 21:46)

[INFO ] Saving state to restart at step 'kernel_headers'...

[INFO ] =================================================================

[INFO ] Installing kernel headers

[EXTRA] Installing kernel headers

[EXTRA] Checking installed headers

[INFO ] Installing kernel headers: done in 11.64s (at 22:16)

[INFO ] Saving state to restart at step 'libc_start_files'...

[INFO ] =================================================================

[INFO ] Installing C library headers & start files

[EXTRA] Configuring C library

[EXTRA] Installing C library headers

[EXTRA] Installing C library start files

[INFO ] Installing C library headers & start files: done in 23.37s (at 22:54)

[INFO ] Saving state to restart at step 'cc_core_pass_2'...

[INFO ] =================================================================

[INFO ] Installing pass-2 core C gcc compiler

[EXTRA] Configuring core C gcc compiler

[EXTRA] Building gcc

[EXTRA] Installing gcc

[EXTRA] Housekeeping for final gcc compiler

[INFO ] Installing pass-2 core C gcc compiler: done in 657.92s (at 34:06)

[INFO ] Saving state to restart at step 'libc'...

[INFO ] =================================================================

[INFO ] Installing C library

[EXTRA] Configuring C library

[EXTRA] Building C library

[EXTRA] Installing C library

[EXTRA] Configuring C library localedef

[EXTRA] Building C library localedef

[EXTRA] Installing C library locales

[INFO ] Installing C library: done in 861.70s (at 48:47)

[INFO ] Saving state to restart at step 'cc_for_build'...

[INFO ] Saving state to restart at step 'cc_for_host'...

[INFO ] =================================================================

[INFO ] Installing final gcc compiler

[EXTRA] Configuring final gcc compiler

[EXTRA] Building final gcc compiler

[EXTRA] Installing final gcc compiler

[EXTRA] Housekeeping for final gcc compiler

[INFO ] Installing final gcc compiler: done in 902.17s (at 64:39)

[INFO ] Saving state to restart at step 'libc_post_cc'...

[INFO ] Saving state to restart at step 'companion_libs_for_target'...

[INFO ] =================================================================

[INFO ] Installing expat for target

[EXTRA] Configuring expat

[EXTRA] Building expat

[EXTRA] Installing expat

[INFO ] Installing expat for target: done in 6.22s (at 66:33)

[INFO ] =================================================================

[INFO ] Installing ncurses for target

[EXTRA] Configuring ncurses

[EXTRA] Building ncurses

[EXTRA] Installing ncurses

[INFO ] Installing ncurses for target: done in 49.44s (at 67:22)

[INFO ] Saving state to restart at step 'binutils_for_target'...

[INFO ] Saving state to restart at step 'debug'...

[INFO ] =================================================================

[INFO ] Installing cross-gdb

[EXTRA] Configuring cross-gdb

[EXTRA] Building cross-gdb

[EXTRA] Installing cross-gdb

[EXTRA] Installing '.gdbinit' template

[INFO ] Installing cross-gdb: done in 197.27s (at 71:44)

[INFO ] =================================================================

[INFO ] Installing native gdb

[EXTRA] Configuring native gdb

[EXTRA] Building native gdb

[EXTRA] Installing native gdb

[INFO ] Installing native gdb: done in 184.36s (at 74:48)

[INFO ] =================================================================

[INFO ] Installing gdbserver

[EXTRA] Configuring gdbserver

[EXTRA] Building gdbserver

[EXTRA] Installing gdbserver

[INFO ] Installing gdbserver: done in 60.28s (at 75:49)

[INFO ] Saving state to restart at step 'test_suite'...

[INFO ] Saving state to restart at step 'finish'...

[INFO ] =================================================================

[INFO ] Cleaning-up the toolchain's directory

[INFO ] Stripping all toolchain executables

[EXTRA] Installing the populate helper

[EXTRA] Installing a cross-ldd helper

[EXTRA] Creating toolchain aliases

[EXTRA] Removing access to the build system tools

[EXTRA] Removing installed documentation

[INFO ] Cleaning-up the toolchain's directory: done in 3.83s (at 77:27)

[INFO ] Build completed at 20160522.203639

[INFO ] (elapsed: 77:26.35)

[INFO ] Finishing installation (may take a few seconds)...

[77:27] / % ╭─hou@love-xin ~/arm/crosstool-ng-1.22.0_build

╰─$

添加環境變數:

sudo vim ~/.bashrc

在PATH變數中添加:${HOME}/arm/x-tools/arm-cortexa9_neon-linux-gnueabihf/bin

刷新:

source ~/.bashrc

   

   

屏幕剪輯的捕獲時間: 2016/5/22 21:01

   

love-xin :: ~/arm/crosstool-ng-1.22.0_build » arm-cortexa9_neon-linux-gnueabihf-gcc --version

arm-cortexa9_neon-linux-gnueabihf-gcc (crosstool-NG crosstool-ng-1.22.0) 5.2.0

Copyright © 2015 Free Software Foundation, Inc.

本程式是自由軟體;請參看源代碼的版權聲明。本軟體沒有任何擔保;

包括沒有適銷性和某一專用目的下的適用性擔保。

love-xin :: ~/arm/crosstool-ng-1.22.0_build »

   

為了不影響主機看網頁、玩游戲,當時設置Ubuntu是2G運行記憶體,所以時間有點慢,想要快點可以設置大一點。

   

   

   

   

   

   

   

   

   

   


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 配置文件 在主節點初始化複製集配置 在主節點上添加從節點 修改節點的優先順序,設置為0則不會被選為主 ...
  • 要求:linux 卸載 mongo2.6 版本:linux系統:Ubuntu 16.04 mongo: mongo 2.6.12 1、 查看安裝的mongo版本和服務 # dpkg –l | grep mongo 可以看到,目前有三個和mongodb有關,mongodb,mongodb-client ...
  • 第1章 Linux命令基礎 1.1 習慣 操作前備份,操作後檢查 1.2 簡單目錄結構 一切從根開始,與windows不同 1.3 規則 [root@oldboyedu-40 ~]# [用戶名@主機名 你在哪]# [root@oldboyedu-40 ~]# [用戶名@主機名 你在哪]# 1.4 重 ...
  • 從本地複製到遠程 從遠程複製到本地 說明 ...
  • 本文目錄:1.awk簡介和基本語法格式2.print和printf格式化輸出3.輸入行的欄位分隔符和行分隔符4.BGEIN和END5.數組6.流程式控制制語句 6.1 條件判斷語句 6.2 while迴圈 6.3 do迴圈 6.4 for迴圈7.更完整的awk程式格式和表達式8.awk中的變數9.awk ...
  • ``` 第一講小結 1. 游標在屏幕文本中的移動既可以用箭頭鍵,也可以使用 hjkl 字母鍵。 h (左移) j (下行) k (上行) l (右移) 2. 欲進入 Vim 編輯器(從命令行提示符),請輸入:vim 文件名 3. 欲退出 Vim 編輯器,請輸入 :q! 放棄所有改動。 ... ...
  • 主要內容: 技術關鍵點:docker17.06.3安裝,docker自製鏡像及相關容器操作,docker分配固定IP及添加埠映射,solrCloud集群部署等 主要思路:在Ubuntu14.04操作系統的宿主機中,安裝docker17.06.3,將宿主機的操作系統製作成docker基礎鏡像,之後使 ...
  • 1.運行-regedit 打開註冊表 定位到 HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Control Network {4D36E972-E325-11CE-BFC1-08002BE10318} 目錄下 這裡保存著當前網卡配置信息,查找目錄下每個子目錄... ...
一周排行
    -Advertisement-
    Play Games
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...