系统相关
首页 > 系统相关> > linux – 内核loadaddress和入口点有什么区别?

linux – 内核loadaddress和入口点有什么区别?

作者:互联网

我正在制作自己的Linux发行版.开发进展顺利但是我发现很难理解内核加载地址和入口点之间的区别.

为了通过uBoot加载内核,我认为加载内核的内存地址总是与内核执行(启动)时的条目(起始点)相同.

但我猜测,因为这些是两个分开的值,并不总是必须相同,因此有一个原因可以将它们分开.

有人可以解释一下这两者之间的区别吗?

解决方法:

加载地址是要复制内核二进制映像的RAM位置.
入口点是由uboot执行以复制二进制文件的位置以引导内核.

如果RAM映射为80000000且内核LOAD ADDRESS为80008000.
bootm命令将uImage从复制的映像位置解压缩到80008000地址,然后调用内核入口点(可能是相同的地址:80008000)来执行内核.

标签:linux,linux-kernel,kernel,embedded-linux,u-boot
来源: https://codeday.me/bug/20190522/1154306.html