我希望使用我自己的引导加载程序加载 linux .. 初步研究和谷歌告诉我,我将不得不使用 start_kerne() 函数.. 我想问我如何从程序集中调用 start_kernel() .. 我已经格式化了我的 USB进入 ext3 并将编译后的内核粘贴到那里.. 现在我该如何启动 linux 内核?欢迎任何帮助//提前谢谢你
摩辛。
我希望使用我自己的引导加载程序加载 linux .. 初步研究和谷歌告诉我,我将不得不使用 start_kerne() 函数.. 我想问我如何从程序集中调用 start_kernel() .. 我已经格式化了我的 USB进入 ext3 并将编译后的内核粘贴到那里.. 现在我该如何启动 linux 内核?欢迎任何帮助//提前谢谢你
摩辛。
您确定需要编写自己的引导加载程序吗?
您不调用 start_kernel。顺便说一句,您不会调用任何函数。您需要将内核映像读入内存,将命令行等一些信息放入内存,设置一些寄存器,然后跳转到内核的入口点。
每种架构(x86、ARM 等)都可以有不同的启动要求。
如果你想有更深入的了解,可能你可以看看 u-boot 源码,例如lib_386/zImage.c
Grub 2附带的加载器可能是一个很好的入门参考