Code Monkey home page Code Monkey logo

dinosaur-os's Introduction

Welcome to Dinosaur!

Dinosaur is a new operating system designed for multimedia production using the AMD64 architecture. It uses Assembly for the majority of the kernel, which should make for a fast and pleasant operating system.

How do I get started?

It's recommended until Dinosaur matures to use a virtual machine in order to test out Dinosaur's capabilities. The build instructions assume that you are using VirtualBox as your virtual machine. Also, it is assumed you have a 64-bit processor (which if you don't, Dinosaur will not work for you).

Here is what you need:

  • VirtualBox
  • Python 2.x (some build scripts are in Python)
  • yasm (Assembler used in build scripts)

Not too bad, I would say.

However, in Windows, you have to set up your Path environment variable to point to yasm.exe and VirtualBox's VBoxManage.exe in order for the build scripts to work. Here's how to find both:

  • yasm.exe: Wherever you extracted yasm, that is where yasm.exe would be.
  • VBoxManage.exe: If you installed it like normal people, VBoxManage.exe would be under C:\Program Files\Oracle\VirtualBox.

After this is all set up, follow the build instructions below.

Windows

  1. Run build scripts provided in directory build_win. You may either double-click run-all.bat to run them all, or if you like to see debug info, you can use the command prompt and run run-all.bat from there. These scripts build all of the assembly files and creates a VirtualBox Disk Image, which is the virtual hard drive you will use in your Dinosaur virtual machine.

  2. Create the Dinosaur virtual machine. Here's how you do that:

    • Click New in the upper left hand corner
    • In the wizard, click Next
    • Set the Name to Dinosaur, and under OS Type, set Operating System to Other and Version as Other/Unknown
    • Leave base memory size as it is for now. Click Next
    • Click Use existing hard disk, and click on the folder icon. Just outside your Dinosaur-OS directory, you will find a file called Dinosaur.vdi (the one with the red cube icon). Use this one. The reason why my scripts do this is so that images aren't saved to the working directory, and then to the repository. It's wasted space, and everybody would have access to your information. It's better this way.
    • Click Next
    • This shows you a summary page. Click Create
  3. Click on your new Dinosaur virtual machine and click Start! Easy!

  4. If you want to update Dinosaur, pull from this repository and run run-all.bat again. Your virtual machine will automatically use the newly generated virtual hard drive to boot from.

    • WARNING: If you saved any data to this virtual hard drive, it will be gone in a heartbeat. To make sure this doesn't happen to you, create a secondary virtual hard drive and save your data in there. As of now, I haven't created the build script to generate a properly formatted file system on a hard drive yet.

Linux

  1. Follow Window's instructions to the letter, except build scripts are in build_linux, and you would run run-all. Everything's named the same, which makes everything consistent and maintenance a breeze.

Current State of Project

So far, the bootloader is still being developed. I'm currently writing documentation about it as well so that I don't forget what I am doing. Some code may potentially be borrowed from Pure64, which is a bootloader for BareMetalOS that sets up the CPU in pure 64-bit mode.

Also, since I will also be designing my own filesystem called RAWR (Ridiculously Awesome Reader/Writer), that has to be developed before I can move on to installing the second-stage bootloader and kernel.

dinosaur-os's People

Contributors

dinozar 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.