mirror of
https://github.com/0xAX/linux-insides.git
synced 2025-01-03 12:20:56 +00:00
Merge pull request #255 from ruthgrace/bootstrap_4_32_bit_entry
fixed grammar in linux-bootstrap-4.md, 32-bit entry point section
This commit is contained in:
commit
e0f87ad2bd
@ -46,7 +46,7 @@ We can see here that `cs` register contains - `0x10` (as you can remember from t
|
||||
32-bit entry point
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
We can find definition of the 32-bit entry point in the [arch/x86/boot/compressed/head_64.S](https://github.com/torvalds/linux/blob/master/arch/x86/boot/compressed/head_64.S):
|
||||
We can find the definition of the 32-bit entry point in [arch/x86/boot/compressed/head_64.S](https://github.com/torvalds/linux/blob/master/arch/x86/boot/compressed/head_64.S):
|
||||
|
||||
```assembly
|
||||
__HEAD
|
||||
@ -58,14 +58,14 @@ ENTRY(startup_32)
|
||||
ENDPROC(startup_32)
|
||||
```
|
||||
|
||||
First of all why `compressed` directory? Actually `bzimage` is a gzipped `vmlinux + header + kernel setup code`. We saw the kernel setup code in the all of previous parts. So, the main goal of the `head_64.S` is to prepare for entering long mode, enter into it and decompress the kernel. We will see all of these steps besides kernel decompression in this part.
|
||||
First of all why `compressed` directory? Actually `bzimage` is a gzipped `vmlinux + header + kernel setup code`. We saw the kernel setup code in all of the previous parts. So, the main goal of the `head_64.S` is to prepare for entering long mode, enter into it and decompress the kernel. We will see all of these steps besides kernel decompression in this part.
|
||||
|
||||
Also you can note that there are two files in the `arch/x86/boot/compressed` directory:
|
||||
|
||||
* head_32.S
|
||||
* head_64.S
|
||||
|
||||
We will see only `head_64.S` because we are learning linux kernel for `x86_64`. `head_32.S` even not compiled in our case. Let's look on the [arch/x86/boot/compressed/Makefile](https://github.com/torvalds/linux/blob/master/arch/x86/boot/compressed/Makefile), we can see there following target:
|
||||
We will see only `head_64.S` because we are learning linux kernel for `x86_64`. `head_32.S` even not compiled in our case. Let's look at [arch/x86/boot/compressed/Makefile](https://github.com/torvalds/linux/blob/master/arch/x86/boot/compressed/Makefile). We can see there the following target:
|
||||
|
||||
```Makefile
|
||||
vmlinux-objs-y := $(obj)/vmlinux.lds $(obj)/head_$(BITS).o $(obj)/misc.o \
|
||||
|
Loading…
Reference in New Issue
Block a user