User Tools

Site Tools


jp:doc:howto:buildroot.exigence

OpenWrt Buildroot – インストール

OpenWrt Buildroot は、OpenWrtをビルドするための ツールチェイン です。ツールチェインをインストールする際には、スタンドアローン環境か、VMwareQemuなどの仮想環境上に構築したGNU/Linux ディストリビューションにインストールすることをおすすめします。Cygwin環境では恐らく動作しません。また、~BSDやMacOSX 環境ではイメージのビルドを行うことができますが、動作は保証されていません。自由にトライして結果をdevlistに報告してみてください。また、トラブルシューティングも忘れずにお読みください。

前提条件

  • ソースコードをダウンロードする際に、350 MBのディスクスペースが必要になります。
  • OpenWrtをクロスコンパイルする際に、3-4 GBのディスクスペースが必要になります。

手順

1. 全ての作業を non-root ユーザーで行ってください!
2. 全てのコマンドは<buildsystem root> ディレクトリで実行してください。例えば、<buildsystem root>~/openwrt/trunk/になります。
3. フルパスにスペースを含んだディレクトリ内でビルドを行わないでください。
  1. OpenWrtのソースコードをダウンロードするために、subversion (次回よりsvnと略)をインストールします。また、コンパイル環境を整えるために、build toolsのインストールも行います。:
    sudo apt-get install subversion build-essential
  2. svn経由でOpenWrtのソースコードをダウンロードします。
    mkdir ~/openwrt
    cd openwrt
    svn co svn://svn.openwrt.org/openwrt/trunk/
    cd trunk
    • 上記の作業により、'trunk'ディレクトリが作成され、これがOpenWrtソースコードのメインディレクトリになります。
    • trunk リビジョン R27988の時点で14,382個のファイルがあり、合計サイズは約150MiBです。
    • これはOpenWrt Buildroot systemも含みます。
    • for more information about Downloading Sources.
  3. feeds スクリプトを使用して、ソフトウェア・フィードのダウンロードおよびインストールを行います。(オプション)
    ./scripts/feeds update -a
    ./scripts/feeds install -a
    • リビジョン 7367の場合、この時点でtrunk-ディレクトリは 26,650 ファイル、合計サイズ 302 MiBになります。(もし個別にパッケージをインストールする場合は右記のコマンドを実行してください: ./scripts/feeds install PACKAGENAME)
  4. 以下のコマンドのいづれかを実行することで、OpenWrtをビルドしている環境上で足りないパッケージが列挙されます。:
    make defconfig
    make prereq
    make menuconfig
    • 上記の作業を行うことで、buildrootを使用してOpenWrtをビルドするために、足りないパッケージが列挙されます。
  5. package management commandsを使用して、足りないパッケージのインストールを行います。詳細は以下のテーブルと例を参照してください。
  6. ビルド または Build OpenWrt on Mac OS X 10.7 Lion に進んでください。

:!: 設定およびmake実行後、(このページで説明されています), trunk-ディレクトリは244,451 ファイル、合計サイズ約3.2GiBになるでしょう!

ディストリビューション別の前提パッケージリスト

以下は、Linux ディストリビューション別に記載された、ビルドするための必要条件になる各パッケージ名の一覧表です。

Prerequisite Debian Suse Red Hat OS X (via MacPorts) Fedora NetBSD
asciidoc asciidoc asciidoc asciidoc asciidoc asciidoc ?
bash bash ? ? bash ? bash
binutils binutils binutils binutils binutils binutils ?
bzip2 bzip2 bzip2 bzip2 bzip2 bzip2 ?
fastjar fastjarfastjar libgcj fastjar libgcj ?
flex flex? ? flex flex ?
g gcc-c ?
jp/doc/howto/buildroot.exigence.txt · Last modified: 2012/03/29 08:27 (external edit)