ThatOS64 is for the youtube series on 64-Bit Kernel Development pre-loaded by the EFI

Step by Step Tutorials on how to code a 64-Bit loader and kernel for OS Development

GitHub stars
GitHub forks
GitHub watchers
GitHub followers

NOTES

  • Starting with CODE5, the resolution from the EFI file sets the screen height and width to 1920x1080.
  • Although this can work on real hardware, I do NOT recommend doing so unless you know what you are doing. Use virtualbox or qemu until you know you have solid working code.
  • For CODE1, you will need the BOOTX64.EFI file from my other GitHub Repo. https://github.com/ThatOSDev/UEFI-Tuts
  • The drive.hdd file is included, I didn't realize this when I made the first video.
  • The bios64.bin file is for qemu to work. Otherwise QEMU will fail to load.
  • Although the BUILD INSTRUCTIONS shows Windows, MAC or Linux, this tutorial series is using a windows host. However all code and makefile command switches should all work if you follow the build instructions.

TOOLS NEEDED

BUILD INSTRCUTIONS

https://github.com/ThatOSDev/ThatOS64/tree/master/BUILD.md

SOCIAL MEDIA LINK

YOUTUBE : https://www.youtube.com/channel/UCouyC9D6WFBwc24sqdkS-jw
DISCORD : ThatOSDev#5516

READ THIS !!!

  • THINGS YOU SHOULD KNOW BEFORE STARTING OS DEVELOPMENT
    • The C Language
    • Assembly Language
    • How to read Hex Code ( Example : 0x8664 )
    • How your Host Operating System works ( Such as windows or linux )
    • How your compiler works ( Such as GCC )
    • How to do research ( Don't be lazy )
  • BEGINNER MISTAKES : https://wiki.osdev.org/Beginner_Mistakes

STRUCT FROM THE EFI BOOTLOADER

NOTE: This is current starting with CODE5

typedef struct BLOCKINFO
{
    uint64_t               BaseAddress;
    uint64_t               BufferSize;
    uint32_t               ScreenWidth;
    uint32_t               ScreenHeight;
    uint32_t               PixelsPerScanLine;
    uint64_t               LoaderFileSize;
    EFI_MEMORY_DESCRIPTOR* MMap;
    uint64_t               MMapSize;
    uint64_t               MMapDescriptorSize;
    uint64_t*              rsdp;
} __attribute__((__packed__)) BLOCKINFO;

TUTORIALS

  • RIGHT CLICK THE LINKS AND OPEN IN NEW TAB
    • INITIAL SETUP                                                               --- YT   1 --- CODE
    • ABI INTERFACE                                                              --- YT   2a | YT   2b | YT   2c --- CODE
    • GRAPHIC TEXT                                                              --- YT   3 --- CODE
    • ORGANIZATION AND TEXT POSITION                         --- YT   4 --- CODE
    • MEMORY MANAGER - MMap / GDT                            --- YT   5a | YT   5b | YT   5c | YT   5d | [YT   5e]
                                                                                            --- CODE

More Tuts Coming soon... ( NOTE : The order of this list is subject to change )

* Paging
* IDT
* BMP / TGA Image Loading 
* PCI  
* AHCI  
* Mouse  

Current Progress

Current Progress

Current Progress

Current Progress

Current Progress

Owner
ThatOSDev
I coded this EFI OS Bootloader from scratch to prove it could be done. It is being used to boot ThatOS64.
ThatOSDev
Similar Resources

This package provides localization in a pre-built map using ICP and odometry (or the IMU measurements).

This package provides localization in a pre-built map using ICP and odometry (or the IMU measurements).

Localization using ICP in a known map Overview This package localizes the lidar sensor in a given map using the ICP algorithm. It subscribes to lidar

Nov 24, 2022

A pre-boot execution environment for Apple boards built on top of checkra1n

archOS A pre-boot execution environment for Apple boards built on top of checkra1n - currently based off the Checkra1n/PongoOS Repo. Building on macOS

Jan 17, 2022

The repository contains some examples of pre-trained SNN (Spiking Neural Network) models.

About the Project The repository contains some examples of pre-trained SNN (Spiking Neural Network) models. The models were trained using the MM-BP tr

Nov 24, 2022

Manticore - iOS Jailbreak based on cicuta virosa by ModernPwner and Pattern F's pre-jailbreak's amfid bypass.

Manticore Jailbreak Manticore Jailbreak is a Free and Open-Source Jailbreak utility developed by the Manticore Team. Current compatibility: iOS 14.0 -

Nov 30, 2022

pre-built coreboot images and documentation on how to flash them for Thinkpad Laptops

pre-built coreboot images and documentation on how to flash them for Thinkpad Laptops

Skulls - not quite Heads pre-built coreboot images with an easy installation process Skulls makes it easy to install an unlocked, up-to-date and easy

Nov 24, 2022

Pre-compiled builds for CVE-2021-4034

CVE-2021-4034 Precompiled builds for CVE-2021-4034. Of course you shouldn't trust precompiled builds :) This release works slightly different: first a

Nov 9, 2022

YouTube subscriber counter widget

YouTube subscriber counter My version of AlexGyver's project. My improvements Fix work with new youtube API Change subscribers displaying from 42000 t

Oct 26, 2021

Code for Stepper Motors and Robot Kinematics YouTube course

Code for YouTube course: Stepper Motors and Robot Kinematics: Theory and Practice on STM32 This repo contains the code for my YouTube course Stepper M

Jan 6, 2022

L'iconico Button di YouTube rivisitato e reso Smart con un contatore di iscritti in tempo reale!

L'iconico Button di YouTube rivisitato e reso Smart con un contatore di iscritti in tempo reale!

Smart Youtube Button with Subscribers Counter ESP32 L'iconico Button di Youtube rivisitato e "smartizzato" con un contatore di iscritti in tempo reale

Dec 28, 2021
NetHunter Kernel for the OnePlus 7 Series based on DragonHeart Kernel

Linux kernel ============ This file was moved to Documentation/admin-guide/README.rst Please notice that there are several guides for kernel develop

Mar 13, 2022
A video input (V4L2) to NDI converter that works with Raspberry Pi (32-bit and 64-bit), and Intel/AMD CPUs

V4L2 to NDI V4L2 to NDI is an application that connects to attached V4L2 devices and encodes the video signal into NDI It uses the NDI library, allowi

Nov 12, 2022
Opencore-based Hackintosh EFI and guide for Lenovo Thinkpad X1 Carbon Gen 7
Opencore-based Hackintosh EFI and guide for Lenovo Thinkpad X1 Carbon Gen 7

macOS on Thinkpad X1 Carbon 7th Generation OpenCore-based Hackintosh EFI and guide for Lenovo Thinkpad X1 Carbon Gen 7. This guide has been generated

Aug 9, 2022
Hide SMBIOS/disk/NIC serials from EFI bootkit
Hide SMBIOS/disk/NIC serials from EFI bootkit

Rainbow Rainbow is a bootkit like HWID spoofer for Windows. It abuses several hooks in EFI runtime services and uses clever DKOM to hide hardware seri

Nov 22, 2022
Simple EFI runtime driver that hooks GetVariable function and returns data expected by Windows to make it think that it's running with secure boot enabled (faking secure boot)
Simple EFI runtime driver that hooks GetVariable function and returns data expected by Windows to make it think that it's running with secure boot enabled (faking secure boot)

SecureFakePkg is a simple EFI runtime driver that hooks GetVariable function and returns data expected by Windows to make it think that it's running with secure boot enabled. In other words, it fakes secure boot status.

Oct 20, 2022
fortnite cheat external that uses efi drivers and is updated

fortnite-external-efi-drivers fortnite cheat external that uses efi drivers and is updated ALL CREDITS TO CHASE: https://github.com/Chase1803 i just u

Jun 5, 2022
Basic EFI with Opencore for AMD Ryzen and Threadripper

BASE EFI AMD - Ryzen and Threadripper (1XXX, 2XXX, 3XXX, 4XXX, 5XXX) and Athlon 2xxGE Note Description Initial macOS Support macOS 10.13, High Sierra.

Nov 27, 2022
GNU-EFI fork without the bs.

reduced-gnu-efi =============== reduced-gnu-efi is a fork of GNU-EFI that strips out all code save for the relocation assembly stubs and the EFI head

Nov 5, 2022
bl_mcu_sdk is MCU software development kit provided by Bouffalo Lab Team for BL602/BL604, BL702/BL704/BL706 and other series of RISC-V based chips in the future.
bl_mcu_sdk is MCU software development kit provided by Bouffalo Lab Team for BL602/BL604, BL702/BL704/BL706 and other series of  RISC-V based chips in the future.

bl mcu sdk is an MCU software development kit provided by the Bouffalo Lab Team for BL602/BL604, BL702/BL704/BL706 and other series of chips in the future

Nov 26, 2022
The Gecko SDK (GSDK) combines all Silicon Labs 32-bit IoT product software development kits (SDKs) based on Gecko Platform into a single, integrated SDK.

Silicon Labs Gecko SDK (GSDK) The Gecko SDK (GSDK) combines Silicon Labs wireless software development kits (SDKs) and Gecko Platform into a single, i

Nov 24, 2022