GithubHelp home page GithubHelp logo

test-os's Introduction

Test OS

Test OS is a very barebone operating system that it loaded by the BIOS into 0x7c00 and from there, executes assembly instructions immediately. No EFI, no config, no boot folders. It's like programming for the C64, but for modern computers! Works on most x86 IBM-compatible PCs.

Written fully in hex, by a hex editor only.

Based on tutorial: http://www.brokenthorn.com/Resources/OSDev3.html

Preparing the boot disk

Note: If you're a Windows user, you'll need to install Cygwin to use the script, do this step manually, or use another program that does something like this.

Using the script

cd test-os
./compile.sh

You'll find a file named "boot.img" in the test-os folder. This is the 1.44MB floppy disk boot image.

Manually

First of all, generate a 1.44MB floppy disk image. The contents of it don't matter. After that, copy the 512-byte sector1.bin into the first 512 bytes of the floppy disk image (i.e. the first sector). The result is a floppy disk boot image.

Booting

On VirtualBox

  1. Create a new VM
  2. Give any name. The OS should be Other/Other, 32-bit. (Though 64-bit is fine as well)
  3. Give as much memory as you want to it; it's just going to use 257 bytes anyway.
  4. Create without a hard disk.
  5. In Settings->Storage of the VM, add a Floppy Controller and choose "boot.img" or your manually-made floppy disk boot image as its disk.
  6. Run the VM.

On a real PC

  1. Image the floppy disk boot image onto a floppy disk.
  2. Insert the floppy disk into the PC.
  3. Boot your PC and select the option to boot from floppy disk. Contact your manual for details.

test-os's People

Contributors

limdingwen avatar

Stargazers

Sean Pedigo avatar Son Dang avatar  avatar 申杰 avatar Felipe Blassioli avatar Ian P avatar Sagar Giri avatar Mayukh Datta avatar Bardia Shahrestani avatar Alexis Paques avatar Praveen Mylavarapu avatar Jaime González-Arintero avatar Gopal Sharma avatar Alexander Gribkov avatar  avatar Whats_in_name avatar Vikram Dutt avatar C. Plug avatar Alex Lévy avatar Ekramul Hoque avatar Ethan J. Campbell avatar Anshuman Kumar avatar Abhishek Bhattacharya avatar Darko Jurić avatar Saptarshi Ghosh avatar Jay Ess avatar Justin Szaday avatar Wellington Soares avatar Rishi Giri avatar Anoop Vargheese avatar Kevin Selva Prasanna avatar Shreyas Minocha avatar ayrton avatar Fazle Rabbi avatar Hamzah Chaudhry avatar  avatar Pradipta Bora avatar Brynden avatar

Watchers

James Cloos avatar  avatar Bardia Shahrestani avatar  avatar  avatar Brian avatar Ethan J. Campbell avatar

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.