Ubuntu14.04 交叉編譯busybox給 Android系統ARM目標板

來源:互聯網
上載者:User

標籤:android   http   io   ar   os   使用   sp   java   on   

拿到一個RK3288的開發板,但是不得不說adb shell不太好用,像下面這樣太銼了。

於是想著把busybox編譯進去。

1. 準備編譯環境

其實現在Ubuntu上交叉編譯相比之前要簡單那很多。

1.1 安裝 JDK 6:
sudo add-apt-repository ppa:webupd8team/javasudo apt-get updatesudo apt-get install oracle-java6-installer
1.2 依賴包:

Ubuntu 12.04 軟體包安裝:

sudo apt-get install git gnupg flex bison gperf build-essential  zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev  libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386  g++-multilib mingw32 tofrodos gcc-multilib ia32-libs python-markdown libxml2-utils xsltproc zlib1g-dev:i386

Ubuntu 13.10/14.04 軟體包安裝:

sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev  libesd0-dev libwxgtk2.8-dev squashfs-tools build-essential zip curl  libncurses5-dev zlib1g-dev pngcrush schedtool libxml2 libxml2-utils  xsltproc lzop libc6-dev schedtool g++-multilib lib32z1-dev lib32ncurses5-dev  lib32readline-gplv2-dev gcc-multilib libswitch-perl
1.3 安裝 ARM 交叉編譯工具鏈和編譯核心相關軟體包:
sudo apt-get install gcc-arm-linux-gnueabihf  lzop libncurses5-dev  libssl1.0.0 libssl-dev

這裡至於gcc-arm-linux-gnueabihf還是gcc-arm-linux-gnueabi要看你晶片,應該是hard float吧

2.busybox原始碼

下載最新版本busybox源碼,:http://www.busybox.net/downloads/。

$ mkdir ~/busybox                      # 建立工作目錄$ cp busybox-1.22.1.tar.bz2 ~/busybox  # 複製源碼包$ cd ~/busybox/                        # 進入工作目錄$ tar -jxvf busybox-1.22.1.tar.bz2     # 解壓$ cd busybox-1.22.1/                   # 進入解壓包
3.編譯準備 3.1 環境變數
dpkg -L gcc-arm-linux-gnueabihf

看裝哪裡了,apt-get安裝的還好,一般都/usr/bin了,沒有的要加到環境變數

3.2 建立安裝資料夾
mkdir busybox-install
4. meke menuconfig

根據個人喜好,用menuconfig或者直接修改.config,主要是這裡有幾點注意:

4.1 選擇交叉編譯器首碼

這裡是首碼,不加gcc,到-結束,如我的:arm-linux-gnueabihf-;

Busybox Settings --> Build Options --> Cross compiler prefix  -  Set this option equal to "arm-linux-gnueabihf-";
4.2 靜態編譯

建議使用靜態編譯;

Busybox Settings --> Build Options --> Build Busybox as a static binary (no shared libs)  -  Enable this option by pressing "Y"

4.3 不包含/usr目錄

Busybox Settings –> Installation Options –> Don‘t use /usr - Enable this option by pressing “Y”

4.4 安裝目錄

上一步的install目錄,要使用絕對路徑。

4.5 最後按【ESC】,提示儲存時儲存。 5. make && make install
$ make                                  # 編譯,如果是多核CPU,如四核,使用make -j4可提高編譯速度$ make install                          # 安裝
6. 發送

或用Root Explore 把/掛載為可讀寫

adb shell mkdir busyboxadb push ./bin /busybox/binadb push ./sbin /busybox/sbinexport PATH=/busybox/bin:/busybox/sbin:$PATH:
7. 完結。

看下效果,跟前面adb shell是不是天壤之別了。如果再配合安裝個SSH SERVER用就更爽了,完全脫離adb,主要是有VI 了,可以遠程鍵盤編輯了。

Ubuntu14.04 交叉編譯busybox給 Android系統ARM目標板

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.