All Projects → AdeRegt → SanderOSUSB

AdeRegt / SanderOSUSB

Licence: other
32 bit singletasking C kernel

Programming Languages

assembly
5116 projects
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to SanderOSUSB

SynapseOS
SynapseOS - модульная операционная система на языке C.
Stars: ✭ 93 (+78.85%)
Mutual labels:  kernel, osdev, ata
beeos
A simple "Unix-like" kernel trying to be POSIX compliant
Stars: ✭ 103 (+98.08%)
Mutual labels:  kernel, osdev
rust-kernel-barebones
A minimal 64-bit rust kernel and a bunch of configuration scripts that can be used to bootstrap Operating system development using Nightly-Rust compiler.
Stars: ✭ 42 (-19.23%)
Mutual labels:  kernel, osdev
carbon
64 bit monolithic nt-style kernel
Stars: ✭ 60 (+15.38%)
Mutual labels:  kernel, osdev
DentOS
Experimental Stand-alone 32-bit Kernel with Bootloader written in AT&T Assembly and Freestanding C
Stars: ✭ 32 (-38.46%)
Mutual labels:  kernel, osdev
SynnixOS
Hobbyist Operating System targeting x86_64 systems. Includes userspace, Virtual File System, An InitFS (tarfs), Lua port, easy porting, a decent LibC and LibM, and a shell that supports: piping, file redirection, and more.
Stars: ✭ 40 (-23.08%)
Mutual labels:  kernel, osdev
georgios
Hobby Operating System
Stars: ✭ 19 (-63.46%)
Mutual labels:  kernel, osdev
SnowFlake
Technology is free, SnowFlakeOS
Stars: ✭ 38 (-26.92%)
Mutual labels:  kernel, osdev
os
x86-64 assembly µkernel
Stars: ✭ 15 (-71.15%)
Mutual labels:  kernel, osdev
usb stack
Tiny and portable USB device/host stack for embedded system with USB IP
Stars: ✭ 175 (+236.54%)
Mutual labels:  hid, ehci
KnutOS
An x86_64 hobbyist OS written in C and Assembly
Stars: ✭ 16 (-69.23%)
Mutual labels:  kernel, osdev
duckOS
Yet another hobby x86 UNIX-like operating system written in C and C++. Features a dynamically linked userspace, an in-house c standard library, and more! And yes, it runs DOOM.
Stars: ✭ 250 (+380.77%)
Mutual labels:  kernel, osdev
gsmartcontrol
GSmartControl - Hard disk drive and SSD health inspection tool
Stars: ✭ 183 (+251.92%)
Mutual labels:  ide, ata
homebrew-i386-elf-toolchain
Homebrew formulas for buildling a valid GCC toolchain for the i386-elf target.
Stars: ✭ 62 (+19.23%)
Mutual labels:  kernel, osdev
Osmanthus
A developing operating system
Stars: ✭ 36 (-30.77%)
Mutual labels:  kernel, osdev
Mirage
Reimplementation of the Nintendo Switch firmware
Stars: ✭ 40 (-23.08%)
Mutual labels:  kernel, osdev
poplar
Microkernel and userspace written in Rust exploring modern ideas
Stars: ✭ 217 (+317.31%)
Mutual labels:  kernel, osdev
Macaron
A sweet hobby made operating system written in C++ for x86 CPUs with GUI
Stars: ✭ 34 (-34.62%)
Mutual labels:  kernel, osdev
Polaris
A WIP 64-bit UNIX-like kernel
Stars: ✭ 72 (+38.46%)
Mutual labels:  kernel, osdev
kernel
Main kernel tree
Stars: ✭ 28 (-46.15%)
Mutual labels:  kernel, osdev

SanderOSUSB

Thank you for showing interest in SanderOSUSB! SanderOSUSB is a 32bit single tasking monolythic kernel that is supposed to run from USB or cd-rom.

Compiling

For compiling you need the following programs:

  • gcc
  • nasm or fasm
  • xorriso (grub)

sudo apt install gcc nasm xorriso

And then run the file /kernel/build.sh [ARGS] to generate kernel file Where:

  • empty : only generates a kernel.bin file
  • --grub : generates a grub-iso image
  • --pxe : generates a pxe image

Runing the OS

  • install qemu

sudo apt install qemu qemu-utils qemu-kvm

  • go to the repo directory
  • run:

qemu-system-x86_64 -cdrom ./cdrom.iso

Suported Devices

Currently the following devices are supported:

  • unknown
  • not supported
  • works
  • 🐛 partly working
Devicename VirtualBox Qemu Bochs Real hardware
IDE - ATA
IDE - ATAPI
AHCI - ATA 🐛
AHCI - ATAPI
PS/2 keyboard
PS/2 mouse
PIC
PCI
ACPI
USB - HID - Keyboard
USB - Mass Storage Device
EHCI (USB2.0) - Basic support
XHCI (USB3.0) - Basic support 🐛
RTL8169
E1000
Soundblaster 16

The following devices are on the list to get implemented:

The following filesystems are supported:

Filesystemname Read Write
ISO 9660
MBR
EFI-MBR
EXT2 (very basic)
FAT 12,16,32
SFS
TFTP

the following executable formats are supported:

  • 32-ELF (relocation and executable type)
  • raw binary at 0x2000
  • BASfile (with basic.bin)

the following executable formats are on the list to get implemented:

  • 32-MZPE
  • 32-MZCOFF
  • Marble

the following bootmethods are supported:

  • GRUB2
  • PXE
  • qemu --kernel loader

Directories

  • boot: Grub bin folder
  • kernel: Kernel source code
  • lib: kernel static library to which programs attach to
  • programs: example programs

Instalation on CDROM

  • build system with ./build.sh --grub
  • burn cdrom.iso to a cdrom

Instalation on USB

  • make a usbstick with EXT as filesystem
  • run sudo grub-install --target=i386-pc --root-directory=[mountpoint_filesystem] /dev/sdb
  • copy grub command file sudo cp ../boot/grub/grub.cfg [mountpoint_filesystem]/boot/grub/grub.cfg
  • copy kernel sudo cp ../kernel.bin /media/sander/SOS/kernel.bin
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].