是否有可能并且不难构建一个 Linux 内核,其中包含或可以从内核访问 Python 解释器,并能运行 Python 文件作为其 init 进程?
你不能只是替换 /sbin/init
或者在引导加载程序中提供一个 init=...
选项吗?只需确保将python + libs放在根文件系统上。
编辑 我不想破坏系统,所以没有测试过,但是看了一下 linux/init/main.c
:
static void run_init_process(char *init_filename)
{
argv_init[0] = init_filename;
kernel_execve(init_filename, argv_init, envp_init);
}
execve
是启动任何正常进程的相同调用。而且我认为标准输入和标准输出只是连接到/dev/console,对于init=/bin/sh
也适用。(但你为什么要这样做呢?)