systemd
提供通过以下方式设置默认目标的可能性:
- 内核参数
systemd.unit=
- 争论
--unit=UNIT
- 或者通过设置一个链接,例如
/usr/lib/systemd/system/default.target
在 rootfs 中。
systemd
可以在 initramfs 中使用,通过 initrd-switch-root.target 隔离切换到 rootfs(关联)。内核为这种情况提供了两个参数(systemd.unit=,rd.systemd.unit=),但我不知道它们在这种情况下如何工作。
是否可以systemd
在 rootfs 切换之后在 initramfs 阶段设置默认目标,而systemd
在 initramfs 和 rootfs 中使用?如果是的话我该怎么做?
背景:我通过套接字连接在 initramfs 阶段检索数据。根据该数据,我想告诉systemd
它在切换到 rootfs 后应直接前往哪个目标(运行级别)。
答案1
回答我自己的问题:systemd
提供参数 --unit=UNIT ( systemd --help
),因此调用:
exec switch_root /mnt/root /sbin/init --unit=${target}
符合我的要求。