今回は残課題の⑥を調査します。

【関連記事】


【キーワード】
カーネルコンフィギュレーション
  • 2019/7/29
⑥カーネルコンフィギュレーションを変更したい

【PC-Linuxビルド】(2019/07/08:ビルド中編)カーネルコンフィギュレーション画面は開いたが、設定は変更しなかった。今回は少し触ってみる。

・まず.configをバックアップした
後で元の設定に戻せるようにバックアップ。
$ cd /usr/src/linux-3.14.79
$ cp .config .config_backup

・階層を掘ってみる

まずカーネルコンフィギュレーションメニューを開く。
$ cd /usr/src/linux-3.14.79
$ make menuconfig
前回、make menuconfigを実行していたので瞬時に開きます。
1

画面上部にメニューの設定方法が書いてあります。
Arrow keys navigate the menu. 

<Enter> selects submenus ---> (or empty submenus ----).

Highlighted letters are hotkeys. 

Pressing
 <Y> includes,
 <N> excludes,
 <M> modularizes features. 
Press
 <Esc><Esc> to exit,
 <?> for Help,
 </> for Search.   これ結構便利

Legend:
 [*] built-in  [ ]
 <M> module
 < > module capable
例えば、64-bit kernelが選択された状態で ? を入力すると、コンフィギュレーションの詳細情報が見れます。
1

そして、いつかやりたいと思っていたカーネルコンフィギュレーションの階層を全て見るをやってみました。networkとdriverが想像を超える量でした。興味がありましたら下のリンクを開いてみてください。

【カーネルコンフィグレーション階層をメモしたテキストファイル】

  • カーネルコンフィギュレーションを変更してみる。
色々変えるのは、そのうち試すとして、今回は2箇所変更して保存する手順をやってみます。

先ほどと同様にカーネルコンフィギュレーションメニューを開く。
$ cd /usr/src/linux-3.14.79
$ make menuconfig
先頭の[*] 64-bit kernelを選択した状態でスペースを押すと…。
1

[ ] 64-bit kernelという具合に選択が解除される。
1

次に< > Intel System On Chip IOSF Sideband supportを選択した状態でスペースを1回押すと…。
1

<M> Intel System On Chip IOSF Sideband supportという具合にローダブルモジュールになる。もう1回スペースを押すと…。
1

<*> Intel System On Chip IOSF Sideband supportになる。
1

右を押して<Exit>にカーソルを合わせ、エンターキーを押すと…。
1

保存するか聞いてくるので<Yes>にカーソルが合った状態でエンターを押す。
1

コンソールに戻る(make menuconfigから抜ける)。
1

今保存した.config.config_backupを比較すると、CONFIG_64BITがOFFになりCONFIG_X86_32がyになるなど、色々変更されていることがわかる。
$ diff .config .config_backup
5,6c5,6
< # CONFIG_64BIT is not set
< CONFIG_X86_32=y
---
> CONFIG_64BIT=y
> CONFIG_X86_64=y
9,10c9,10
< CONFIG_OUTPUT_FORMAT="elf32-i386"
< CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
---
> CONFIG_OUTPUT_FORMAT="elf64-x86-64"
> CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
18a19
> CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
33,34c34,35
< # CONFIG_ZONE_DMA32 is not set
< # CONFIG_AUDIT_ARCH is not set
(以下略)
カーネルコンフィギュレーションの変更を元に戻すため、バックアップファイルを復元した(そのうち色々変更する)。
$ cp .config_backup  .config
続く
IMG_20190729_083039



詳解 Linuxカーネル 第3版
Daniel P. Bovet
オライリー・ジャパン
2007-02-26


組み込みLinuxシステム構築 第2版
Karim Yaghmour
オライリージャパン
2009-10-26


Linuxデバイスドライバ 第3版
Jonathan Corbet
オライリージャパン
2005-10-22



スポンサードリンク