1. Booting의 개요

Boot PROM
각 W/S는 Kernel을 load 하기 전에 시스템 운용을 제어하는 monitor program이 내장된 PROM Chip을 가지고 있다. 또한 PROM은 시스템에 접속된 장치들을 확인하고 access 할 수 있는 내장 Device driver를 가지고 있다.

Boot Blocks (Bootblk)
시스템의 첫 번째 boot 프로그램은 bootstrap 과정에서 사용되는데, 이것은 두번째 boot program을 load 하는데 사용된다. 두 번째 boot program은 "installboot" 명령어에 의해 root file system에 install 된다.

Run Level
Run Level은 시스템 서비스들을 설정하는 System software Configuration 이다.

Run Control Scripts
File system check  및 mount와 여러 Daemon Process를 시작하고 중지시키는 rc scrpit 들을 제공한다.

Kernel Modules
Small static core와 Dynamically loadable moule로 구성된다.

2. 시스템 Booting 절차

1) 절차
① Boot PROM 단계 --+- PROM runs self-test Diagnostics
    +- PROM loads the bootblk program

② Boot Program 단계 -+- The bootblk program loads the second boot program
    +- The secondary boot program loads the kernel

③ Kernel 초기화 단계 - The Kernel initializes itself and start the init process

④ /sbin/init 단계 - The init process starts the rc scripts

2) 상세한 절차 표현
①  Boot PROM (1. 시스템 설정 banner의 표시 <Model 및 Keyboard type, HostID,
                           PROM revision Number, Ethernet Address>
     → 2. 자기진단 → 3. PROM에 설정된 Boot 장치에서 boot program을 찾는다.
     → 4. Boot Program의 load (/platform/sun4u/ufsboot)

② Boot Program (5. ufsboot 프로그램을 load한 후 boot PROM은 kernel을 load 한다.)

③ Kernel 초기화 단계 (6. Kernel 자기 자신을 초기화한 후 ufsboot program을 이용하여 moduleemf을
                                load 한다.)

④ /sbin/init (7. Kernel은 사용자 process 한 개를 생성하고 /sbin/init program을 실행시킨다.
→ 8. /sbin/init program은 /etc/inittab 파일에 기록된 내용을 실행한다.)

3. Booting Terminology

Boot PROM
kernel이 load 되기 전에 시스템을 Control 하는 Program으로 Programmable Read-Only Memory 이다.

Boot Blocks
첫 번째 Boot Program 또는 Boot block은 bootstrap process에 의해 읽혀진다.
이때 boot program은 Memory 안의 2번째 Boot program을 로드하는데 사용한다.
이 블록은 Physical 하게 처음 Partition의 1~15번 Sector에 위치하고 있다.
"installboot" 명령어는 root partition을 새로이 만들 경우 boot block을 install 할 때 사용한다.

Run Levels
System Services를 구분해 주는 System Software configuration의 level 이다.
Run level은 8개(0~6, S, s) 이다.

Run Control Scripts
File system을 마운트하고 check 하는 rc(Run control) Script는 Print daemon, NFSClinet-Server daemon,
Sendmail daemon등을 start/stop 시키는 프로그램이다.

4. System Run Levels

 Run Level                                            기     능
       0    PROM Monitor Level
       1   시스템 관리상태 (몇개의 파일시스템이 mount 되어지고 Login 환경을
  지원하지 않는 Single-user
       2   자원을 공유할 수 없는 Multiuser 상태
       3   자원을 공유할 수 있는 Multiuser 상태
       4    현재는 사용되지 않음   
       5    Halt 와 대화형 Boot (boot -a)
       6    Reboot to default run level 3
     S, s    시스템 관리상태 (몇개의 파일시스템이 mount 되어지고 Login 환경을
   지원하지 않는 Single-user


5. System Run Level의 변경

1) boot 명령어
PROM monitor level의 boot 명령어는 다른 run-leveldfm 실행 시킬 수 있다.
사용법 : ok boot [device_name] [option]

> boot [device_name] [option]
option
+- a : interactive boot
| r : reconfiguration boot
| s : run level S로 boot
| v : 상세한 boot 메시지를 표시
+- w : File system을 쓰기 가능하게 boot
ex) ok boot, ok boot sd(0,3,0), boot net, boot -asv

2) who 명령어
option "r"을 이용하여 현재 시스템의 상태를 알 수 있다.
사용법 : who [-abdHlnpqrstTu] [am I]
option
+- a : all
| b : boot time
| d : bead process
| l : login process
| p : process other than getty or user
| r : run level
| T : status of tty (+writable, -not writable, ? hung)
+- u : useful information
ex) # who -r, #who -b, # who -b

6. /sbin/init 명령어

init 명령어는 system run level을 변경하기 위하여 shutdown 명령어 대신 사용할 수 있다.
그러나 init 명령어는 경고메시지를 보내지 않는다.
사용법 ; init [0123456QqSs]
option
+- 0 : PROM Monitor level
| 1 : Single-User level
| 2 : Multi-User level (no resource shared)
| 3 : Multi-User level (resource shared)
| 5 : interactive boot
| 6 : Halt and reboot default run level 3
| S,s : Single-User level
+- Q,q : init 프로그램이 /etc/inittab 파일을 re-read
ex) # init 0, # init 6

7. /sbin/init 프로세스

시스템이 booting 할 때 /etc/inittab 파일의 "initdefault"에 의하여 첫 번째 run level 이 설정된다.
/sbin/init 프로세스의 중요한 역할
① Scheduler 와 Page Daemon 등과 같은 모든 프로세스의 부모 프로세스 역할
② 시스템을 default run level 로 설정하기 위한 프로세스들을 생성
③ /etc/inittab 파일을 참조하여 run level 간의 변화를 조절
④ Service Access Control(SAF)를 구동시키며 Port Service를 관리한다.

8. /sbin/rc* Script

시스템 환경의 초기화를 수행
+- File system check 및 mounting
| Network 환경구축
| Device Configuration 및 Link
+- Start Daemon Process


'IT > Unix' 카테고리의 다른 글

AIX 점검 명령어  (0) 2008.04.30
[SPARC] SUN 시스템의 하드웨어 점검방법  (0) 2008.04.25
Missing Solaris disks  (0) 2008.04.25
부트 매니저를 이용한 부트 디스크 미러링  (0) 2008.04.15
AIX 시스템 명령어 & grep, sed, awk  (0) 2008.04.04

+ Recent posts