一般的なLinuxの使い方は、
ディストリビューション(Ubuntu, CentOSなど)をインストールして、
パッケージャ(apt, yumなど)を使って必要なパッケージやコマンドを追加して、
コマンドを実行していくことで自分の環境を整えていく、
というものですが、
組み込みLinuxでの使い方は、
事前に開発用PCで、ターゲット基板での動作に必要なデバイスドライバやパッケージを含むLinux BSP (Board Support Package) を、場合によってはブートローダも一緒にクロス開発することで構築し、
ターゲット基板に書き込んで、
電源投入と同時にLinuxや事前に設定した所望のアプリケーションが起動する、
というものになります。
つまり、組み込みLinux開発には、
ターゲット基板の知識やそれ向けのデバイスドライバ、
ブートローダの知識が必要になります。
本記事では、
それらの学習におすすめの書籍を紹介します。
Linuxカーネルおすすめ書籍
カーネルを勉強したい場合に絶対外せないのがこの一冊。
Linux 2.6ベースの内容でかなり古いですが、今にも多く残る基本が説明されています。
鉄板の参考書です。
そろそろ改訂版がほしいところです。
こちらもそれなりに鉄板と思われる参考書。
ネットでLinuxカーネルの話題で「解読室」というワードが出てきたら本書のことです。
この本ももう古くなりますが、まだ購入可能なようです!
Linuxシステム全体に焦点を当てた本ではありますが、
Linuxシステムの動作原理や性能チューニングについて、
とても分かりやすく書かれている書籍です。
浅く広く学ぶならこちらがおすすめ!
とっつきやすいです!
デバイスドライバおすすめ書籍
「詳解 Linux カーネル」と対になる、
Linuxデバイスドライバ開発のための鉄板の参考書です。
個人的にデバイスドライバに関する一番の良書。
本書の内容を読むと、カーネルとデバイスドライバの関係や境目が鮮明になるので、
開発がだいぶ捗るでしょう。
「Linuxデバイスドライバプログラミング」の著者(平田氏)の、
わりと新しめのデバイスドライバの書籍。
U-Bootとセキュアブートの内容が含まれており、
より実践的な内容に思います。
ネットにも情報はあるのですが、けっこう間違っていたりする印象です。
デバイスドライバを体系的に学びましょう!
Yocto Linux おすすめ書籍
Yocto Linux (Yocto Project 3.1 (Dunfell)) を中心とした
組み込みLinux開発に関する書籍です。
レイヤーやレシピ、パッケージの捉え方や、
bitbakeを使った一通りの構築手順を学習できます。
また、ブートローダ(U-Boot)開発や、
カーネルのコンフィグレーションや構築について解説されている、
数少ない書籍だと思います。
Yocto Linuxを体系的に学べる良書です!
英語なのが難点ですが。
Linux おすすめ技術書籍
こちらは参考のため載せております。
カーネルやLinuxシステムの動作原理の解説書ではなく、
Linuxを”使う”ための参考書の中でおすすめのものになります。
資格取得用の教本だけあり、Linuxシステムの構築・運用について体系的に学べます。
LPICとLinuCはレベル1,2の範囲では内容の違いはほとんどありません。
組み込みLinux以前に、
Linuxはこういう風に”使う”ものだと理解するのは大事です。
コメント