Giter Site home page Giter Site logo

phylumchordata / uefi-tuts Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hamidnazari/uefi-tuts

0.0 0.0 1.0 39.7 MB

YOUTUBE Tutorials on how the UEFI works to boot your own Operating System. Think of this as an EFI Bootloader.

License: MIT License

Batchfile 0.84% C 97.99% Makefile 1.15% Assembly 0.01%

uefi-tuts's Introduction

Step by Step Tutorials on how to use the UEFI for OS Development from scratch

GitHub stars
GitHub forks
GitHub watchers
GitHub followers

NOTES

  • WARNING - This code is for teaching purposes only. It is not written for professional use. Some code is written in order to speed up teaching, and thus is not properly coded. You should rewrite the code for your own professional use.

  • For video 33 ( which is Code 29 on Github ), I am using FASM. FASM is a better assembler in my opinion. It correctly generates code for the GDT, where as with NASM it kept generating the wrong code.

  • New open source Tool coming soon to create an EFI based GPT Partitioned virtual HDD file. Big THANK YOU to Hamid Nazari for his hard work on creating this tool for us. The source code should work on all platforms and will make OS Development that much easier.

  • THE TUTORIALS ON YOUTUBE ARE WINDOWS BASED, BUT CODE SHOULD WORK IN LINUX AND MAC.

  • UEFI 2.9 Specs PDF : https://uefi.org/specifications

  • NOTICE : The 40 meg file is still there, and can now be used by MAC and Linux users. The 256 meg file is in the ZIP inside of the HOLD folder for those who want a larger drive.hdd file to play with. All Operating System users CAN use that size file too.

  • The original HDD IMAGECREATOR software has been removed. It has been replaced with the new tool coded by Hamid Nazari.

BUILD INSTRCUTIONS

Linux, Mac, Windows
https://github.com/ThatOSDev/UEFI-Tuts/tree/master/BUILD.md

SOCIAL MEDIA LINK

YOUTUBE : https://www.youtube.com/channel/UCouyC9D6WFBwc24sqdkS-jw

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

TUTORIALS

  • RIGHT CLICK THE LINKS AND OPEN IN NEW TAB
    • TEXT                                                                                     --- YOUTUBE   3 --- SOURCE CODE
    • COLOR                                                                                 --- YOUTUBE   5 --- SOURCE CODE
    • KEYBOARD                                                                           --- YOUTUBE   6 --- SOURCE CODE
    • ERROR CHECKING                                                               --- YOUTUBE   7 --- SOURCE CODE
    • EFILIBS                                                                                 --- YOUTUBE   8 --- SOURCE CODE
    • CURSOR POSITIONS                                                           --- YOUTUBE 10 --- SOURCE CODE
    • GRAPHICS OUTPUT 1                                                         --- YOUTUBE 11 --- SOURCE CODE
    • EFI STALL / DELAY                                                               --- YOUTUBE 12 --- SOURCE CODE
    • COLD REBOOT / SHUTDOWN                                            --- YOUTUBE 13 --- SOURCE CODE
    • UNICODE KeyStroke ( UnicodeChar )                                 --- YOUTUBE 14 --- SOURCE CODE
    • LOAD / OPEN / CLOSE VOLUME + FILE SYSTEM + FILES   --- YOUTUBE 15 --- SOURCE CODE
    • LOADED FILE TO BUFFER + READING IT                            --- YOUTUBE 16 --- SOURCE CODE
    • CUSTOM FONT                                                                  --- YOUTUBE 17 --- SOURCE CODE
    • RETURN VALUE FROM FILE                                                --- YOUTUBE 18 --- SOURCE CODE
    • MEMORY MAP                                                                   --- YOUTUBE 19 --- SOURCE CODE
    • GRAPHICS OUTPUT 2                                                         --- YOUTUBE 20 --- SOURCE CODE
    • CREATE & WRITE TO FILE                                                   --- YOUTUBE 21 --- SOURCE CODE
    • CREATE & DELETE FOLDER                                                 --- YOUTUBE 22 --- SOURCE CODE
    • GET FILE SIZE                                                                      --- YOUTUBE 23 --- SOURCE CODE
    • ADDING THATCLIB                                                             --- YOUTUBE 24 --- SOURCE CODE
    • PRINTF PART 1                                                                   --- YOUTUBE 25 --- SOURCE CODE
    • JUMPING TO LOADER                                                        --- YOUTUBE 26 --- SOURCE CODE
    • CODE CLEANUP                                                                 --- YOUTUBE 27 --- SOURCE CODE
    • EXITBOOTSERVICES                                                           --- YOUTUBE 28 --- SOURCE CODE
    • DYNAMIC ENTRY POINT (8664/ELF)                                 --- YOUTUBE 29 --- SOURCE CODE
    • TRANSFER MMAP AND FILE SIZE                                     --- YOUTUBE 30 --- SOURCE CODE
    • QUERY AND SET SCREEN MODE                                      --- YOUTUBE 31 --- SOURCE CODE
    • ACCESSING PCI / ACHI ( RSDP )                                       --- YOUTUBE 32 --- SOURCE CODE
    • PRE-LOADING A GDT BINARY FILE                                   --- YOUTUBE 33 --- SOURCE CODE
    • INITIALIZE GDT BEFORE JUMPING                                   --- YOUTUBE 34 --- SOURCE CODE

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

* Reading Raw Sectors from Drive  
* Writing Raw Sectors to Drive  
* Format and Partition drive with the EFI Environment  
* Operating System Installation with just the EFI Environment  

Current Progress

Current Progress

Current Progress

Current Progress

Current Progress

Current Progress

Current Progress

Current Progress

Current Progress

Current Progress

uefi-tuts's People

Contributors

hamidnazari avatar

Forkers

stevetranby

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.