![switch_root 명령은 새 파일 시스템 pid 1 프로세스에서 /sbin/init를 어떻게 생성합니까?](https://linux55.com/image/201501/switch_root%20%EB%AA%85%EB%A0%B9%EC%9D%80%20%EC%83%88%20%ED%8C%8C%EC%9D%BC%20%EC%8B%9C%EC%8A%A4%ED%85%9C%20pid%201%20%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4%EC%97%90%EC%84%9C%20%2Fsbin%2Finit%EB%A5%BC%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EC%83%9D%EC%84%B1%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
커널이 initramfs로 부팅되면 실제 rootfs에 대한 준비를 위해 init 프로세스가 시작됩니다. 실제 rootfs가 준비되면 initramfs의 init 프로세스는 실제 rootfs의 다른 init로 넘겨져야 합니다.
내 질문은: init(old)에 이미 프로세스 ID 1이 있는데 왜 새 init 프로세스에도 프로세스 ID 1이 있습니까?
어떤 사람들은 switch_root 명령으로 전환이 이루어진다고 말하는데, 코드를 살펴본 결과 switch_root는 /dev, proc 등만 마운트하고 루트를 새 fs로 변경한 다음 execv(/sbin/init)를 발견했습니다.
switch_root는 init(old)의 하위 프로세스로 실행되어야 하며 프로세스 ID는 2,3 또는 1을 제외한 모든 값이어야 합니다. 맞아?