The Buildroot user manual Chapter 4. Buildroot quick start 日本語訳

原文: https://buildroot.org/downloads/manual/manual.html#_buildroot_quick_start

# Chapter 4. Buildroot quick start

> Important: you can and should build everything as a normal user. There is no need to be root to configure and use Buildroot. By running all commands as a regular user, you protect your system against packages behaving badly during compilation and installation.

重要: 一般ユーザーとしてすべてを構築することができ、また、一般ユーザで行うべきです。Buildrootを設定して使用するためにrootになる必要はありません。すべてのコマンドを一般ユーザーとして実行することで、コンパイルおよびインストール中に不正に動作するパッケージからシステムを保護します。


> The first step when using Buildroot is to create a configuration. Buildroot has a nice configuration tool similar to the one you can find in the Linux kernel or in BusyBox.

Buildrootを使用する際の最初のステップは構成を作成することです。 Buildrootには、LinuxカーネルやBusyBoxにあるものと似た優れた構成ツールがあります。


> From the buildroot directory, run

buildrootディレクトリから、

```shell-session
$ make menuconfig
```

> for the original curses-based configurator, or

を実行するとcursedベースの構成ツールが、

```shell-session
$ make nconfig
```

> for the new curses-based configurator, or

を実行すると新しいcursesベースの構成ツールが、

```shell-session
$ make xconfig
```

> for the Qt-based configurator, or

を実行するとQtベースの構成ツールが、

```shell-session
$ make gconfig
```

> for the GTK-based configurator.

を実行するとGTKベースの構成ツールが、それぞれ起動します。

> All of these "make" commands will need to build a configuration utility (including the interface), so you may need to install "development" packages for relevant libraries used by the configuration utilities. Refer to Chapter 2, System requirements for more details, specifically the optional requirements Section 2.2, “Optional packages” to get the dependencies of your favorite interface.

これらのすべての "make"コマンドは設定ユーティリティ（インタフェースを含む）をビルドする必要があるので、設定ユーティリティが使用する関連ライブラリ用の "開発"パッケージをインストールする必要があるかもしれません。詳細については2章システム要件、具体的には選択したインターフェースの依存関係を取得するためのオプション要件項2.2。「オプションパッケージ」を参照してください。

> For each menu entry in the configuration tool, you can find associated help that describes the purpose of the entry. Refer to Chapter 6, Buildroot configuration for details on some specific configuration aspects.

構成ツールの各メニュー項目には、その項目の目的を説明している関連ヘルプがあります。特定の設定に関する詳細は6章Buildroot設定を参照してください。

> Once everything is configured, the configuration tool generates a .config file that contains the entire configuration. This file will be read by the top-level Makefile.

すべての設定が完了すると、設定ツールは設定全体を含む.configファイルを生成します。このファイルはトップレベルのMakefileによって読み込まれます。

> To start the build process, simply run:

ビルドプロセスを開始するには、シンプルに次のコマンドを実行してください:

```shell-session
$ make
```

> You should never use `make -jN` with Buildroot: top-level parallel make is currently not supported. Instead, use the `BR2_JLEVEL` option to tell Buildroot to run the compilation of each individual package with `make -jN`.

Buildrootで`make -jN`を使用しないでください。最上位の並列makeは現在サポートされていません。代わりに、`BR2_JLEVEL`オプションを使用してBuildrootに各パッケージのコンパイルを`make -jN`で実行するように指示してください。

> The make command will generally perform the following steps:

`make`コマンドは一般的には以下のステップを実行します:

> - download source files (as required);
> - configure, build and install the cross-compilation toolchain, or simply import an external toolchain;
> - configure, build and install selected target packages;
> - build a kernel image, if selected;
> - build a bootloader image, if selected;
> - create a root filesystem in selected formats. 

- ソースファイルのダウンロード（要求に応じて）
- クロスコンパイルツールチェーンの設定、ビルド、インストール、或いはシンプルに外部ツールチェーンの導入
- 選択されたターゲットパッケージの設定、ビルド、インストール
- もし選択されていれば、カーネルイメージのビルド
- もし選択されていれば、ブートローダイメージのビルド
- 選択されたフォーマットでrootファイルシステムの作成

> Buildroot output is stored in a single directory, `output/`. This directory contains several subdirectories:

Buildrootの出力は単一のディレクトリ`output/`に格納されています。このディレクトリにはいくつかのサブディレクトリがあります:

> - `images/` where all the images (kernel image, bootloader and root filesystem images) are stored. These are the files you need to put on your target system.
> - `build/` where all the components are built (this includes tools needed by Buildroot on the host and packages compiled for the target). This directory contains one subdirectory for each of these components.
> - `staging/` which contains a hierarchy similar to a root filesystem hierarchy. This directory contains the headers and libraries of the cross-compilation toolchain and all the userspace packages selected for the target. However, this directory is not intended to be the root filesystem for the target: it contains a lot of development files, unstripped binaries and libraries that make it far too big for an embedded system. These development files are used to compile libraries and applications for the target that depend on other libraries.
> - `target/` which contains almost the complete root filesystem for the target: everything needed is present except the device files in /dev/ (Buildroot can’t create them because Buildroot doesn’t run as root and doesn’t want to run as root). Also, it doesn’t have the correct permissions (e.g. setuid for the busybox binary). Therefore, this directory should not be used on your target. Instead, you should use one of the images built in the images/ directory. If you need an extracted image of the root filesystem for booting over NFS, then use the tarball image generated in images/ and extract it as root. Compared to staging/, target/ contains only the files and libraries needed to run the selected target applications: the development files (headers, etc.) are not present, the binaries are stripped.
> - `host/` contains the installation of tools compiled for the host that are needed for the proper execution of Buildroot, including the cross-compilation toolchain.

- `images/`は全てのイメージ（カーネルイメージ、ブートローダ、ルートファイルシステムのイメージ）が格納されている場所です。これらは、ターゲットシステムに配置する必要があるファイルです。
- `build/`は全てのコンポーネントがビルドされる場所です（これはホスト上のBuildrootが必要とするツールとターゲット用にコンパイルされたパッケージを含みます）。このディレクトリには、これらのコンポーネントごとに1つのサブディレクトリがあります。
- `staging/`はルートファイルシステムの階層に似た階層を含みます。このディレクトリには、クロスコンパイルツールチェーンのヘッダとライブラリ、およびターゲット用に選択されたすべてのユーザスペースパッケージが含まれています。ただし、このディレクトリはターゲットのルートファイルシステムではありません。多くの開発ファイル、ストリップされていないバイナリ、および組み込みシステムには大きすぎるライブラリが含まれています。これらの開発ファイルは、他のライブラリに依存するターゲット用のライブラリおよびアプリケーションをコンパイルするために使用されます。
- `target/`はターゲットのほぼ完全なルートファイルシステムを含みます: `/dev/`のデバイスファイルを除いて必要なものはすべて存在します（Buildrootはroot権限で実行されず、またしたくないのでBuildrootはそれらを作成できません）。また、適切な権限がありません（例えば、busyboxバイナリのsetuid）。したがって、このディレクトリはターゲットでは使用しないでください。代わりに、`images/`ディレクトリに構築されているイメージの1つを使うべきです。NFS経由で起動するためにルートファイルシステムの抽出イメージが必要な場合は、 `images/`で生成されたtarballイメージをルートとして展開します。`target/`は`staging/`と比較して、選択されたターゲットアプリケーションを実行するのに必要なファイルとライブラリのみを含みます: 開発ファイル（ヘッダなど）が存在しない、バイナリは取り除かれます。

> These commands, `make menuconfig|nconfig|gconfig|xconfig` and `make`, are the basic ones that allow to easily and quickly generate images fitting your needs, with all the features and applications you enabled.

`make menuconfig|nconfig|gconfig|xconfig`および`make`は、すべての機能とアプリケーションを有効にして、ニーズに合ったイメージを簡単かつ迅速に生成するための基本的なコマンドです。

> More details about the "make" command usage are given in Section 8.1, “make tips”.

より詳細な"make"コマンドの使い方は、Section 8.1, “make tips”に載っています。