对内核的争论

AIB*_*AIB 6 linux boot bootstrapping linux-kernel bootloader

内核是否需要从引导加载程序获取内容.通常内核能够从头开始构建系统,那么为什么它需要来自boot-loader的任何内容?我从内核看过这样的启动消息.

"Fetching vars from bootloader... OK"
Run Code Online (Sandbox Code Playgroud)

那么变量到底是什么?如何从引导加载程序传递变量?是通过堆栈?

sho*_*nex 2

内核接受所谓的基于文本的命令行选项。这非常有用,因为您可以做很多事情而无需重新编译内核。至于参数传递,它取决于架构。在 ARM 上,它是通过指向内存中某个位置或内存中固定位置的指针来完成的。

以下是在ARM上的实现方式。通常内核无法从头开始引导机器。可能是从BIOS开始的,但它不是从头开始的。它需要一些初始化,这是引导加载程序的工作。