« SSH プロトコル | トップページ | フォレンジック調査に必要なツールが収録された仮想マシン(VM)イメージ - SIFT(SANS Investigative Forensic Toolkit) Workstation を使ってみた »

Linux kernel メモ

Linux kernel メモ

実行時のカーネルモジュールの管理

モノリシックカーネル
モジュラカーネル

モジュールファイル格納ディレクトリ

/lib/modules/`uname-r`

block    プロック型デバイスのモジュール(RAIDコントローラ、IDEテープドライブ)
cdrom    非標準CD-ROMデバイスドライバモジュール
fs    ファイルシステム用ドライバ
ipv4
misc
net
scsi
video

モジュール操作

lsmod
ロードされているモジュール表示

insmod
動作中のカーネルにモジュールを 1 つだけ挿入する。

modprobe
insmod と同じく動作中のカーネルのモジュールを挿入する。
自動的に依存関係を調べ、必要なモジュールを先にインストールする。

rmmod
-a     未使用モジュールをすべて削除
-s     syslog に結果を書き出す
modprobe -r で自動的に依存関係を調べ、必要なモジュールから先に削除する。

modinfo
各モジュールの情報を表示する
-a    開発者
-d    説明
-p    パラメータの説明

modprobe
modules.dep を使って依存関係を調べる

-t     tag ディレクトリにある全てのモジュールをロードする
-c    /etc/modules.conf に含まれるモジュール構成をすべて表示する
-l     モジュール一覧を表示(-t も併用できる)

モジュールを構成する

keep
depfile=full_path
path=path_directory
options module opt1=val1 opt2=vol2 ...
pre-install module command
    module を挿入する前に command を実行する
install module command
post-install module command
    module を挿入した後に command を実行する
remove module command
post-remove module command
    module を削除した後に command を実行する

モジュールの依存関係
システムをリブートするたびに modules.dep が生成される

rc.sysinit で depmod -a を呼び出し modules.dep を生成

カスタムカーネルとモジュールの再構成、構築、インストール

カーネルの基礎

カーネルのバージョン
メジャーリリース(偶数のリリース番号)
マイナーリリース(奇数のリリース番号)
パッチレベル

カーネルのソースコード
/usr/src/linux

カスタムカーネルを構築する
カーネル構成を生成する
各オプションに対してその機能をどのように扱うかを指定する
・Xカーネルに組み込む(yes)
・Xモジュールとしてコンパイルする(module)
・X不要(no)

カーネル構成ファイル

/usr/src/linux/.config

config を設定する方法
make config
make menuconfig
make xconfig
make oldconfig (デフォルトの .config )

Makefile にカスタムパージョンを指定
EXTRAVERSION = -15 -pentium

カーネルをコンパイル

1. make dep
2. make clean
    前回のカーネル構築で残された古い出力ファイルを削除する
3. make bzImage
    ブート可能なカーネルイメージファイル
4. make modules
    ディバイスドライバなどのモジュールとして構成したものをコンパイル
5. make modules_install
    コンパイルしたモジュールをすべて/lib/modules/`uname -r` にインストール

新しいカーネルをインストールし、LILOを構成する

1. 新しい bzImage のコピーをルートパーティションにコピー
   LILO でブートできるようにする

   # cp -p /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.2.5-15-pentium

2. カーネル一覧表示
   # ls -l /boot /vmlinuz*

3. 新しい image セクションを /etc/lilo.conf の終わりに追加
   image=/boot/vmlinuz-2.2.5-15-pentium
    label=linux-pentium
    root=/dev/sda1
    read-only

4. lilo で新しいカーネルを登録する
    # lilo

5. 新しいモジュールの動作確認
    #ls -l /lib/modules

« SSH プロトコル | トップページ | フォレンジック調査に必要なツールが収録された仮想マシン(VM)イメージ - SIFT(SANS Investigative Forensic Toolkit) Workstation を使ってみた »

Linux」カテゴリの記事

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/503138/59344102

この記事へのトラックバック一覧です: Linux kernel メモ:

« SSH プロトコル | トップページ | フォレンジック調査に必要なツールが収録された仮想マシン(VM)イメージ - SIFT(SANS Investigative Forensic Toolkit) Workstation を使ってみた »

記事一覧

スポンサードリンク


Twitter


無料ブログはココログ

ブログ検索