System 5 init가 systemd로 대체되었을 때 BeagleBone Black Linux 부트로더는 어떻게 변경되었습니까? [폐쇄]

System 5 init가 systemd로 대체되었을 때 BeagleBone Black Linux 부트로더는 어떻게 변경되었습니까? [폐쇄]

우리는 Linux 3.12를 실행하는 BBB 기반의 맞춤형 Linux 보드를 보유하고 있습니다.

현재 부팅에는 SysV init를 사용하고 있습니다. 내가 아는 한 시작은 다음 순서로 발생합니다.

  1. ROM 코드는 부팅 핀 구성을 기반으로 부팅 장치를 찾습니다.
  2. ROM 코드는 1단계 부트 로더(SPL/X-로더)를 내부 SRAM에 로드하고 이를 제어합니다.
  3. SPL은 DDR과 같은 일부 초기화를 수행한 다음 U-Boot를 RAM에 로드합니다.
  4. U-Boot는 NAND/eMMC/Ethernet과 같은 다른 주변 장치 초기화를 수행하고 커널+dtb를 로드합니다.
  5. 커널은 초기화를 수행하고, dtb를 기반으로 다양한 하드웨어/주변 장치를 구성하고 모든 드라이버를 초기화합니다.
  6. 커널은 첫 번째 프로세스인 init( /sbin/init우리의 경우 커널 명령줄 인수에서 설정할 수 있음)를 실행합니다.
  7. inittab(구성 파일)을 기반으로 하는 init 애플리케이션은 inittab 파일에 지정된 시작 스크립트를 실행합니다.::sysinit:/etc/init.d/rcS
  8. 그러면 /etc/init.d/rcS폴더에 있는 모든 초기화 스크립트가 실행됩니다 /etc/init.d/.

이것이 SysV init를 통해 마더보드가 부팅되는 방식입니다. (적어도 이것은 내 이해입니다. 실수가 있으면 정정하십시오.)

이제 어느 시점에서 우리는 시스템 부팅이 어떻게 이루어지는지 평가하고 싶습니다. 우리는 POC를 수행하고 시스템 시작 및 프로세스 유지 관리의 개선 또는 저하를 조사해야 합니다.

우리는 기본 사항을 알고 있습니다. systemd는 cgroup에서 작동하고 프로세스를 병렬로 시작할 수 있지만 이를 monit처럼 처리합니다.

그러나 우리는 systemd의 실제 시작 프로세스를 모릅니다.

System 5 init 대신 systemd를 사용할 때 BeagleBoneBlack Linux의 부팅 프로세스는 무엇입니까? 위에서 설명한 기존 시작 프로세스와 어떻게 다릅니까?

답변1

systemd의 init 바이너리가 inittab 또는 rcS 스크립트를 사용하지 않고 대신 다른 논리를 사용하여 데몬을 시작하는 방법을 결정한다는 점을 제외하면 완전히 동일하게 작동합니다.

그러나 그 핵심은 동일하게 유지됩니다.

더 많은 내용을 원하시면 좀 더 구체적으로 말씀해 주셔야 합니다.

관련 정보