0前回宣言していたBuildrootを用いたLinuxで組み込みシステムをbuildするにはどうすればいいのかを解説していきます。PC用のコードを生成することにしましょう。flexのツールをインストールします。bisonとすれば、インストールできます。bisonとしましょう。開発用のディストリビューションデに依存するのはここ部分ぐらいで、今後の作業で依存するところはほとんどないので、ディストリビューションは、お好みで選んで問題ありません。menuconfigメニューが表示されますので,上から順にシステムに関する情報を設定していきましょう。x86_64か、i386を設定します。Formatは、デフォルトのままELFで問題ありません。使用するCPUに合わせて設定してください。i3,i5,i7の場合は、corei7を設定しましょう。ATOMの場合にはatomと設定してください。Optionsに関しては、デフォルトのままで問題ありません。(NEW)続いてToolchainの設定を行います。Toolchainとは、ターゲットの実行形式ファイルを作成するためのクロスコンパイラとそれに付随するツール、ライブラリのことで、一般的なPCでは、プログラムはコンパイルしたPCでそのまま実行するのに対して、組み込みシステムでは、作業用のPCでコンパイルしたファイルを、別のアーキテクチャのPCで実行することになります。そのため、ターゲットの実行形式を生成するために使用するコンパイラをここで指定します。PC用の組み込みシステムであっても有用な副作用があり、例えば、これから開発しようとしているシステムを今後5年間にわたってメンテナンスしていく必要があるとすると、一般的な、作業用と実行PCが同一の実行形式であるといった環境では、作業用のPCが陳腐化してしまうとコードのメンテナンスが非常に困難になってしまうことに対して、コンパイラやライブラリのバージョンが作業用のPCと独立していることによって、コンパイラのソースコードごと保存しておけば、何年たっても同一の実行形式ファイルが生成できることになります。今回は、とりあえず動かしてみるための設定なので、デフォルトのままでもいいのですが、日本語環境などにも対応できるように、wcharとi18nを有効にしておきましょう。glibcに変更しておいたほうがいいでしょう。(Webブラウザなどののコンパイルは非常に時間がかかるため、動かしてみるといった観点からはおすすめしません)今回は動かしてみるのが主目的ですが、実際のターゲットは別のCPUで、チップメーカーから最適化されたコンパイラが提供されている場合などは、ここでコンパイラを設定します。ページでは、Loginプロンプトやユーザーの扱いの設定をします。基本はデフォルトのままで問題ないと思いますが、LANを使用したいなら、DHCPインターフェイスにeth0を設定してください。(NEW)次は、Linuxカーネルの設定です。Kernelのバージョンはhttp://www.kernel.org/を参照して、stableかlongtermになっているバージョンの新しいものを設定してください。古いものを選ぶ意味はほとんどありません。Architectureで設定したものを入力してください。チップメーカから、専用のカーネルが提供されている場合などは、ここでそのカーネルのソースの位置を指定すると、そのカーネルをBuildrootのシステムに組み込むことができます。Packageの項目では、実際のターゲットで動作させたいアプリケーションを選択することができます。この項目も、とりあえず動かしてみるだけであれば特に変更する項目はありませんが、どんなアプリケーションが選択できるかは、一通り眺めてみてみるといいでしょう。Busyboxというのは、Linuxの基本コマンド群を1つのファイルにして提供しているもので、これとカーネルさえあれば、とりあえずシステムとして起動させることができます。Busyboxを使用することによって、cpコマンドのバージョンや、lsコマンドのバージョンといった細かな管理が必要なくなるので、自前でバージョン管理をする必要のある組み込みシステムでは、非常に有用です。--->次に、Filesystemの形式の選択です。ここでは、組み込みシステムと通常のデスクトップOSの違いを実感するために、cpioのファイルシステムを選択してみましょう。ファイルシステムのすべてがRAM上で実行され、必要なファイルを消してしまっても、設定を変更しても、リセットすれば元通りといった環境ができます。(NEW)Bootloaderの設定です。組み込みシステムの場合、ユーザーにキーボードで起動メニューを選択させるようなことはないと思いますので、シンプルで安定感のあるsyslinuxを選択しています。syslinuxは、旧来のMBR経由のブートサポートしていますので、UEFIのみサポートしているマザーボードで使用する場合には、別のブートローダを選択しる必要があります。utilitiesの項目では、ターゲットイメージを生成するための拡張ツールを選択します。ターゲットの起動デバイスを、作業用PCで作成する場合などに、デバイスのパーティショニングやフォーマットのためのツールを選択します。作業用PCにこれらのツールがインストールされている場合には、特にここで選択する必要はありませんが、Toolchainと同様に、メディアの陳腐化などにも対応したい場合には、ここで設定しておくと後々有用かもしれません。optionsですが、ここは昔のBuildrootのリリースとの整合性のために残されている項目なので、初めてBuildrootを使用する場合には設定する必要はありません。makeとすると、Buildrootのスクリプトが、選択したモジュールのソースコードを次々とダウンロードして、コンパイルしていきます。CADハードウェアの設計では、回路図や、プリント基板(PCB)用のCADソフトが必要となります。ぽ...記事を読むBuildrootの設定についてBuildrootの設定について、makeのオプションなどの解説です。Buildrootのドキュメントを読めば書いてあることしか書い...記事を読むコンソールケーブルぽよんテックではネットワーク機器を中心に企画、開発を行っていく方針なのですが、まだ会社を立ち上げたばかりで、開発するための環境整備に四苦八苦...記事を読むコンソールケーブル(追記)前にここに書いたコンソールケーブルですが、FTDI社のチップでも、偽物チップが出回っているようです。我ながら、句読点の打ち方とか、接続詞の使い方とか、日本語の基礎がひどいことを読み返してみるとよくわかる。これから組み込みシステムを開発しようと思っている方は、大きく2つの方向からのアプローチをと...記事を読む組み込みLinux{:ja}ぽよんテックでは、Linuxベースの組み込みOSを利用する場合には、標準としてBuildrootのシステムを使用します。