「インストール - BusyBox」の版間の差分

ナビゲーションに移動 検索に移動
編集の要約なし
(ページの作成:「== 概要 == BusyBoxとは、主に組み込みLinuxで使われるオープンソースの万能コマンドのことである。<br> BusyBoxは、cpコマンドやping…」)
 
編集の要約なし
83行目: 83行目:
例えば、/bin/catを実行すると、そのリンク先である/bin/busyboxが実行されて、argv[0]は/bin/catとなる。<br>
例えば、/bin/catを実行すると、そのリンク先である/bin/busyboxが実行されて、argv[0]は/bin/catとなる。<br>
/bin/busyboxは、argv[0]が/bin/catであることを確認して、catアプレットを呼び出す。<br>
/bin/busyboxは、argv[0]が/bin/catであることを確認して、catアプレットを呼び出す。<br>
<br><br>
== BusyBoxの設定とインストール ==
まず、BusyBoxの最新のソースコードを[https://busybox.net 公式Webサイト]からダウンロードする。<br>
ダウンロードしたファイルを展開して、展開先のディレクトリに移動する。<br>
tar jxvf busybox-1.31.1.tar.bz2
cd busybox-1.31.1
<br>
次に、どのアプレットを含めるのかを設定するため、以下のコマンドを実行して、設定画面を開く。<br>
make menuconfig
<br>
これは、Linuxカーネルのコンパイルと同様の画面である。<br>
例えば、Coreutilsを選択すると、下図の画面が表示される。(catアプレットやcpアプレット等が選択されている)<br>
[Y]キーを押下するとアプレットが選択され、[N]キーを押下すると選択が解除される。<br>
[[ファイル:BusyBox 2.jpg|フレームなし|中央]]
<br>
使用するアプレットの選択が完了した後、[Exit]を選択して、[Yes]を選択すると選択内容の保存を行う。<br>
<br>
次に、上記で選択したアプレットを含むBusyBoxをコンパイルしてインストールする。<br>
標準では、カレントディレクトリ下の_installディレクトリにインストールされる。<br>
(BusyBoxの実行ファイルは、_install/bin/busyboxである)<br>
make
make install
<br>
最後に、_install/binディレクトリの中を確認する。<br>
上記に記載したように、各アプレットがBusyBoxへのシンボリックリンクになっている。<br>
# 入力
ls -l _install/bin
<br>
# 出力
lrwxrwxrwx 1 user group      7 Jan  7 22:36 addgroup -> busybox
lrwxrwxrwx 1 user group      7 Jan  7 22:36 adduser -> busybox
lrwxrwxrwx 1 user group      7 Jan  7 22:36 ash -> busybox
-rwxr-xr-x 1 user group 626080 Jan  7 22:36 busybox
lrwxrwxrwx 1 user group      7 Jan  7 22:36 cat -> busybox
rwxrwxrwx  1 user group      7 Jan  7 22:36 chgrp -> busybox
lrwxrwxrwx 1 user group      7 Jan  7 22:36 chmod -> busybox
lrwxrwxrwx 1 user group      7 Jan  7 22:36 chown -> busybox
lrwxrwxrwx 1 user group      7 Jan  7 22:36 cp -> busybox
...略...
<br>
BusyBoxの動作を確認するため、以下のアプレットを実行する。<br>
ファイルの一覧が表示されれば、BusyBoxが正常に動作している。<br>
./_install/bin/ls
<br>
ここでは、Linux PC上で動作させたが、実際は、組み込み機器のMCUに合わせてクロスコンパイルする必要がある。<br>
クロスコンパイル方法は、makeコマンドでコンパイルする際に、gccのプレフィックスを入力するだけである。<br>
(クロスコンパイル用gccのファイル名から、gccを除いた文字列)<br>
<br>
例えば、Renesas SH用gccの名称はsh-linux-gccなので、
以下のようにしてRenesas SHで動作するBusyBoxをコンパイルして、インストールする。<br>
make CROSS_COMPILE=sh-linux-
make install
<br>
生成された_installディレクトリ下のファイルを、組み込み機器に転送してインストールする。<br>
<br><br>
<br><br>


__FORCETOC__
__FORCETOC__
[[カテゴリ:uCLinux]]
[[カテゴリ:uCLinux]]

案内メニュー