构建 Linux 内核以启动到终端

构建 Linux 内核以启动到终端

我刚刚开始内核黑客攻击,想要构建一个不会启动操作系统 GUI 而只是进入终端命令提示符的内核。这是尝试调试我遇到的问题。我不确定我应该查看哪些配置设置来尝试执行此操作。我自己无法找到此信息,有人可以指出我正确的方向吗?另外,有关 grep 浏览 Kconfig 文件以尝试在将来自己查找此信息的提示也将受到赞赏。

谢谢。

答案1

启动时启动哪个 GUI 不依赖于内核构建,任何内核都可以执行此操作。根据您的发行版,GUI 环境由某些服务管理器或一组初始化脚本加载。

如果systemd您可以删除链接,您将在启动时/usr/lib/systemd/system/multi-user.target加载到所谓的环境中。shell

答案2

systemd如果您正在使用(许多最近的发行版都这样做),则可以提供补充答案:

ln -sf /usr/lib/systemd/system/multi-user.target /etc/systemd/system/default.target

multi-user意味着您将获得一个具有登录终端和大多数服务的环境(因此可以进行 SSH 登录),只是没有图形服务器。它与runlevel 3基于 insysvinit的系统非常相似

答案3

这不是由内核决定的。这是一个启动选项。如果您的系统使用 systemd,请使用该systemctl命令设置引导目标。不要绕过正确的 systemd 命令并对文件系统进行修改来实现此目的。相反,以 root 身份使用:

systemctl set-default multi-user.target

您可以使用以下命令恢复到 GUI 目标:

systemctl set-default graphical.target

答案4

尝试添加内核命令行参数init=/bin/bash,看看会发生什么......(您可能需要使用编辑命令输入幼虫e,通过在启动过程中的正确时间键入- 当它显示幼虫菜单)

相关内容