为init运行python文件的Linux内核

时间:2010-08-02 22:10:44

标签: linux kernel init python

使用内置的python解释器或者可以从内核访问的内核构建Linux内核是否可能并且不难以置信,它可以在初始化过程中运行python文件?

1 个答案:

答案 0 :(得分:6)

您不能只替换/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);
}

我认为(python)脚本没有理由不能替换init进程; execve与触发任何正常进程的呼叫相同。我认为stdin和stdout只是连接到/ dev / console,因为init=/bin/sh也可以。 (但为什么你呢?!)