📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

 
(同じ利用者による、間の4版が非表示)
88行目: 88行目:
まず、BusyBoxの最新のソースコードを[https://busybox.net 公式Webサイト]からダウンロードする。<br>
まず、BusyBoxの最新のソースコードを[https://busybox.net 公式Webサイト]からダウンロードする。<br>
ダウンロードしたファイルを展開して、展開先のディレクトリに移動する。<br>
ダウンロードしたファイルを展開して、展開先のディレクトリに移動する。<br>
  tar jxvf busybox-1.31.1.tar.bz2
  tar xf busybox-<バージョン>.tar.bz2
  cd busybox-1.31.1
  cd busybox-<バージョン>
<br>
<br>
次に、どのアプレットを含めるのかを設定するため、以下のコマンドを実行して、設定画面を開く。<br>
次に、どのアプレットを含めるのかを設定するため、以下のコマンドを実行して、設定画面を開く。<br>
  make menuconfig
  make -j $(nproc) menuconfig
<br>
<br>
これは、Linuxカーネルのコンパイルと同様の画面である。<br>
これは、Linuxカーネルのコンパイルと同様の画面である。<br>
104行目: 104行目:
標準では、カレントディレクトリ下の_installディレクトリにインストールされる。<br>
標準では、カレントディレクトリ下の_installディレクトリにインストールされる。<br>
(BusyBoxの実行ファイルは、_install/bin/busyboxである)<br>
(BusyBoxの実行ファイルは、_install/bin/busyboxである)<br>
  make
  make -j $(nproc)
  make install
  make install
<br>
<br>
122行目: 122行目:
  lrwxrwxrwx 1 user group      7 Jan  7 22:36 chown -> busybox
  lrwxrwxrwx 1 user group      7 Jan  7 22:36 chown -> busybox
  lrwxrwxrwx 1 user group      7 Jan  7 22:36 cp -> busybox
  lrwxrwxrwx 1 user group      7 Jan  7 22:36 cp -> busybox
  ...略...
  ...略...
<br>
<br>
128行目: 129行目:
  ./_install/bin/ls
  ./_install/bin/ls
<br>
<br>
ここでは、Linux PC上で動作させたが、実際は、組み込み機器のMCUに合わせてクロスコンパイルする必要がある。<br>
ここでは、Linux PC上で動作させたが、実務においては、組み込み機器のMCUに合わせてクロスコンパイルする必要がある。<br>
クロスコンパイル方法は、makeコマンドでコンパイルする際に、gccのプレフィックスを入力するだけである。<br>
(クロスコンパイル用gccのファイル名から、gccを除いた文字列)<br>
<br>
<br>
例えば、Renesas SH用gccの名称はsh-linux-gccなので、
クロスコンパイルの手順は、<code>make</code>コマンドでコンパイルする時、<code>CROSS_COMPILE</code>オプションを付加して、クロスコンパイル向けGCCファイルのパスを指定する。<br>
以下のようにしてRenesas SHで動作するBusyBoxをコンパイルして、インストールする。<br>
(クロスコンパイル向けGCCファイルのパスから、gccを除いた文字列を指定する)<br>
  make CROSS_COMPILE=sh-linux-
<br>
例えば、Renesas SH向けGCCのファイル名がsh-linux-gccの場合、<br>
<code>CROSS_COMPILE=/<Renesas SH向けGCCのインストールディレクトリ>/sh-linux-</code>と指定して、Renesas SHで動作するBusyBoxをコンパイルする。<br>
# 例1. Renesas SH向け
  make -j $(proc) CROSS_COMPILE=/<Renesas SH向けGCCのインストールディレクトリ>/sh-linux-
  make install
  make install
# 例2. AArch64向け
make -j $(proc) CROSS_COMPILE=/<AArch64向けGCCのインストールディレクトリ>/aarch64-linux-gnu-
make install
<br>
<br>
生成された_installディレクトリ下のファイルを、組み込み機器に転送してインストールする。<br>
最後に、生成された_installディレクトリ下のファイルを、組み込み機器に配置する。<br>
<br><br>
<br><br>


__FORCETOC__
__FORCETOC__
[[カテゴリ:uCLinux]]
[[カテゴリ:RHEL]][[カテゴリ:SUSE]][[カテゴリ:Raspberry_Pi]][[カテゴリ:PinePhone]][[カテゴリ:uCLinux]]