리눅스 부팅순서
리눅스 부팅 순서
-
Power On
-
ROM BIOS
- POST(Power On Self Test) - 디바이스 정보와 장치 점검
- 부팅장치 설정
- VTOC, MBR(Master Boot Recode) 확인
- 디스크 섹터 0 번에 VTOC, MBR의 위치가 들어있음
- GRUB
- 커널 이미지를 선택해 메모리에 적재시킴
- GRUB의 위치는 /etc/vmlinuz 버전.img에 정의되어있음
- 커널 이미지 적재
- ’/’ 파일 시스템을 Read Only로 마운트하여 테스트 과정을 거치고 난뒤 정상적으로 Read/Write 권한으로 마운트해, 장치드라이버를 설정
- Swapper 설정
- 커널에 의해 PID 0번인 Swapper 프로세스가 생성됨.
- init 생성 및 커널 부팅, 초기화
- Swapper 프로세스가 PID 1번인 init 프로세스를 생성시키고,
- init 프로세스는 /etc/inittab 파일에 default 런레벨이 정의되어 있고,
- 해당 런레벨로 부팅시 /etc/rc.d/rc.sysinit 스크립트가 실행되어
- 커널을 초기화 시킨다음 정상적으로 부팅 완료함
리눅스 런레벨 정의(cat /etc/inittab)
실행레벨 0
- 시스템 종료
실행레벨 1
- single mod로 부팅
실행레벨 2
- NFS를 지원하지않은 다중 사용자 모드
실행레벨 3
- 네트워킹을 지원하는 다중 사용자 모드
실행레벨 4
- 사용자가 정의해서 쓸수있는 실행레벨
실행레벨 5
- X를 실행시키기위한 실행레벨
실행레벨 6
- 시스템을 재부팅 시키도록 정의된 실행레벨
Reference
https://woorilife.tistory.com/25