mirror of
https://github.com/0xAX/linux-insides.git
synced 2024-11-01 04:29:39 +00:00
8c1b3221fb
- rep stosl reduces ecx by 1 per write operation, not 4. Source: http://www.fermimn.gov.it/linux/quarta/x86/rep.htm - Clarification: The four Page Directory tables contain 2048 entries in total, not 2048 each. Source: http://wiki.osdev.org/Page_Tables#Long_mode_.2864-bit.29_page_map - Registers can not contain %rip-relative addresses, since %rip changes every single instruction. Only the instructions themselves can contain RIP-relative addresses. - The first argument to decompress_kernel is called rmode, not boot_param. - The boot_params struct goes in %rdi, not %rsi. Source: https://en.wikipedia.org/wiki/X86_calling_conventions#System_V_AMD64_ABI - find_random_addr does not ensure that the 'memory region is not less than value of kernel alignment'; it ensures the kernel is at or above the minimum load address. |
||
---|---|---|
.. | ||
linux-bootstrap-1.md | ||
linux-bootstrap-2.md | ||
linux-bootstrap-3.md | ||
linux-bootstrap-4.md | ||
linux-bootstrap-5.md | ||
README.md |
Kernel boot process
This chapter describes the linux kernel boot process. You will see here a couple of posts which describe the full cycle of the kernel loading process:
- From the bootloader to kernel - describes all stages from turning on the computer to running the first instruction of the kernel;
- First steps in the kernel setup code - describes first steps in the kernel setup code. You will see heap initialization, query of different parameters like EDD, IST and etc...
- Video mode initialization and transition to protected mode - describes video mode initialization in the kernel setup code and transition to protected mode.
- Transition to 64-bit mode - describes preparation for transition into 64-bit mode and details of transition.
- Kernel Decompression - describes preparation before kernel decompression and details of direct decompression.