当 Linux 内核加载后,它会加载发行版或操作系统来接管,我怎样才能让内核加载一些本机应用程序(用 c 编写)?我不需要 GUI 或任何东西,相反,我想(逐步)在此应用程序的基础上构建,使其成为一个完整的操作系统,这就是为什么我不想要操作系统,我想要仅内核执行我的申请。
答案1
它需要更好地理解Linux启动机制。
启动后,内核会初始化设备驱动程序,然后启动系统上的第一个进程。默认情况下,它是/sbin/init
。从此时起,内核不会自行执行任何操作,只会执行进程的请求。
您可以通过init=/path/to/your/binary
内核启动参数覆盖此默认设置。您必须将这些参数提供给引导加载程序(可能是蛴螬)。
如果您想要一个带有 shell 的简单命令提示符,您可以将其提供init=/bin/bash
给您的引导加载程序。