溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Ubuntu14.04如何交叉編譯busybox給Android系統(tǒng)ARM目標(biāo)板

發(fā)布時間:2021-11-16 09:41:06 來源:億速云 閱讀:351 作者:小新 欄目:互聯(lián)網(wǎng)科技

這篇文章主要介紹Ubuntu14.04如何交叉編譯busybox給Android系統(tǒng)ARM目標(biāo)板,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

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

Ubuntu14.04如何交叉編譯busybox給Android系統(tǒng)ARM目標(biāo)板

于是想著把busybox編譯進去。

1. 準(zhǔn)備編譯環(huán)境

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

1.1 安裝 JDK 6:

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo 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 交叉編譯工具鏈和編譯內(nèi)核相關(guān)軟件包:

sudo apt-get install gcc-arm-linux-gnueabihf \
 lzop libncurses5-dev \
 libssl1.0.0 libssl-dev

這里至于gcc-arm-linux-gnueabihf還是gcc-arm-linux-gnueabi要看你芯片,應(yīng)該是hard float吧

2.busybox源代碼

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

$ mkdir ~/busybox                      # 創(chuàng)建工作目錄
$ cp busybox-1.22.1.tar.bz2 ~/busybox  # 復(fù)制源碼包
$ cd ~/busybox/                        # 進入工作目錄
$ tar -jxvf busybox-1.22.1.tar.bz2     # 解壓
$ cd busybox-1.22.1/                   # 進入解壓包

3.編譯準(zhǔn)備

3.1 環(huán)境變量

dpkg -L gcc-arm-linux-gnueabihf

看裝哪里了,apt-get安裝的還好,一般都/usr/bin了,沒有的要加到環(huán)境變量

3.2 建立安裝文件夾

mkdir busybox-install

4. meke menuconfig

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

4.1 選擇交叉編譯器前綴

這里是前綴,不加gcc,到-結(jié)束,如我的:arm-linux-gnueabihf-; Busybox Settings --> Build Options --> Cross compiler prefix - Set this option equal to "arm-linux-gnueabihf-";

4.2 靜態(tài)編譯

建議使用靜態(tài)編譯; Busybox Settings --> Build Options --> Build Busybox as a static binary (no shared libs) - Enable this option by pressing "Y" Ubuntu14.04如何交叉編譯busybox給Android系統(tǒng)ARM目標(biāo)板

4.3 不包含/usr目錄

Busybox Settings --> Installation Options --> Don't use /usr - Enable this option by pressing "Y" Ubuntu14.04如何交叉編譯busybox給Android系統(tǒng)ARM目標(biāo)板

4.4 安裝目錄

上一步的install目錄,要使用絕對路徑。 Ubuntu14.04如何交叉編譯busybox給Android系統(tǒng)ARM目標(biāo)板

4.5 最后按【ESC】,提示保存時保存。

5. make && make install

$ make                                  # 編譯,如果是多核CPU,如四核,使用make -j4可提高編譯速度
$ make install                          # 安裝

6. 發(fā)送

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

adb shell mkdir busybox

adb push ./bin /busybox/bin
adb push ./sbin /busybox/sbin

export PATH=/busybox/bin:/busybox/sbin:$PATH:

7. 完結(jié)。

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

Ubuntu14.04如何交叉編譯busybox給Android系統(tǒng)ARM目標(biāo)板

以上是“Ubuntu14.04如何交叉編譯busybox給Android系統(tǒng)ARM目標(biāo)板”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI