にほんブログ村 ポータルブログへ 人気blogランキング
    Blogtimes

    2006年12月04日

    BusyBox

    だいぶ前にウェブブラウザのブックマークに登録しておきながら、長らく放置して忘れてしまっていた以下のサイト、書き出しの「The Swiss Army Knife of Embedded Linux」という文を見てちょっと笑ってしまいました。
     http://www.busybox.net/downloads/BusyBox.html

    まずは、「BusyBox」について。これはLinuxのコマンドで、実体は1個のバイナリファイルですが、多くのコマンドを含んでいます(multi-call binary)。
    例えば、Zaurusのコンソールから以下を実行すると、
    $ ls -l /bin/ls /bin/cat
    lrwxrwxrwx 1 root root 7 Feb 14 2005 cat -> busybox*
    lrwxrwxrwx 1 root root 7 Feb 14 2005 ls -> busybox*

    $ ls -l /bin/busybox
    -r-xr-xr-x 1 root root 233468 Jun 23 2004 /bin/busybox*
    になります。
    多くのコマンドを個別に実装しているように見せかけていますが、実はシンボリックリンクで、元は1個のコマンドです。記憶装置のサイズに制限がある場合、このような方法にメリットがあり、多機能かつコンパクトな実装が可能です。
    Zaurusには、以下のコマンドがbusyboxへのシンボリックリンクになってます。

    /bin/ 以下
    cat chgrp chmod chown cp cut date dc dd df dmesg du dumpkmap echo false fdflush head kill ln ls mkdir mknod mktemp more mount mt mv ping pwd rm rmdir sleep sort sync tail tar tee touch true umount uname

    /usr/bin/ 以下
    [ basename chvt clear cut dc deallocvt dirname dpkg dpkg-deb du env free head hostid id killall length loadacm loadfont logname md5sum mkfifo nc nslookup printf reset setkeycodes tail telnet test touch tr tty uniq uptime uudecode uuencode wc which whoami xargs yes

    /sbin/ 以下
    chroot freeramdisk fsck.minix loadkmap makedevs mkfs.minix mkswap swapoff swapon update

    /usr/sbin/ 以下
    chroot dutmp fbset


    次は「The Swiss Army Knife」。これは、ナイフだけではなく、ドライバー、缶切り、栓抜き等の多くの道具を1個の小さな筺体に詰め込んだ物です。有名どころでは、スイス国軍採用のアーミーナイフがあります。

    つまり、ここで「多機能かつコンパクト」が、先のBusyBoxとつながるわけです。

    先に挙げたサイトは、ZaurusのNetFrontの「ページメモ保存」機能を利用すれば、コマンドのマニュアル代わりに使えます。また、 http://www.busybox.net/downloads/BusyBox.txt からも同様のテキストファイルがダウンロードできます。ただし、いずれもZaurusには実装されていないコマンドも載っています。


    ■関連リンク
    【Wikipedia】BusyBox
    【Wikipedia】Swiss Army knife
    posted by fullmoon-pon at 03:24 | 東京 ☀ | Comment(0) | TrackBack(0) | ザウルス(SL Zaurus) | このブログの読者になる | 更新情報をチェックする | はてなブックマーク - BusyBox
    にほんブログ村 ポータルブログへ 人気blogランキング
    この記事へのコメント
    コメントを書く
    お名前: [必須入力]

    メールアドレス:

    ホームページアドレス:

    コメント: [必須入力]


    この記事へのトラックバック