拿到一个RK3288的开发板,可是不得不说adb shell不太好用,像下面这样太锉了。 java
因而想着把busybox编译进去。python
其实如今Ubuntu上交叉编译相比以前要简单那不少。linux
sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java6-installer
Ubuntu 12.04 软件包安装:git
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 软件包安装:web
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
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吧shell
下载最新版本busybox源码,下载地址:http://www.busybox.net/downloads/。markdown
$ 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/ # 进入解压包
dpkg -L gcc-arm-linux-gnueabihf
看装哪里了,apt-get安装的还好,通常都/usr/bin了,没有的要加到环境变量oracle
mkdir busybox-install
根据我的喜爱,用menuconfig或者直接修改.config,主要是这里有几点注意:curl
这里是前缀,不加gcc,到-结束,如个人:arm-linux-gnueabihf-; Busybox Settings --> Build Options --> Cross compiler prefix - Set this option equal to "arm-linux-gnueabihf-";工具
建议使用静态编译; Busybox Settings --> Build Options --> Build Busybox as a static binary (no shared libs) - Enable this option by pressing "Y"
Busybox Settings --> Installation Options --> Don't use /usr - Enable this option by pressing "Y"
上一步的install目录,要使用绝对路径。
$ make # 编译,若是是多核CPU,如四核,使用make -j4可提升编译速度 $ make install # 安装
或用Root Explore 把/挂载为可读写
adb shell mkdir busybox adb push ./bin /busybox/bin adb push ./sbin /busybox/sbin export PATH=/busybox/bin:/busybox/sbin:$PATH:
看下效果,跟前面adb shell是否是天壤之别了。若是再配合安装个SSH SERVER用就更爽了,彻底脱离adb,主要是有VI 了,能够远程键盘编辑了。