初始化ELF可执行文件的C文件?

准入是

我有几个问题想通过Google找出,但徒劳无功。因此,将其发布在此处。在此先感谢您的时间。

  1. linux(我使用Ubuntu)中可生成init可执行文件的C文件在哪里如何init从内核模块调用;引导程序init到达内核/boot/vmlinuz文件如何调用模块

  2. 有没有办法追踪哪个函数调用init函数?到目前为止,我尝试了以下操作:尝试遍历readelf和nm,但无法使用它们追溯到被调用方。

  3. systemd更换后的引导程序init我了解到,首先调用与udev和d-bus有关的侦听套接字;然后启动每个进程,并获得与这些套接字的连接。但是我需要清楚地了解系统的工作原理。

如有必要,请帮助我指出相关链接。我已经提到的链接很少:

但是他们的解释方式非常抽象。

幼虫

linux(我使用Ubuntu)中生成init可执行文件的C文件在哪里可用?

这取决于哪个包提供init可执行文件。在默认的Ubuntu Utopic安装中,/sbin/init是的符号链接/sbin/upstart,因此您需要查找的源upstart使用您喜欢的搜索引擎进行的简单搜索可能会将您带到Upstart页面,该页面包含指向源代码下载和VCS存储库的链接。

您也可以使用该apt-get source命令下载特定软件包的源。您还需要dpkg-dev安装软件包(apt-get install dpkg-dev),然后可以运行:

apt-get source upstart

之后,您将拥有:

root@ubuntu:~# ls upstart-1.13.2/
ABOUT-NLS   config.guess  contrib  extra       ltmain.sh    po            TODO
aclocal.m4  config.h.in   COPYING  HACKING     m4           README        util
AUTHORS     config.rpath  dbus     init        Makefile.am  README.tests
ChangeLog   config.sub    debian   INSTALL     Makefile.in  scripts
compile     configure     depcomp  install-sh  missing      test
conf        configure.ac  doc      lib         NEWS         test-driver

在Ubuntu Vivid上,/sbin/init是一个符号链接/lib/systemd/systemd,因此您将需要获取systemd源

请注意,新贵公司和systemd的运作方式与旧版/sbin/init系统截然不同上面链接中的文档描述了每个系统的运行方式。

如何从内核模块调用init;在到达内核/ boot / vmlinuz文件后,引导程序如何调用init模块?

引导加载程序不会调用init引导加载程序将加载并执行内核。

有没有办法跟踪哪个函数调用init函数?到目前为止,我尝试了以下操作:尝试遍历readelf和nm,但无法使用它们追溯到被调用方。

我不清楚您要在这里做什么。内核调用/sbin/init也许这个问题是相关的。

systemd替换init后的引导过程。我了解到,首先调用与udev和d-bus有关的侦听套接字;然后启动每个进程,并获得与这些套接字的连接。但是我需要清楚地了解系统的工作原理。

就像我之前说的,systemd并没有取代init,而是取代了upstart,而upstart取代了init希望systemd网站上提供的文档能够帮助您了解事物的工作方式。如果不是这样,如果您对一些不清楚或行为不正常的特定问题提出疑问,您可能会得到更好的答案。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ELF可执行文件

来自分类Dev

使用Windows可执行文件作为DLL时如何初始化C运行时

来自分类Dev

如何安装gitpython,初始化失败:git可执行文件错误

来自分类Dev

将初始化脚本转换为systemd-可执行文件路径不是绝对的

来自分类Dev

取消链接ELF可执行文件

来自分类Dev

C ++可执行文件崩溃

来自分类Dev

“ bash可执行文件”和“ bash -c可执行文件”之间的区别

来自分类Dev

在可执行文件中“隐藏”文件 (C++)

来自分类Dev

哪个文件是可执行文件

来自分类Dev

用C中的Makefile获取可执行文件

来自分类Dev

汇编与C可执行文件大小

来自分类Dev

在C#可执行文件中构建.sln

来自分类Dev

从C ++启动独立可执行文件

来自分类Dev

在C ++中将声音嵌入可执行文件

来自分类Dev

C可执行文件到十六进制

来自分类Dev

无法从C ++启动可执行文件

来自分类Dev

动态创建Winforms可执行文件C#

来自分类Dev

将字节写入C中的可执行文件

来自分类Dev

使用Nautilus运行C ++可执行文件

来自分类Dev

在Jmeter中运行C可执行文件(测试)

来自分类Dev

C#从项目生成动态可执行文件

来自分类Dev

C可执行文件到十六进制

来自分类Dev

C可执行文件立即返回

来自分类Dev

如何使用 C++ 输出可执行文件

来自分类Dev

运行可执行文件的语法?

来自分类Dev

无法加载可执行文件

来自分类Dev

包含数据的可执行文件

来自分类Dev

带可执行文件的RPMbuild

来自分类Dev

Git:使用可执行文件