请教一个问题,在源码中init函数最后的运行/sbin/init从哪里来的?

发布于 2022-07-22 14:20:48 字数 232 浏览 12 评论 9

在start_kernel之后调用的rest_init函数里面启动了init进程
在init进程里面调用的这些文件是从哪里来的呢?
run_init_process("/sbin/init");
        run_init_process("/etc/init");

/sbin/init没有看到内核哪里生成它们啊?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

记忆で 2022-07-23 00:32:06

原帖由 mornlee 于 2006-4-20 15:27 发表

那如果不用光盘安装,自己编译个内核启动的话是不是
就找不到/sbin/init和/bin/sh等程序
启动不起来呢

原帖由 mornlee 于 2006-4-20 15:27 发表

那怎么办呢

那就拷贝一个过去呀。

反话 2022-07-23 00:32:06

原帖由 wingger 于 2006-4-20 15:35 发表

那就拷贝一个过去呀。

谢谢您的耐心解答
明白了

以后还要多指教!

梦里兽 2022-07-23 00:32:04

原帖由 wingger 于 2006-4-20 15:07 发表

你用安装光盘装系统的时候

那如果不用光盘安装,自己编译个内核启动的话是不是
就找不到/sbin/init和/bin/sh等程序
启动不起来呢

那怎么办呢

谢谢大家的回答,我有很多困惑,也许对你们而言问的很幼稚,不好意思,真诚的请求帮助

随波逐流 2022-07-23 00:32:03

原帖由 mornlee 于 2006-4-20 14:53 发表
还有,sbin目录下面很多程序,象insmod等,是什么时候加进去的呢
如果不支持initrd的话,它是什么时候拷到那个目录下面的?

你用安装光盘装系统的时候

往事风中埋 2022-07-23 00:32:00

还有,sbin目录下面很多程序,象insmod等,是什么时候加进去的呢
如果不支持initrd的话,它是什么时候拷到那个目录下面的?

飘逸的'云 2022-07-23 00:31:56

原帖由 mornlee 于 2006-4-20 14:02 发表

谢谢版主的回答
我不明白,这个/sbin/init是哪里来的啊,没有看到这个应用程序的相关代码啊

这个程序不是 kernel 的一部分,任何人用任何语言都可以编写这个 /sbin/init 程序,你自己也可以编~
不过虽说是如此,System V 对于 init 程序还是有个规范的,man init 就可以看到关于它所应该实现的功能的描述。
在我的 Linux(FC3) 上,/sbin/init 程序是 rpm 包 SysVinit-2.85-34 提供的。
因为 kernel 只是负责调用 init 程序,而对它的行为没有任何假设,因此理论上讲,你使用什么 init 程序都是不重要的。
事实上,根据我的观察,各个发行版自己都改过 init,这一点可以从启动时屏幕上打印出的信息中看到。

挥剑断情 2022-07-23 00:31:51

原帖由 wingger 于 2006-4-20 13:41 发表
呵呵,到你看的这里的时候,
kernel 已经启动完成了,
/sbin/init 是应用层的程序,
和 kernel 不是一起的。

kernel 启动完成后,会主动将控制权移交给 /sbin/init,继续完成应用层的初始化,这也就是你看到 ...

谢谢版主的回答
我不明白,这个/sbin/init是哪里来的啊,没有看到这个应用程序的相关代码啊

时常饿 2022-07-23 00:30:38

晕,CU 在搞什么?
数据库出问题了,之前 albcamus 回的贴子没有了。。。。。

风为裳 2022-07-22 22:08:53

呵呵,到你看的这里的时候,
kernel 已经启动完成了,
/sbin/init 是应用层的程序,
和 kernel 不是一起的。

kernel 启动完成后,会主动将控制权移交给 /sbin/init,继续完成应用层的初始化,这也就是你看到的这几行代码。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文