カーネルモジュール覚書

カーネルモジュールはカーネルが動的にロードできるモジュール。ローダブルカーネルモジュール(LKM)ともいう。デバイスドライバなどで使われている。

現在カーネルが読み込んでいるモジュールを表示するにはlsmodまたは/proc/modulesを読めばいい。

[root@centos build]# lsmod
Module Size Used by
autofs4 24517 3
hidp 23105 2
rfcomm 42457 0
l2cap 29633 10 hidp,rfcomm

左から順に、名前、サイズ、いくつのプロセスから使われているか、依存しているモジュールを示す。

モジュールの情報を表示するにはmodinfoを用いる。

[root@centos build]# modinfo hidp
filename: /lib/modules/2.6.18-53.1.14.el5/kernel/net/bluetooth/hidp/hidp.ko
alias: bt-proto-6
license: GPL
version: 1.1
description: Bluetooth HIDP ver 1.1
author: Marcel Holtmann <marcel@holtmann.org>
srcversion: F6110A784FD4060F29C39C7
depends: bluetooth,l2cap
vermagic: 2.6.18-53.1.14.el5 SMP mod_unload 686 REGPARM 4KSTACKS gcc-4.1
module_sig: 883f35047ced1a9eca829d098883c27112e81509d1eb0b292e3db5dedbf5a25709c45da76fbe43e09f7461c3ed59fa8fdfdd1649a3ea28dd2bf43f7de

モジュールをカーネルに組み込むにはinsmodまたはmodprobeを用いる。modprobeはinsmodより賢く依存関係を解決しながら読み込んでくれる。

モジュールをカーネルから開放するにはrmmodまたはmodprobe -rを用いる。上記と同様にmodprobeは賢く開放する。

依存関係は通常/lib/modules/<version>/modules.depに記述してあり、これはdepmodによって作られる。

modprobeは設定ファイル/etc/modprobe.confを参照する。このファイルは1行1命令で記述されていて、以下のような命令がある。

  • alias : モジュールに別名を付ける。ワイルドカードも指定可能。ネストはできない。
  • options :指定されたモジュールがmodprobeコマンドで指定されたとき、追加のオプションを指定する。
  • install : 指定されたモジュールがmodprobeコマンドで指定されたとき実行されるスクリプトを記述する。この命令がある場合、modprobeはデフォルトの動作を行わない。命令には–ignore-installを含んでいることが多い。これをつけるとmodprobe.confのinstall命令を無視する。つまりこれを付けて再帰しないようにしている。
  • remove : 上記と大体同じ。

モジュールは通常/lib/modules/<version>/ ディレクトリに格納されている。現在の動いているカーネルのヴァージョンを知るにはuname -rを用いる。

xorg.conf覚書

xorg.confはXサーバーの設定ファイル。Linuxだと/etc/X11/xorg.confにあることが多いです。

xorg.confはいくつかのセクションに分かれているが、各セクションは独立したものではなく、それらをツリー状に組み合わせて構成を決定する仕組みになっています。

ツリーのルートにあたるセクションがServerLayoutでこの下にScreenセクション、その下にMonitorやDeviceがあります。ServerLayoutはいくつあってもよく、複数ある場合はServerFlagsセクションのDefaultServerLayoutオプションでデフォルトのServerLayoutを指定します。セクションはIdentifierキーを使って一意に識別でき、これを使ってツリー構成を作っています。

Deviceセクションにグラフィックボードの設定を記述します。

Monitorセクションにモニターがサポートできる水平解像度と垂直解像度をkHzで指定します。これらは自分のモニターのマニュアルかネットで検索して見つけます。

Screenセクションに、DeviceキーとMonitorキーを指定し、Displayサブセクションを追加して、ここにDepthキーを使ってモニターのカラーデプス(色のビット数)を指定し、Modesキーを使って画面の大きさを指定します。Displayサブセクションは複数あってもかまいません。

▽関連記事
X Window Systemで他のディスプレイを使う

Firefoxのメニューのフォントを変える

Firefoxのメニューのフォントがデフォルトだと小さく表示されている。Firefoxはクロスプラットフォームなアプリなのでユーザーインタフェース(UI)もOS任せにせず全部自分でやっているからだと思われます。

FirefoxのUIの設定はプロファイルフォルダのchromeフォルダにあります。プロファイルフォルダは通常以下の場所にあります。

C:\Documents and Settings\<ユーザ名>\Application Data\Mozilla\Firefox\Profiles\xxxxxx.default

このフォルダの下のchromeフォルダ内に”userChrome-example.css”と言うファイルがあるのでこれをコピーして、”userChrome.css”としこれを編集します。このファイルはUTF-8で書かれているので、UTF-8を扱えるエディタを使ってください。

/*
* デフォルトフォントサイズをすべて 20 ポイントにする:
*
* * {
* font-size: 20pt !important
* }
*/

上の部分を下のように変える。

* {
font-size: 10pt !important;
}

内容を変更したら、保存してFirefoxを再起動します。

もちろんfont-sizeだけではなく、font-familyなども指定することができます。

* {
font-size: 10pt !important;
font-family: "MS UI Gothic";
}

▼関連記事
Operaのメニューのフォントを変える