ログイン
ユーザID または e-mail:

パスワード:

IDとパスワードを記憶

パスワード紛失

新規登録
メインメニュー

AndroidエミュレータでBusyboxコマンドを使用することにより、
Androidエミュレータ上で vi や その他のコマンドが使用可能となる。

なお、下記の手順はLinux上(coLinux)で行う場合の手順である。

Page Top

1.1. ARMクロスコンパイラのダウンロード anchor.png

http://www.codesourcery.com/gnu_toolchains/arm/releases/2006q3-27

┏━━━━━━━━┳━━━━━━━┓
┃ラジオボタン    ┃設定          ┃
┣━━━━━━━━╋━━━━━━━┫
┃Target Platform ┃ARM GNU/Linux ┃
┠────────╂───────┨
┃Host Platform   ┃IA32 GNU/Linux┃
┠────────╂───────┨
┃Source          ┃非選択        ┃
┗━━━━━━━━┻━━━━━━━┛
arm-2006q3-27-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2(46.9 MB)
Page Top

1.2. Busyboxファイルのダウンロード anchor.png

http://busybox.net/downloads/

下記のファイルをダウンロード
busybox-1.10.1.tar.bz2
Page Top

2. ARMクロスコンパイラのインストール anchor.png

Page Top

2.1. アーカイブファイルの展開 anchor.png

# tar jxvf arm-2006q3-27-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
  
  ※下記のような構成となっている
  arm-2006q3
   +---arm-none-linux-gnueabi
   +---bin
   +---include
   +---lib
   +---libexec
   \---share
Page Top

2.2. ARMクロスコンパイラへのPATHを追加 anchor.png

/root/.bashrcのPATHへ2.1.で展開した"arm-2006q3/bin"を追加

# vim /root/.bashrc

 (例)/work/Android/ToolChainへ展開した場合
 export ARM_GCC=/work/Android/ToolChain/arm-2006q3/bin
 export PATH=$ARM_GCC:$PATH

# . /root/.bashrc
Page Top

3. Busyboxのコンパイル(Static版) anchor.png

# tar jxvf busybox-1.10.1.tar.bz2
# cd busybox-1.10.1/
# make oldconfig
# make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm CFLAGS=--static LDFLAGS=--static

※static版のbusyboxファイルが出力される
# file busybox
busybox: ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, stripped
Page Top

4. Android エミュレータの起動 anchor.png

# cd (Android SDKの場所/tools)
# ./emulator
Page Top

5. AndroidのROOTFSへbusyboxファイルをPush anchor.png

# adb push busybox /busybox
1170 KB/s (2230036 bytes in 1.860s)
Page Top

6. Android Debug Bridge(adb)の起動 anchor.png

# adb shell

  エミュレータのshellが表示される
  #
Page Top

7. Android エミュレータ上でBusyboxを動作させる anchor.png

busyboxの第一パラメタにコマンドを指定することにより、
そのコマンドを実行することができる。

# /busybox top
  
  →AndroidのROOTFSには含まれていない top コマンドが使用できる
  
  [通常の動作]
  # top
  top: not found

cp, mv, ls, grep, vi を何処の場所でも使用可能とするために/system/bin へコピー
# /busybox cp /busybox /system/bin/cp
# /busybox cp /busybox /system/bin/mv
# /busybox cp /busybox /system/bin/ls
# /busybox cp /busybox /system/bin/grep
# /busybox cp /busybox /system/bin/vi
※シンボリックリンクでもOK

lsコマンドで色が付いていることを確認。
Android_emulator_busybox_01.png


Page Top

使用可能なコマンド一覧 anchor.png

[, [[, addgroup, adduser, adjtimex, ar, arp, arping, ash,
awk, basename, brctl, bunzip2, bzcat, bzip2, cal, cat,
catv, chattr, chgrp, chmod, chown, chpasswd, chpst, chroot,
chrt, chvt, cksum, clear, cmp, comm, cp, cpio, crond,
crontab, cryptpw, cut, date, dc, dd, deallocvt, delgroup,
deluser, df, dhcprelay, diff, dirname, dmesg, dnsd, dos2unix,
du, dumpkmap, dumpleases, echo, ed, egrep, eject, env,
envdir, envuidgid, ether-wake, expand, expr, fakeidentd,
false, fbset, fdflush, fdformat, fdisk, fetchmail, fgrep,
find, fold, free, freeramdisk, fsck, fsck.minix, ftpget,
ftpput, fuser, getopt, getty, grep, gunzip, gzip, halt,
hdparm, head, hexdump, hostid, hostname, httpd, hwclock,
id, ifconfig, ifdown, ifenslave, ifup, inetd, init, insmod,
install, ip, ipaddr, ipcalc, ipcrm, ipcs, iplink, iproute,
iprule, iptunnel, kbd_mode, kill, killall, killall5, klogd,
last, length, less, linux32, linux64, linuxrc, ln, loadfont,
loadkmap, logger, login, logname, logread, losetup, lpd,
lpq, lpr, ls, lsattr, lsmod, lzmacat, makedevs, md5sum,
mdev, mesg, microcom, mkdir, mkfifo, mkfs.minix, mknod,
mkswap, mktemp, modprobe, more, mount, mountpoint, mt,
mv, nameif, nc, netstat, nice, nmeter, nohup, nslookup,
od, openvt, passwd, patch, pgrep, pidof, ping, ping6,
pipe_progress, pivot_root, pkill, poweroff, printenv,
printf, ps, pscan, pwd, raidautorun, rdate, readahead,
readlink, readprofile, realpath, reboot, renice, reset,
resize, rm, rmdir, rmmod, route, rpm, rpm2cpio, run-parts,
runlevel, runsv, runsvdir, rx, script, sed, sendmail,
seq, setarch, setconsole, setkeycodes, setlogcons, setsid,
setuidgid, sh, sha1sum, slattach, sleep, softlimit, sort,
split, start-stop-daemon, stat, strings, stty, su, sulogin,
sum, sv, svlogd, swapoff, swapon, switch_root, sync, sysctl,
syslogd, tac, tail, tar, taskset, tcpsvd, tee, telnet,
telnetd, test, tftp, tftpd, time, top, touch, tr, traceroute,
true, tty, ttysize, udhcpc, udhcpd, udpsvd, umount, uname,
uncompress, unexpand, uniq, unix2dos, unlzma, unzip, uptime,
usleep, uudecode, uuencode, vconfig, vi, vlock, watch,
watchdog, wc, wget, which, who, whoami, xargs, yes, zcat,
zcip

トップ   凍結 差分 バックアップ 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom Powered by xpWiki
Counter: 19867, today: 1, yesterday: 0
初版日時: 2008-04-18 (金) 12:22:44
最終更新: 2008-05-07 (水) 22:20:35 (JST) (3485d) by drillking