mirror of
https://github.com/0xAX/linux-insides.git
synced 2025-01-03 04:10:56 +00:00
commit
cd6d4cfe76
@ -294,7 +294,7 @@ If the value of the `eax` register is zero, everything is ok and we are able to
|
||||
Calculate relocation address
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
The next step is calculating relocation address for decompression if needed. First we need to know what it means for a kernel to be `relocatable`. We already know that the base address of the 32-bit entry point of the Linux kernel is `0x100000`, but that is a 32-bit entry point. The default base address of the Linux kernel is determined by the value of the `CONFIG_PHYSICAL_START` kernel configuration option. Its default value is `0x1000000` or `1 MB`. The main problem here is that if the Linux kernel crashes, a kernel developer must have a `rescue kernel` for [kdump](https://www.kernel.org/doc/Documentation/kdump/kdump.txt) which is configured to load from a different address. The Linux kernel provides special configuration option to solve this problem: `CONFIG_RELOCATABLE`. As we can read in the documentation of the Linux kernel:
|
||||
The next step is calculating relocation address for decompression if needed. First we need to know what it means for a kernel to be `relocatable`. We already know that the base address of the 32-bit entry point of the Linux kernel is `0x100000`, but that is a 32-bit entry point. The default base address of the Linux kernel is determined by the value of the `CONFIG_PHYSICAL_START` kernel configuration option. Its default value is `0x1000000` or `16 MB`. The main problem here is that if the Linux kernel crashes, a kernel developer must have a `rescue kernel` for [kdump](https://www.kernel.org/doc/Documentation/kdump/kdump.txt) which is configured to load from a different address. The Linux kernel provides special configuration option to solve this problem: `CONFIG_RELOCATABLE`. As we can read in the documentation of the Linux kernel:
|
||||
|
||||
```
|
||||
This builds a kernel image that retains relocation information
|
||||
|
@ -97,3 +97,5 @@ Thank you to all contributors:
|
||||
* [Alex Gonzalez](https://github.com/alex-gonz)
|
||||
* [Tim Konick](https://github.com/tijko)
|
||||
* [Anastas Stoyanovsky](https://github.com/anastasds)
|
||||
* [Faiz Halde](https://github.com/7coder7)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user