画面 1 どのアプレットを含めるのかを設定する これは Linux カーネルのコンパイルと同様の画面です これを使って どのようなアプレットを含めるのかを設定していきます 例えば Coreutils を選択すると 次のような画面が現れます ( 画面 2) 画面 2 Coreutils を選択した様子

全文

(1)

小≪ ≫大 サイズ変更 このページは印刷用バージョンが用意されていませんので、表示用ページをそのまま使用します。 組み込みLinuxで際立つ「BusyBox」の魅力

特集:BusyBoxって何ぞや?

組み込みLinuxで際立つ「BusyBox」の魅力

中村雄一  2008/2/4 ← 1 2 BusyBoxを実際に使ってみよう  今回は、お手軽に試すことを重視してLinux PC上で実験することにします。  初めに、最新のソースコードをBusyBoxのサイトからダウンロードします。ちなみに、原稿執筆時点の 最新版はBusyBox 1.9.0です。  以下のコマンドを参考に、ダウンロードしたファイルを展開し、展開先のディレクトリに移動しま す。 $ tar jxvf busybox-1.9.0.tar.bz2 $ cd busybox-1.9.0  次に、コンパイルの前に“どのようなアプレットを含めるのか”を設定します。以下のコマンドで設 定画面を開きます。 $ make menuconfig

(2)

画面1 どのアプレットを含めるのかを設定する  これは、Linuxカーネルのコンパイルと同様の画面です。これを使って、どのようなアプレットを含め るのかを設定していきます。例えば、「Coreutils」を選択すると、次のような画面が現れます(画面 2)。 画面2 「Coreutils」を選択した様子  画面2を見ると、catやcpなどのコマンドが選択されていることが分かります。コマンドの一覧で[Y] キーを押すと選択され、[N]キーを押すと選択が解除されます。使いたいアプレットの選択が終わった ら、[Exit]を選択します。すると、次のような画面が表示されます(画面3)。ここで[Yes]を選択 し、選択内容の保存を行います。

(3)

画面3 設定内容を保存する  ここまでの作業が完了したら、以下のコマンドを実行し、画面2で選択したアプレットを含むBusyBox をコンパイルします。 $ make  コンパイルが完了したら、以下のコマンドでインストールします。 $ make install  デフォルトでは、カレントディレクトリの下の「_install」ディレクトリにインストールされます (ここではデフォルトのままにします)。_install/bin/busyboxがBusyBoxの実行ファイルです。  それでは、_install/binディレクトリの中を見てみます(リスト2)。 $ ls -l _install/bin

lrwxrwxrwx 1 ynakam ynakam 7 Jan 7 22:36 addgroup -> busybox lrwxrwxrwx 1 ynakam ynakam 7 Jan 7 22:36 adduser -> busybox lrwxrwxrwx 1 ynakam ynakam 7 Jan 7 22:36 ash -> busybox -rwxr-xr-x 1 ynakam ynakam 626080 Jan 7 22:36 busybox

lrwxrwxrwx 1 ynakam ynakam 7 Jan 7 22:36 cat -> busybox rwxrwxrwx 1 ynakam ynakam 7 Jan 7 22:36 chgrp -> busybox lrwxrwxrwx 1 ynakam ynakam 7 Jan 7 22:36 chmod -> busybox lrwxrwxrwx 1 ynakam ynakam 7 Jan 7 22:36 chown -> busybox lrwxrwxrwx 1 ynakam ynakam 7 Jan 7 22:36 cp -> busybox

(省略) リスト2 BusyBoxのディレクトリ構造  先ほど説明したように、各コマンドがbusyboxへのシンボリック・リンクになっていることがお分かり いただけたかと思います。試しに以下のコマンドを実行してみましょう。 $ ./_install/bin/ls  いかがですか? BusyBoxが正しく動いていればファイル一覧が表示されるはずです。  このように、makeコマンド一発でさまざまなコマンドの機能を入れることができます。  今回は、PC上で動作させましたが、実際は組み込み機器のCPUに合わせてコンパイルする必要がありま

(4)

するだけです。  例えば、SHアーキテクチャのCPU向けgccの名称は、「sh-linux-gcc」ですので、次のようにしてSH上 で動作するBusyBoxをコンパイルできます。 $ make CROSS_COMPILE=sh-linux- 後は、make installで生成された_installディレクトリ以下のファイルを実機に転送し、インストー ルすればよいのです。  以上で今回の実験は終了となります。実際に触ってみることで、より理解や興味が深まったのではな いでしょうか? ライセンスと開発コミュニティ  では、最後にBusyBoxのライセンスと開発コミュニティについて紹介します。  BusyBoxは、オープンソースのライセンス(GPLライセンス)で配布されています。そのため、BusyBox に改変を施し、BusyBoxを組み込んだ機器を販売した場合は、改変したBusyBoxのソースコードを開示す る義務が生じます。BusyBoxを実際の機器に使う際は、GPLライセンスに十分注意する必要があります。 実際に、BusyBoxを組み込んだ機器でGPLライセンスに違反し、オープンソースの団体より訴訟を起こさ れたという事件が起きていますので、くれぐれもご注意ください。  このように紹介してしまうと、GPLライセンスが怖いもののように思えてしまいますが、GPLのおかげ で、BusyBoxは日々進化を続けています。BusyBoxでは、ソースコードを中心としたコミュニティが形成 され、開発が進んでいます。開発コミュニティの拠点となっているのは、BusyBoxのWebサイトです。  このサイトで議論が交わされるわけですが、現在、開発の中心であるDenys Vlasenko氏がメーリング リストに来たバグ修正や新機能の提案を取りまとめ、BusyBoxのソースコードに取り込んでいます。ちな みに、開発途中のソースコードはsubversionのレポジトリに公開されています。また、日本からも 「seBusyBoxプロジェクト」にて、SELinuxの関連のコマンドを中心に多くの機能が提案され、BusyBox本 体に取り込まれています。  このような開発コミュニティへの貢献は、個人や企業の“名声アップ”だけでなく、メーリングリス トでの議論を通じて“英語力や技術力の向上”にも役立ちます。  「そりゃ技術者として魅力的に感じるけど……。実際、敷居が高そうだよなぁ〜」。  そんな声が聞こえてきそうですが、弱気になることはありません。いきなり新機能の提案とはいかな くとも、バグ報告や修正などでも気楽に貢献できますし、開発者であるVlasenko氏も気さくにメールに 返答をしてくれます。実際に参加してみれば、きっとイメージしていたよりもフレンドリーな雰囲気だ と感じてもらえると思います。本特集で、BusyBoxに興味を持たれた方は、これを機にコミュニティへの 貢献にも挑戦してみてはいかがでしょうか? ← 1 2

(5)

関連記事 組み込みLinuxで際立つ「BusyBox」の魅力 連載記事「組み込みLinux開発入門」(全3回) 連載記事「LinuxによるRTOSの実現」(全3回) MontaVista Linuxは携帯から自動車情報系へ アックスの組み込みLinuxはほかと根本的に違う 業界初のLinux対応ICEが成功した理由 組み込みLinux業界動向 組み込みLinux業界動向2006

CE Linux Forum Plenary Meeting 2005レポート

プリンタ用ページ機能へのご意見、ご要望は会議室へ。 この記事のオリジナルは

http://monoist.atmarkit.co.jp/fembedded/articles/busybox/busyboxb.html でご覧いただけます。 不許複製 − Copyright(c) 2000-2007 ITmedia Inc.

Updating...

参照

Updating...

Scan and read on 1LIB APP