KERNEL

Linuxディストリビューション

Linuxカーネルに各種ソフトウェアを集め、システムとしての一通りの機能を持ったソフトウェアの集合。
imageプラグインエラー : ご指定のURLまたはファイルはサポートしていません。png, jpg, gif などの画像URLまたはファイルを指定してください。

バージョン

コマンド
[root@localhost ~]# uname -a
Linux localhost.localdomain 2.6.18-164.el5 #1 SMP Thu Sep 3 03:33:56 EDT 2009 i686 i686 i386 GNU/Linux
ファイル
[root@localhost ~]# cat /proc/version
Linux version 2.6.18-164.el5 (mockbuild@builder16.centos.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-46)) #1 SMP Thu Sep 3 03:33:56 EDT 2009

2005年3月の2.6.11以前、安定版と開発版はマイナーバージョン番号によって区別でき、開発版は奇数、安定版は偶数をつける決まりになっていました。
imageプラグインエラー : ご指定のURLまたはファイルはサポートしていません。png, jpg, gif などの画像URLまたはファイルを指定してください。
2005年3月の2.6.11以降、「2.6.x.y」のような、さらなるメンテナンスナンバーが追加され、「2.6.x」に対して「2.6.x.y」は安全な修正のみを反映させる。
yに関して、"-164.el5"は自由に決めることが出来る。
[root@localhost ~]# vi /usr/src/linux-2.6.33.3/Makefile
kernel:http://www.kernel.org/
2010/05/03現在:2.6.33.3

2.4 or 2.6?

2.6系は、2.4系のチューニング版。
主要な変更点:高負荷時の性能向上

glibcとそのバージョン

各アプリケーションでよく使われる機能を持ったライブラリ。Linuxアプリケーションはglibcに依存。バージョンの違いにシビア。
[root@localhost ~]# gcc -v
Using built-in specs.
Target: i386-redhat-linux
コンフィグオプション: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable- threads=posix \
--enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-libcj-multifile \
--enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --enable-plugin \
--with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre --with-cpu=generic --host=i386-redhat-linux
スレッドモデル: posix
gcc バージョン 4.1.2 20080704 (Red Hat 4.1.2-46)

X Window System

X.Orgサイト:http://www.x.org/wiki/
XFree86→X.Orgへ変更
2010/05/03現在:X11R7.6

デスクトップ環境

X Window Systemで使用されるデスクトップ環境。ウィンドウ操作などを実現するウィンドウマネージャなど。
KDEとGNOMEがある。

カーネルイメージ

[root@localhost ~]# ls -la /boot/vmlinuz-2.6.18-164.el5
-rw-r--r-- 1 root root 1855924  9月  3  2009 /boot/vmlinuz-2.6.18-164.el5

カーネルモジュール

[root@localhost ~]# ls -l /lib/modules/2.6.18-164.el5/kernel
drwxr-xr-x  3 root root 4096  4月 11 04:44 arch
drwxr-xr-x  2 root root 4096  4月 11 04:44 crypto
drwxr-xr-x 42 root root 4096  4月 11 04:44 drivers
drwxr-xr-x 31 root root 4096  4月 11 04:44 fs
drwxr-xr-x  4 root root 4096  4月 11 04:44 lib
drwxr-xr-x 22 root root 4096  4月 11 04:44 net
drwxr-xr-x  9 root root 4096  4月 11 04:44 sound
  • スクリプトなどで記述する時
[root@localhost 2.6.18-164.el5]# echo /lib/modules/`uname -r`
/lib/modules/2.6.18-164.el5
  • 現在ロードされているカーネルモジュール
コマンド
[root@localhost ~]# lsmod
ip_conntrack_netbios_ns     6977  0
xt_state                6209  4
ip_conntrack           53281  2 ip_conntrack_netbios_ns,xt_state
など...
モジュール名・サイズ・参照回数・依存関係
ソート
[root@localhost ~]# lsmod|sort -k2nr|less
ファイル
[root@localhost ~]# cat /proc/modules|less
ip_conntrack_netbios_ns 6977 0 - Live 0xf8a44000
xt_state 6209 4 - Live 0xf8a4d000
ip_conntrack 53281 2 ip_conntrack_netbios_ns,xt_state, Live 0xf8a69000
モジュール名・サイズ・参照回数・依存関係,ロード状態(Live、Loading、Unloading),現在のカーネルメモリオフセット
  • カーネルモジュールの詳細
モジュール名を調べるには、lsmodコマンド、/live/modules/`uname -r`/lernel以下のファイルを参照する。
[root@localhost nfs]# modinfo ext3
filename:       /lib/modules/2.6.18-164.el5/kernel/fs/ext3/ext3.ko
license:        GPL
description:    Second Extended Filesystem with journaling extensions
author:         Remy Card, Stephen Tweedie, Andrew Morton, Andreas Dilger, Theodore Ts'o and others
srcversion:     51D84081C475FE078B1D891
depends:        jbd
vermagic:       2.6.18-164.el5 SMP mod_unload 686 REGPARM 4KSTACKS gcc-4.1
module_sig:     883f3504a9f784e581431131ff6a52711292c309f5ef8f88488c3d9bd4505db9d613e0af459f3a1909c8b43293f9bcd72f55c96c4f801f2fcba02858

カーネル再構築

  • ダウンロード
[root@localhost nfs]# cd /usr/src/
[root@localhost src]# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.33.3.tar.bz2
[root@localhost src]# tar jxvf linux-2.6.33.3.tar.bz2
[root@localhost src]# cd linux-2.6.33.3
.configファイル(カーネル構築の設定ファイル)がある場合、バックアップを取っておく。初めて展開した場合はない。
[root@localhost linux-2.6.33.3]# make mrproper
現在のコンフィグレーションファイル.configと、前回のカーネルコンフィグレーションで生成されたすべてのファイルを削除して初期状態に戻します。
[root@localhost linux-2.6.33.3]# make config
.configを生成
[root@localhost linux-2.6.33.3]# make
カーネルとカーネルモジュールのコンパイル
[root@localhost linux-2.6.33.3]# make modules_install
カーネルモジュールのインストール(/lib/modules/2.6.33.3)
[root@localhost linux-2.6.33.3]# mkinitrd /boot/initrd-2.6.33.3.img 2.6.33.3
初期RAMディスクの作成(/lib/modules以下を検索)
[root@localhost linux-2.6.33.3]# installkernel vmlinuz-2.6.33.3 arch/i386/boot/bzImage System.map
カーネルイメージとSystem.mapを/boot以下に作成
※【vmlinuz-】はいらなかった...。

初期RAMディスクの中身

[root@localhost ~]# cp /boot/initrd-2.6.33.3.img /tmp/
[root@localhost tmp]# file initrd-2.6.33.3.img
initrd-2.6.33.3.img: gzip compressed data, from Unix, last modified: Sat May  1 10:21:23 2010, max compression
[root@localhost tmp]# gunzip -S .img initrd-2.6.33.3.img
※-Sは、拡張子を指定
[root@localhost tmp]# mkdir initrd-2.6.33.3-tmp;cd initrd-2.6.33.3-tmp
[root@localhost initrd-2.6.33.3-tmp]# cat /tmp/initrd-2.6.33.3|cpio -i
[root@localhost initrd-2.6.33.3-tmp]# ls -F
bin/  dev/  etc/  init*  lib/  proc/  sbin@  sys/  sysroot/




※gzipよりbzip2の方が圧縮率が高い
最終更新:2010年05月03日 15:06
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。