gpt4 book ai didi

c - switch_root 和 run_init 有什么区别?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:53:02 26 4
gpt4 key购买 nike

switch_rootrun_init 有什么区别,除了 switch_root 是由 busyboxrun_init 来自klibc

非常感谢

最佳答案

它们都执行完全相同的功能,即从一个initramfs .他们都假设应该成为根的文件系统已经安装在某个目录上,他们将其作为参数。

(initramfs 是一个(通常)由引导加载程序加载的临时内存文件系统。它的目的是在安装真正的根目录并切换到真正的 init 之前进行可能需要的任何设置程序。)

可以找到run-init 的最新源代码here . run_init() 是入口点(从解析参数的 run-init.c 调用)。

可以找到 switch_root 的最新源代码 here . switch_root_main() 是入口点。

这两种实现的代码都很短(尽管有点棘手),这使得通过肉眼比较它们变得容易。唯一的区别似乎是它们执行的健全性检查略有不同,而且最近版本的 run-init 有一个额外的选项可以在 之前删除选定的 capabilities(7) >execv()正在执行新的 init

关于c - switch_root 和 run_init 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29270626/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com