#author("2021-02-25T00:24:06+00:00","default:admin","admin")
#author("2022-01-21T02:42:44+00:00","default:admin","admin")
-[[Linux カーネルに関する知識 I:https://www.ipa.go.jp/files/000056288.pdf]]
-[[Linux カーネルに関する知識 II:https://www.ipa.go.jp/files/000056289.pdf]]

-[[第1章 カーネル - Linux技術トレーニング 基本管理コース II:https://users.miraclelinux.com/technet/document/linux/training/2_1_1.html]]
-[[システムコールとLinuxカーネルのソース:http://www.coins.tsukuba.ac.jp/~yas/coins/os2-2011/2011-12-06/]]

-[[動かしながら学ぶ「Linuxカーネル」の基本:https://xtech.nikkei.com/atcl/nxt/column/18/01448/]]
-[[このKernel、どんなKernel?:https://qiita.com/takeoverjp/items/6f4f30cf634307fe25cc]]

-[[Linuxカーネルの設定パラメータ:https://xtech.nikkei.com/it/article/COLUMN/20071025/285507/]]

*バージョン [#t8f5bb65]
**2.x [#n6317bd7]
***2.6 [#k1b5bdc6]
-[[Linux 2.6.x:http://www.wdic.org/w/TECH/Linux%202.6.x]]

-システムコールの仕様変更が存在しており、従来と互換性がなくなった
-glibcも、glibc 2.4以降はLinuxカーネル2.6以降でなければ動かない

**3.x [#f34a9003]
-[[Linux 3.x:http://www.wdic.org/w/TECH/Linux%203.x]]

-Linux 3.0は、元々はLinux 2.6.40として開発が進んでいたものだった
-いわゆるメジャーバージョンが更新されたが、Linus Torvaldsの意向によるもので、従来のLinux 2.6.xからの大きな機能変更や非互換はない

**4.x [#dcd46620]
-[[Linux 4.x:http://www.wdic.org/w/TECH/Linux%204.x]]
-[[Linuxカーネル4.0が登場 - 再起動せずにパッチ適用が可能に:http://news.mynavi.jp/news/2015/04/13/168/]]

-ライブカーネルパッチの導入(再起動せずにパッチ適用を可能とする機能)
-3.xとの互換性は保たれている

*コンフィグレーション [#d5c033a9]
-[[習得すればメリット大!Linuxカーネルをビルドできるようになろう:https://xtech.nikkei.com/atcl/nxt/column/18/01448/102000002/]]
-[[組み込みLinuxカーネルの構築時にこれだけは知っておかなければならない項目:http://www.embedded.jp/article/linux_kernel_2-1.html]]

**Kconfig [#yf010c2b]
-[[kconfig-language.txt(for linux-2.6.23.8)(日本語訳):http://www.katsuster.net/contents/jp/kconfig-language-jp.txt]]

***書式 [#kede053b]
 menu [MENU名]
  
 config [CONFIG名]
   bool "説明"
   default [y|n]
   depends on [他のCONFIG名]
   select [他のCONFIG名]
   :
 
 endmenu
  
 menu [MENU名]
   :

-config

-bool

-デフォルト値: "default" <expr> ["if" <expr>]
--コンフィグオプションにはいくつものデフォルト値を設定できる
--2つめ以降のデフォルト値が表示されるためには、最初のデフォルト値がアクティブである必要がある
--デフォルト値はメニュー項目を定義した場所にしか書けないというわけではありません。別の場所に書いたり、事前に定義した値を上書きしたり出来ます。
--デフォルト値はユーザが何も値を設定しなかった(上記の "input prompt" で)ときに、コンフィグオプションに割り当てられます。もし見出しが見えていれば、ユーザに対してデフォルト値が表示され、ユーザは値を上書きできます。
--もしこのデフォルト値だけに対する依存関係がある場合は、"if" とともに条件を指定してください。

-依存関係: "depends on"/"requires" <expr>
--メニュー項目の依存関係を定義
--複数の依存関係を定義したいなら、'&&' で繋げてください。
--依存関係はメニュー項目の属性全て("if" も含め)に適用されます。

-select

**Tips [#e09f6c56]
***SPI [#jb1f2889]
-GPIOをSPI化する方法
--[[Armadillo-X1:spi-gpioでGPIOをSPI化する(Linux-4.9版):https://armadillo.atmark-techno.com/blog/615/4270]]

--「GPIO-based bitbanging SPI Master」を有効化する



*関数 [#w5b79168]
-include/linux/device.h でプロトタイプ宣言
-drivers/base/core.c で定義

-dev_emerg()
-dev_alert()
-dev_crit()
-dev_err()
-dev_warn()
-dev_notice()
-dev_info()
-dev_dbg()

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS