Live hot, Think cool

리눅스 부팅과정의 이해

 

1. 리눅스서버의 전원이 들어옵니다.

 

2. 메인보드에 있는 ROM-BIOS가 실행 됩니다.

 

3. ROM-BIOS에 의해 서버에 장착된 하드웨어가 인식됩니다. 이때 하드웨어(CPU, MEMORY등) 물리적 손상체크와 초기화가 병행됩니다.

 ※ ROM-BIOS는 넓은 의미로 컴퓨터에 탑재된 프로그램 중에서 하드웨어와 가장 낮은 수준에서 입출력을 담당하는 프로그램을 가리킨다. 펌웨어이고, ROM-BIOS는부트프로그램을 검색하여 부팅을 진행하게 된다.

 

4. 하드웨어의 체크 및 초기화가 끝나면 ROM-BIOS는 부팅매체(DISK, CD-ROM, FLOOPY 등)을 검색하게 됩니다.

 

5. 검색된 부팅매체의 0번 섹터(대부분 MBR이라고 부름) 에서 Boot Program을 읽어들여 메모리로 로드합니다.

 - 이 ROM-BIOS는 LILO(Linux Loader)를 메모리에 적재한 후에 모든 제어권을 LILO에 넘겨주게 됩니다.

 

6. LILO는 입력된 커널 이미지로 부팅을 시작하게 됩니다. 그리고 몇개의 커널이 존재하는 서버라면 /etc/lilo.conf 파일에 lilo설정이 되어 있을것입니다.

 

7. LILO는 커널이미지를 메모리로 불러들입니다.

 

8. LILO에 의해 pid 0번 프로세스(swapper)를 실행합니다.

 

9 다시 pid 1번 프로세스(init)를 불러들입니다.

 

10. init 프로세스는 /etc/inittab 파일을 불러들입니다.

 

11. 이후로 /etc/rc.d/rc.sysinit 과

 

12. /etc/rc.d/rc 0 ~6 중에서 실행레벨에 맞는 파일이 실행됩니다.

(부팅레벨이 0이면 /etc/rc.d/rc0.d

부팅레벨이 1이면 /etc/rc.d/rc1.d

부팅레벨이 2이면 /etc/rc.d/rc2.d

부팅레벨이 3이면 /etc/rc.d/rc3.d .....)

리눅스에서 실행되는 거의 모든 프로세스들은 init 프로세스들에 의해 실행(fork)되는 셈입니다.

 

13. /etc/rc.d/rc.local 스크립트 수행합니다. (사용자가 리눅스서버에 새로 설치한 툴이나 프로그램을 부팅할때마다 자동으로 실행되게끔 하려면 이파일의 맨 마지막에 실행명령을 넣어두면 됩니다.)

 

 

퍼온곳 : https://www.linux.co.kr/linux/tip/boot_sequence/

https://en.wikipedia.org/wiki/BIOS

 

리눅스 시스템 부팅과정 이해.pdf

 

위 파일은 www.superuser.co.kr에서 퍼온것입니다.

구글로 검색하면 구할수 있으며 저작권에 문제가 있을시 즉각 삭제할 예정입니다.