パソコンの電源が投入されたあと、MBR(マスターブートレコード)内のブートローダーが ロードされます。ブートローダーは、主にLILOやGRUBといったものがあります。
とりあえず、GRUBの例を次に示します。Plamo Linuxの場合、GRUBの設定は /etc/grub.confになります。
# GRUB configuration file default 0 timeout 30 fallback 1 splashimage (hd0,1)/boot/grub/grubimg.xpm.gz title Plamo-4.03 (hda2) root (hd0,1) kernel (hd0,1)/vmlinuz root=/dev/hda2 ro vga16 unicon=eucjp
詳細は、ブートローダーを参照してください。
カーネルがロードされると最初のプロセスとして /sbin/initが起動されます。/sbin/initは inittabを読み各くスクリプトが実行されます。
それでは、inittabの中を順に見ていきます。 (Plamo Linuxでは、/etc/inittab)
# # inittab This file describes how the INIT process should set up # the system in a certain run-level. # Default runlevel. id:3:initdefault:
id:3:initdefault:で、デフォルトのランレベルを設定しています。ランレベルとは、OSの 動作の状態を示すもので、シングルユーザーやマルチユーザーなどを示します。
この場合、デフォルトのランレベル3で動作するということになります。
# System initialization (runs when system boots). si:S:sysinit:/etc/rc.d/rc.S
デフォルトのランレベル設定後、システムの初期化がrc.Sスクリプトによって実行されます。
PATHの設定やスワップを有効にしたり、ハードのチェック等を行います。
# Script to run when going single user (runlevel 1). su:1S:wait:/etc/rc.d/rc.K
su:1S:wait:/etc/rc.d/rc.Kは、シングルユーザモードでの動作を決定するスクリプトです。
# Script to run when going multi user. rc:2345:wait:/etc/rc.d/rc.M
次は、ランレベルが2,3,4,5(マルチユーザ)の時に初期化すべきスクリプトrc.Mが実行されます。
rc.Mでネットワークの設定などが行われrc.locaが呼ばれます。
# What to do at the "Three Finger Salute". ca::ctrlaltdel:/sbin/shutdown -t5 -rf now # Runlevel 0 halts the system. l0:0:wait:/etc/rc.d/rc.0 # Runlevel 6 reboots the system. l6:6:wait:/etc/rc.d/rc.6 # What to do when power fails (shutdown to single user). pf::powerfail:/sbin/shutdown -f +5 "THE POWER IS FAILING" # If power is back before shutdown, cancel the running shutdown. pg:0123456:powerokwait:/sbin/shutdown -c "THE POWER IS BACK" # If power comes back in single user mode, return to multi user mode. ps:S:powerokwait:/sbin/init 5
次に、[Ctrl]+[Alt]+[Delete]キーが押された場合のスクリプトや電源オンオフ時の 動作などが指定されています。
c1:1235:respawn:/sbin/agetty 38400 tty1 linux c2:1235:respawn:/sbin/agetty 38400 tty2 linux c3:1235:respawn:/sbin/agetty 38400 tty3 linux c4:1235:respawn:/sbin/agetty 38400 tty4 linux c5:1235:respawn:/sbin/agetty 38400 tty5 linux c6:12345:respawn:/sbin/agetty 38400 tty6 linux
getty(agetty)が 6 個起動しコンソールが使用可能になり、login: プロンプトを表示します。
/sbin/agettyは、/etc/issueを読みコンソールにその内容を表示しlogin: プロンプトで入力を 待ちます。ログイン名が入力されると/bin/loginを実行します。
Copyright 1997-2010 BBB All rights reserved.