はじめに
第1章 Linuxカーネルの基本
[1.1] Linuxとはなにか
[1.2] Linuxはどんなところで使われているか
[1.3] Linuxカーネルとはなにか
[1.4] オープンソースとライセンス
[1.5] Linuxカーネルはどうやって学べばいいのか?
第2章 ログ・ソースコードの確認
[2.1] Rust
[2.2] ログとソースコード
第3章 Yocto
[3.1] Linuxシステムを構築する
[3.2] ドキュメント
[3.3] Yoctoが提供するもの
[3.4] ビルドの流れ
[3.5] ソースコードを手動でビルドしてみる
[3.6] レシピ
[3.7] 環境構築を始める
[3.8] Ubuntuのセットアップ
[3.9] Yoctoのビルド環境構築
[3.10] Yoctoのビルド準備
[3.11] Yoctoのビルド
第4章 Linuxの起動とビルド
[4.1] Linuxの起動
[4.2] ファイルの送受信
[4.3] ビルド物件
[4.4] レシピを作ってみる
第5章 UbuntuのBIOS破壊問題を振り返る
[5.1] きっかけ
[5.2] どのような問題だったか
[5.3] Ubuntu公式によるバグレポートを解釈する
[5.4] 再現条件にBIOSが含まれる?
[5.5] フラッシュメモリを理解する
[5.6] フラッシュメモリを制御する
[5.7] フラッシュメモリのライトプロテクト
[5.8] 発生条件をまとめる
[5.9] カーネルパッチの読み方
[5.10] ICHを理解する
[5.11] PCHを理解する
[5.12] BARを理解する
[5.13] RCBAを理解する
[5.14] LPCインターフェイスを理解する
[5.15] SPIフラッシュメモリを理解する
[5.16] SPIフラッシュメモリの区分け
[5.17] デバイスドライバの実装を読む
[5.18] probe処理
[5.19] SPI領域へのアクセス
[5.20] 問題の実装をチェックする
[5.21] BIOS Write Enableの意味
[5.22] SMMを理解する
[5.23] 根本原因を探る
あとがき
|