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