2019-02-06 15:34:39 +01:00
|
|
|
#=----------------------------------------------------------------------------=#
|
|
|
|
# GNU GPL OS/K #
|
|
|
|
# #
|
|
|
|
# Desc: Folder description - "boot" #
|
|
|
|
# #
|
|
|
|
# #
|
|
|
|
# Copyright © 2018-2019 The OS/K Team #
|
|
|
|
# #
|
|
|
|
# This file is part of OS/K. #
|
|
|
|
# #
|
|
|
|
# OS/K is free software: you can redistribute it and/or modify #
|
|
|
|
# it under the terms of the GNU General Public License as published by #
|
|
|
|
# the Free Software Foundation, either version 3 of the License, or #
|
|
|
|
# any later version. #
|
|
|
|
# #
|
|
|
|
# OS/K is distributed in the hope that it will be useful, #
|
|
|
|
# but WITHOUT ANY WARRANTY# without even the implied warranty of #
|
|
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
|
|
|
|
# GNU General Public License for more details. #
|
|
|
|
# #
|
|
|
|
# You should have received a copy of the GNU General Public License #
|
|
|
|
# along with OS/K. If not, see <https://www.gnu.org/licenses/>. #
|
|
|
|
#=----------------------------------------------------------------------------=#
|
2018-12-20 18:03:39 +01:00
|
|
|
|
|
|
|
|
2019-03-08 09:44:09 +01:00
|
|
|
This folder contains the source for OS/K's early loader.
|
2018-12-20 18:03:39 +01:00
|
|
|
OS/K being intended to only run on x86-64 systems, we have not divided
|
|
|
|
this folder into one sub-folder per architecture.
|
|
|
|
|
2019-03-08 09:44:09 +01:00
|
|
|
The bootloader itself is external to the OS/K project. We are using GRUB 2 to
|
|
|
|
load our kernel loader in memory.
|
2018-12-20 18:03:39 +01:00
|
|
|
|
2019-02-10 16:18:32 +01:00
|
|
|
The kernel loader, that we call the loader, is the main subject of this folder.
|
2019-03-08 09:44:09 +01:00
|
|
|
This loader is linked whith the kernel and loaded by Grub at the specified
|
|
|
|
address and prepare it for the hard work it have to do :
|
2018-12-20 18:03:39 +01:00
|
|
|
|
2019-03-08 09:44:09 +01:00
|
|
|
- Check the multiboot state
|
|
|
|
- Check if CPUID and long mode is supported
|
|
|
|
- Send a structure for it with memory map, cpu infos, and other devices
|
|
|
|
infos, prepared by GRUB.
|
|
|
|
- Switch into long mode
|