Linux大学Linux学部LPIC学科講師のLPIC猿です。

本日の講義は「システムの起動時の流れ」です。

【電源投入】

【BIOSによるハードウェアの初期化とチェック】

【MBRからブートローダーGRUBを読み込み実行】

【Linuxカーネルの読み込みと起動】

【初期RAMディスクからlinuxrcを読み込み実行】

【ファイルシステムのマウント】

【initの実行】

【init起動スクリプトの実行】

【ディスプレイマネージャとGDMの起動】

【ユーザー名、パスワードの受付】

【X Window(GNOMEやKDE)起動】


電源を入れると、パソコン内蔵プログラムのBIOSが起動します。
そしてCPU、メモリ、ハードディスク、キーボード、マウスなどの
ハードウェアを初期化、自己診断を実行します。

次にBIOSは、Linuxを起動するためにブートローダーのGRUBを起動
します。GRUBはOSの核といえるLinuxカーネルを読み込んで起動し、
ファイルシステムを使えるようにします。

これで起動のためのスクリプトプログラムを実行できるようになります。
そしてネットワークの初期化などのプロセスが無数に起動されます。

プロセスの起動後、ログイン画面が表示されるので、ユーザー名、パスワードを
入力し、ログインします。X WIndowにGNOMEを使っていれば、GDM(GNOME Display Manager)
がログイン画面を表示します。

ユーザー認証を処理して、正しく認証されれば、ログイン完了となります。


【おすすめ問題集】
LPIC予想問題ドットコム


Linux大学Linux学部LPIC学科講師のLPIC猿です。

本日の講義は「カーネルモジュールについて]です。

カーネルはOSの中核をなすプログラムで、ハードウェアの監視や
アプリケーションの実行等を行います。そのカーネルでハードウェア
の監視を行うためにはデバイスドライバが必要となります。
デバイスドライバは、【カーネルに組み込んで利用する場合】と
【カーネルモジュールとして利用する場合】があります。


【カーネルに組み込んで利用する場合】
システム起動時、カーネルをメモリにロードした時点で
デバイスをサポートすることができます。
ハードディスクなどシステムで頻繁に利用する
ハードウェアが適しています。

【カーネルモジュールとして利用する場合】
ハードウェアを利用するたびに、必要なカーネルモジュール
をメモリにロードします。システムで利用する頻度が低い
ハードウェアが適しています。

システム稼動中にロードされているカーネルモジュールを一覧表示する
ためには、「lsmod」を利用します。「lsmod」はカーネルモジュールごとに
「名前」「サイズ」「利用回数」「このモジュールを参照しているモジュール名」
を表示します。

「cat /proc/modules」としても「lsmod」と同じ出力になります。

# lsmod

Module Size Used by
intel_agp 19360 1
agpgart 26024 2 intel_agp
parport_pc 21440 0
lp 8360 0
parport 31176 2 parport_pc,lp
joydev 7744 0
bcm5700 136108 0
iptable_filter 2048 0
iptable_mangle 2048 0
ip_tables 14976 2 iptable_filter,iptable_mangle
dump_blockdev 4608 0
dump_gzip 2052 0
zlib_deflate 21528 1 dump_gzip


【カーネルモジュールのロード】

modprobeは設定ファイルやコマンドラインで指示することにより、
モジュールのロード、アンロードや状態表示などさまざまな
モジュール管理を行うことができます。

たとえば1つまたは複数のモジュールを、それが必要とするモジュール
とあわせてロードしたり、モジュールロード時にスクリプトを実行
したりすることができます。

modprobeの設定ファイルはカーネルのバージョンによって異なります。
カーネル2.4系で使用される設定ファイルは/etc/modules.conf、
カーネル2.6系で使用される設定ファイルは/etc/modprobe.confです。

これら設定ファイルに処理内容を記述して、そのmodprobeを実行
すると、システムがモジュールをロードする際、設定ファイルに
記述された処理内容が参照されて自動的に実行されます。

以下はもモジュールbcm5700をロードしています。

# vi /etc/modprobe.conf
alias eth0 bcm5700

# modprobe eth0

またカーネルモジュールを操作するとき「modprobe」は「modules.dep」ファイル
を利用して、モジュール間の依存関係を調べます。その結果、モジュールが他の
モジュールを必要としている場合は、そのモジュールを先にロードします。

modules.depファイルを最新の状態に更新するには、「depmod」コマンドを実行
します。

【お勧め問題集】
LPIC予想問題ドットコム