다음 이전 차례

2. 작동

initrd 를 사용할때, 시스템은 다음과 같이 부팅된다:

  1. 부트 로더는 커널과 초기의 RAM 디스크를 읽어들인다.
  2. 커널은 initrd 를 "보통의" RAM 디스크로 변환하고, initrd 에 의해 사용된 메모리를 풀어놓는다.
  3. initrd 는 루트에 읽고-쓰기 모드로 마운트된다.
  4. /linuxrc 가 실행된다 (이것은 어떤 유효한 실행파일도 될 수 있다, 쉘 스크립트도 포함하여; 그것은 uid 0 으로 실행되고 기본적으로 init 가 할 수 있는 것은 모두 할 수 있다)
  5. linuxrc 가 "진짜" 루트 파일 시스템을 마운트한다
  6. linuxrc 가 pivot_root 시스템 콜을 사용하여 루트 파일 시스템을 루트 디렉토리에 마운트한다.
  7. 보통의 부트 과정 (예를 들면, /sbin/init 를 부르는 것) 이 루트 파일 시스템에서 수행된다
  8. initrd 파일 시스템이 제거된다

루트 디렉토리를 변경하는 것이 그것을 언마운트 하는 것을 포함하지 않음에 주의하라. 따라서 initrd 에서 돌아가는 프로세스를 이 과정동안 남겨놓을 수 있다. 또한 initrd 아래에 마운트된 파일 시스템도 계속해서 접근가능함에 주의하라.


다음 이전 차례