systemctl スイッチルートを使用してデフォルトターゲットを systemd に渡す

systemctl スイッチルートを使用してデフォルトターゲットを systemd に渡す

systemd次の方法でデフォルトのターゲットを設定する可能性を提供します。

  • カーネルパラメータsystemd.unit=
  • ディスカッション--unit=UNIT
  • または、たとえばrootfsでリンクを設定することができます/usr/lib/systemd/system/default.target

systemdinitramfsで利用でき、initrd-switch-root.target検疫を介してrootfsに切り替えることができます。(関連)。カーネルはこの場合、2つのパラメータ(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}

私の要件を満たしています。

関連情報