在x210平台上添加busybox的支援
第一步:從光碟片中拷貝busybox源碼包busybox-1.19.2-x210.tar.bz2到linux目錄並解壓:
tar xf busybox-1.19.2-x210.tar.bz2
第二步:修改解壓目錄下的makefile檔案,修改ARCH和CROSS_COMPILE參數如下:
CROSS_COMPILE ?=/usr/local/arm/arm-none-linux-gnueabi-2010-09-50/bin/arm-none-linux-gnueabi-
ARCH ?= arm
第三步:配置busybox
make menuconfig
Busybox Settings --->
Build Options --->
[*] Build BusyBox as a static binary (no shared libs)
[ ] Force NOMMC build
[*] Build with Large File Support (for accessing files > 2 GB)
() Cross Compiler prefix
() Additional CFLAGS
Busybox Settings --->
Installation Options ("make install" behavior) --->
What kind of applet links to install (as soft-links) --->
(./_install) BusyBox installation prefix
Busybox Settings --->
Busybox Library Tuning --->
[*] Tab completion
第四步:編譯busybox
make
make install
這時,在_install/bin目錄下,將會產生 busybox的一些檔案。
第五步:在out/target/product/smdkv210/system目錄下,建立一個busybox目錄,並
將上一步產生的busybox檔案全拷貝到該目錄:
cd out/target/product/smdkv210/system
mkdir busybox
cp -a yourbusyboxdir/_install/bin/* busybox
第六步:修改init.rc檔案,不能直接修改out/target/product/smdkv210/root目錄下的
init.rc檔案,應該修改device/samsung/smdkv210/init_sdmmc.rc,在編譯時間系統會自
動將該檔案複製到out/target/product/smdkv210/root目錄並命名為init.rc。
在init_sdmmc.rc的開始處,添加system/busybox的路徑聲明:
export PATH /sbin:/vendor/bin:/system/sbin:/system/bin:/system/xbin:/system/busybox
第七步:重新編譯映像:
./mk -x -k -s -U
第八步:將out/release目錄下新產生的映像檔案update.bin通過量產卡升級,升級完後系統會
自動重啟,最終進入控制終端。
第九步:這時使用ls命令,發現它並沒有像busybox一樣將檔案列得很整齊,很明顯還是用toolbox
列的,這是因為system/bin目錄下的ls的緣故。
首先獲得root許可權,執行如下指令:
mount -o remount,rw -t ext4 /dev/block/mmcblk0p2 /system
再刪除system/bin目錄下的ls以及busybox:
注意,android2.3系統預設帶有busybox,不過預設的很不好用,直接刪掉它:
cd system/bin
rm ls
rm busybox
第十步:切換為busybox的shell:
busybox sh
由於前面已經修改了init.rc中的路徑的環境變數,已給system/busybox做了聲明,因此這裡在任何路徑下都
可以使用busybox了。
這時,不僅用ls指令可以很自然的排列目錄下的檔案,還可以使用cp指令了,同時,還支援TAB鍵自動補全功能,支援
終端命令列提示符的路徑顯示功能,它已經完完全全和linux下的busybox一樣了。