我有几个问题,我试图谷歌找出来,但徒劳。因此,在这里发布。在此先感谢您的时间。初始化ELF可执行文件的C文件?
哪里C文件在Linux(我使用Ubuntu)可产生
init
可执行文件?如何从内核模块调用init
;引导加载程序在与内核/boot/vmlinuz
文件联系后如何调用init
模块?有没有办法跟踪哪个函数调用
init
函数? 我到目前为止的尝试:试图通过readelf和nm,但无法追溯到使用它们的被调用者。systemd
代替init
后的引导程序。我了解到,侦听套接字首先与udev和d-bus有关;然后每个进程启动并获得连接到这些套接字。但我需要清楚了解系统的工作原理。
请帮助我指出相关链接,如有必要。我已经提到几个环节是:
- https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Installation_Guide/s2-boot-init-shutdown-init.html
- https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/5/html/Installation_Guide/ch-boot-init-shutdown.html
但他们解释的方式是非常抽象的。
这个问题的方式过于宽泛。考虑将其分成多个问题以获得更好的答案。 – larsks
几乎每个查询都在下面介绍,我将按照建议启动其他线程来查询最后一个查询。将其标记为关闭,最后更新的答案已完成。 –