Skip to content

About

SquirrelOS. Based upon SimpleOS by Harvey Xing and built in Assembly and C.

Topics

Resources

Stars

10 stars

Watchers

2 watching

Forks

Repository files navigation

SquirrelOS

My third attempt at OSDev. The fourth attempt is https://github.com/AlexDev404/Sapphire

A simple DOS like OS made in Assembly and C with a ported version of Stephen Brennan's [LSH](https://github.com/brenns10/lsh) Shell.

Build

Run sudo ./build.sh.

Run

To run the OS, you can download VM software. A pre-built ISO image is in the ./out/ directory.

Recommended:

Running with VMWARE/Virtualbox

To run with this, simply insert the iso image outputted in ./out/, and make sure to choose the other option.

Running with qemu

Run with qemu-system-x86_64 iso/MyOS.iso.

Source Tree

.
|-- OLDFILES
|   |-- kernel.c
|   |-- shell.c
|   `-- shell.h
|-- boot
|   |-- boot.s
|   |-- grub.cfg
|   `-- linker.ld
|-- build
|-- cpu
|   `-- cpuid
|       |-- cpuid.c
|       `-- cpuid.h
|-- drivers
|   |-- acpi
|   |   |-- acpi.c
|   |   `-- acpi.h
|   |-- ata
|   |   |-- ata.c
|   |   `-- ata.h
|   |-- keyboard
|   |   |-- keyboard.c
|   |   |-- keyboard.h
|   |   `-- keycodes.h
|   |-- mouse
|   |   |-- mouse.c
|   |   `-- mouse.h
|   |-- pci
|   |   |-- pci.c
|   |   `-- pci.h
|   |-- ports
|   |   |-- ports.c
|   |   `-- ports.h
|   |-- rtc
|   |   |-- rtc.c
|   |   `-- rtc.h
|   |-- screen
|   |   |-- screen.c
|   |   `-- screen.h
|   |-- serial
|   |   |-- serial.c
|   |   `-- serial.h
|   |-- sound
|   |   `-- pcspeaker
|   |       |-- pcspeaker.c
|   |       `-- pcspeaker.h
|   `-- timer
|       |-- timer.c
|       `-- timer.h
|-- fs
|   |-- fs.c
|   |-- fs.h
|   |-- initrd
|   |   |-- initrd.c
|   |   `-- initrd.h
|   |-- tar.c
|   |-- tar.h
|   |-- vfs.c
|   `-- vfs.h
|-- gdt
|   |-- gdt.c
|   |-- gdt.h
|   `-- load_gdt.s
|-- idt
|   |-- idt.c
|   |-- idt.h
|   |-- isr.c
|   |-- isr.h
|   `-- load_idt.s
|-- include
|   |-- exit.c
|   |-- exit.h
|   |-- limits.h
|   |-- math
|   |   |-- math.c
|   |   `-- math.h
|   |-- printf.c
|   |-- printf.h
|   |-- stdarg.h
|   |-- types
|   |   `-- types.h
|   |-- utils.c
|   `-- utils.h
|-- kernel
|   |-- apps
|   |   |-- apps.c
|   |   |-- apps.h
|   |   |-- calculator
|   |   |   |-- calculator.c
|   |   |   `-- calculator.h
|   |   |-- cowsay
|   |   |   |-- cowsay.c
|   |   |   `-- cowsay.h
|   |   |-- man
|   |   |   |-- man.c
|   |   |   `-- man.h
|   |   |-- serialapp
|   |   |   |-- serialapp.c
|   |   |   `-- serialapp.h
|   |   |-- slang
|   |   |   |-- slang.c
|   |   |   `-- slang.h
|   |   |-- textedit
|   |   |   |-- textedit.c
|   |   |   `-- textedit.h
|   |   |-- xander
|   |   |   |-- xander.c
|   |   |   `-- xander.h
|   |   `-- xgui
|   |       |-- xgui.c
|   |       `-- xgui.h
|   |-- fonts
|   |   |-- ChunkyMonkey
|   |   |   |-- Atari8
|   |   |   |   `-- Chunky\ Monkey.fnt
|   |   |   |-- BBC
|   |   |   |   |-- Chunky\ Monkey.bbc
|   |   |   |   `-- Preview-DFS.ssd
|   |   |   |-- C64
|   |   |   |   |-- Chunky\ Monkey.bin
|   |   |   |   |-- Chunky\ Monkey.both.64c
|   |   |   |   `-- Chunky\ Monkey.upper.64c
|   |   |   |-- Chunky\ Monkey.png
|   |   |   |-- PC
|   |   |   |   |-- Chunky\ Monkey.bdf
|   |   |   |   |-- Chunky\ Monkey.psf
|   |   |   |   |-- Chunky\ Monkey.ttf
|   |   |   |   |-- Chunky\ Monkey.woff
|   |   |   |   |-- Chunky\ Monkey.woff2
|   |   |   |   `-- font.o
|   |   |   |-- README.md
|   |   |   `-- Spectrum
|   |   |       |-- Chunky\ Monkey.ch8
|   |   |       |-- Chunky\ Monkey.fzx
|   |   |       |-- Chunky\ Monkey.tap
|   |   |       `-- Chunky\ Monkey.z80.asm
|   |   |-- font.h
|   |   |-- fontdriver
|   |   |   |-- fontdriver.c
|   |   |   `-- fontdriver.h
|   |   `-- ibmfont.h
|   |-- kernel.c
|   |-- multiboot.h
|   |-- panic.c
|   |-- panic.h
|   |-- pic
|   |   |-- pic.c
|   |   `-- pic.h
|   `-- shell
|       |-- lshell.c
|       `-- lshell.h
|-- out
|   `-- MyOS.iso

Contact Info

Contributing

I'm looking to extend it with additional features at this time. So I will be accepting any pull requests that are related to bug fixes and additional features that could be implemented.

About

SquirrelOS. Based upon SimpleOS by Harvey Xing and built in Assembly and C.

Topics

Resources

Stars

10 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages