From 498cf21c489f44d83a81d8d795e2a6c8de9659cd Mon Sep 17 00:00:00 2001 From: 0xAX <0xAX@users.noreply.github.com> Date: Sun, 7 Jan 2018 13:51:06 +0600 Subject: [PATCH 1/4] Update SUMMARY.md --- SUMMARY.md | 1 + 1 file changed, 1 insertion(+) diff --git a/SUMMARY.md b/SUMMARY.md index cfb74f3..935b6cb 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -6,6 +6,7 @@ * [Video mode initialization and transition to protected mode](Booting/linux-bootstrap-3.md) * [Transition to 64-bit mode](Booting/linux-bootstrap-4.md) * [Kernel decompression](Booting/linux-bootstrap-5.md) + * [Kernel load address randomization](Booting/linux-bootstrap-6.md) * [Initialization](Initialization/README.md) * [First steps in the kernel](Initialization/linux-initialization-1.md) * [Early interrupts handler](Initialization/linux-initialization-2.md) From 23bbbc31ee9900b0821dfe801897f05da9e215ac Mon Sep 17 00:00:00 2001 From: 0xAX <0xAX@users.noreply.github.com> Date: Sun, 7 Jan 2018 13:51:38 +0600 Subject: [PATCH 2/4] Update README.md --- Booting/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Booting/README.md b/Booting/README.md index a641b80..4338108 100644 --- a/Booting/README.md +++ b/Booting/README.md @@ -8,3 +8,4 @@ couple of posts which describes the full cycle of the kernel loading process: * [Video mode initialization and transition to protected mode](linux-bootstrap-3.md) - describes video mode initialization in the kernel setup code and transition to protected mode. * [Transition to 64-bit mode](linux-bootstrap-4.md) - describes preparation for transition into 64-bit mode and details of transition. * [Kernel Decompression](linux-bootstrap-5.md) - describes preparation before kernel decompression and details of direct decompression. +* [Kernel random address randomization](linux-bootstrap-6.md) - describes randomization of the Linux kernel load address. From a04cc2b780d828989d5aace1d80d96549417738e Mon Sep 17 00:00:00 2001 From: 0xAX <0xAX@users.noreply.github.com> Date: Sun, 7 Jan 2018 16:36:46 +0600 Subject: [PATCH 3/4] Update linux-bootstrap-6.md --- Booting/linux-bootstrap-6.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Booting/linux-bootstrap-6.md b/Booting/linux-bootstrap-6.md index 48e414a..5168995 100644 --- a/Booting/linux-bootstrap-6.md +++ b/Booting/linux-bootstrap-6.md @@ -19,7 +19,7 @@ config PHYSICAL_START ... ``` -This value may be changed during kernel configuration, but also load address can be selected as random value. For this purpose the `CONFIG_RANDOMIZE_BASE` kernel configuration option should be enabled during kernel configuration. +This value may be changed during kernel configuration, but also load address can be selected as a random value. For this purpose the `CONFIG_RANDOMIZE_BASE` kernel configuration option should be enabled during kernel configuration. In this case a physical address at which Linux kernel image will be decompressed and loaded will be randomized. This part considers the case when this option is enabled and load address of the kernel image will be randomized for [security reasons](https://en.wikipedia.org/wiki/Address_space_layout_randomization). From 527b2b8921c3d9c043bd914c5990d6a991e3035b Mon Sep 17 00:00:00 2001 From: Frank Dana Date: Sun, 7 Jan 2018 18:45:48 -0500 Subject: [PATCH 4/4] Update README.md "A couple" technically means exactly 2. It can be used to describe an unknown quantity of "approximately 2", but certainly never 6. --- Booting/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Booting/README.md b/Booting/README.md index 4338108..0688bee 100644 --- a/Booting/README.md +++ b/Booting/README.md @@ -1,7 +1,7 @@ # Kernel Boot Process This chapter describes the linux kernel boot process. Here you will see a -couple of posts which describes the full cycle of the kernel loading process: +series of posts which describes the full cycle of the kernel loading process: * [From the bootloader to kernel](linux-bootstrap-1.md) - describes all stages from turning on the computer to running the first instruction of the kernel. * [First steps in the kernel setup code](linux-bootstrap-2.md) - describes first steps in the kernel setup code. You will see heap initialization, query of different parameters like EDD, IST and etc...