GithubHelp home page GithubHelp logo

anima-otheros / cactusos Goto Github PK

View Code? Open in Web Editor NEW

This project forked from remco123/cactusos

0.0 0.0 0.0 11.13 MB

A operating system made for fun.

License: MIT License

C++ 93.00% Python 1.92% C 3.76% Assembly 0.65% Makefile 0.67%

cactusos's Introduction

CactusOS

CactusOS is a simple operating system that is aimed to not be anything like linux. I am just trying to build my own OS and definitely not the best one. It should run on every 32 bit emulator and pc but if it doesn't please let me know.

Current Features

  • Higher Half Kernel [Done]
  • PCI Device Enumeration [Done]
  • Virtual 8086 Mode [Done]
  • VESA Vbe after boot [Done]
  • Disk support (ATA/ATAPI) [Basic]
    • PCI IDE Controller [Done]
    • PCI AHCI Controller [Basic]
  • Filesystem support [Basic]
    • ISO9660 [Done]
    • FAT(12/16/32) [Basic]
  • Multitasking [Basic]
  • Usermode [Done]
  • Graphical Desktop [Basic]
  • Applications
    • Calculator [Basic]
    • Clock [Basic]
    • Terminal [Basic]
    • Mine Game [Done]
  • USB Support [Basic]
    • UHCI
    • OHCI
    • EHCI
    • xHCI Not supported yet
  • USB Devices [Basic]
    • Mouse
    • Keyboard
    • Dual Receiver
    • Mass Storage Device
  • Installer [Basic]
    • FAT Filesystem creation
    • Complete system install on hard drive
  • Boot from USB [Done]

Planned Features

  • Update all code to new log method
  • More complete custom build api for apps
  • Some basic applications
    • File Manager
  • GUI visual improvement, could look a whole lot better

Building

To build CactusOS I recommend running a linux like environment, personaly I use ubuntu 4.15.0-47-generic. A i686-elf cross compiler is also required, see Osdev wiki.

Make build options

  • make CactusOS.bin To build the binary
  • make CactusOS.iso To build the cdrom image
  • make clean To remove all the compiled files
  • make qemu Build the CactusOS.iso file if necessary and then run the kernel using qemu

Bochs

By default the os does not have graphics when running on bochs, to bypass this set the value BOCHS_GFX_HACK to 1 in kernel/include/system/system.h.

Installing

You can install the operating system onto a hard-drive using the setup program. This program is built into the kernel and can be launched by pressing enter during the "Press Enter to run Installer" prompt. This option is only availible in the liveCD.

Screenshots

Bootscreen

Debugging with vscode debugger

Graphical Desktop

cactusos's People

Contributors

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