在開發平台上使用 Android 時,因為 toolbox 使用起來不怎麼順手,所以習慣弄 Busybox 到平台上跑。那假設妳也覺得 Android 的 shell 使用起來不怎麼順手,該怎麼辦呢?
其實一個很簡單的方法就是執行 busybox sh 去載入 Busybox 預設的 shell (ash)。這時最大的差異就是萬一不小心敲錯指令,Backspace 終於可以用了。
那如果妳習慣 bash 呢?
其實解決方法也很簡單。
首先下載 bash 4.1 的源碼。
wget -c http://ftp.gnu.org/gnu/bash/bash-4.1.tar.gz
解開之後先執行:
CC=arm-linux-gcc ./configure --host=arm-linux --target=arm-linux --enable-static-link --enable-history --without-bash-malloc
然後修改 Makefile,在 CFLAGS 加上 -static 後,就可以 make 出 bash 這個可執行檔了。
接著將 bash 複製到 out/target/product/generic/system/bin 目錄內,將重新生成的 system.img 下載到平台就 OK 了。
感謝謝兄提供寶貴資訊。
回覆刪除