Skip to content

Latest commit

 

History

History
56 lines (37 loc) · 1.24 KB

README.md

File metadata and controls

56 lines (37 loc) · 1.24 KB

bmos

This repo follows the tutorial "Building an OS" on the "Nanobyte" YouTube channel.

ASSUMPTIONS: x86 CPU familiarity with bytes, words, doubles, and quads, and binary, hexadecimal, Little Endian, and Assembly Language

REQUIREMENTS:

  • A Linux environment for development. Native Ubuntu, Arch, etc., or Windows Subsystem for Linux (WSL), or Cygwin

  • An assembler, to generate machine code. sudo apt install nasm

  • Make, to facilitate the build process. sudo apt install make

  • A virtualization environment, to execute the code. sudo apt install qemu

  • A graphical debugger, to see what's going wrong! sudo apt install bochs bochs-sdl bochsbios vgabios

  • A C compiler with 16-bit real-mode capability, such as https://github.com/open-watcom/open-watcom-v2/releases

nice to have:

  • Git + GitHub
  • An IDE, such as VSCode (preferred)
  • VSCode plugins for Git, Assembly Language, and viewing Binary Files

*** BUILDING


`make all`
or just plain
`make`    

*** RUNNING


Your BIOS (or emulator) must enable Legacy Booting instead of UEFI

`make run`
or
`make debug`