systemctl 스위치 루트를 사용하여 기본 대상을 systemd에 전달

systemctl 스위치 루트를 사용하여 기본 대상을 systemd에 전달

systemd다음을 통해 기본 대상을 설정할 수 있는 가능성을 제공합니다.

  • 커널 매개변수systemd.unit=
  • 토론--unit=UNIT
  • 또는 예를 들어 rootfs에서 링크를 설정하면 됩니다 /usr/lib/systemd/system/default.target.

systemdinitramfs에서 사용할 수 있으며 initrd-switch-root.target 격리를 통해 rootfs로 전환할 수 있습니다.(관련된). 커널은 이 경우에 두 개의 매개변수(systemd.unit=, rd.systemd.unit=)를 제공하지만 이 경우 어떻게 작동하는지 모르겠습니다.

systemdrootfs 전환 후 initramfs 단계에서 기본 대상을 설정할 수 있지만 systemdinitramfs 및 rootfs에서 사용할 수 있습니까 ? 그렇다면 어떻게 해야 합니까?

배경:소켓 연결을 통해 initramfs 단계에서 데이터를 검색합니다. 이 데이터를 바탕으로 systemdrootfs로 전환한 후 곧바로 어느 타겟(런레벨)으로 가야 하는지 알려주고 싶습니다 .

답변1

내 질문에 대답하려면 --unit=UNIT( ) systemd인수를 제공하여 다음을 호출합니다.systemd --help

exec switch_root /mnt/root /sbin/init --unit=${target}

내 요구 사항을 충족합니다.

관련 정보