An x86 32 biit Operating System for 386, 486, Pentium class (P-60 to 233MHz, Pentium II, P3, P4, etc)
Go to file
2024-04-01 21:20:34 -07:00
.github adds more functionality 2023-10-05 01:27:03 -07:00
.vs More kernel building 2023-07-14 01:32:48 -07:00
.vscode fixing more stuff and adding more stuff 2024-04-01 21:20:34 -07:00
build fixing interrupts etc 2024-02-07 23:55:04 -08:00
src fixing more stuff and adding more stuff 2024-04-01 21:20:34 -07:00
.clang_complete Fixing up CMakeLists.txt 2023-10-24 14:21:14 -07:00
.clang-tidy adding clang config and lldb files and editor config 2023-10-18 14:44:20 -07:00
.clangd Fixing up CMakeLists.txt 2023-10-24 14:21:14 -07:00
.editorconfig adding clang config and lldb files and editor config 2023-10-18 14:44:20 -07:00
.gdbinit Fixing a bunch of broken stuff including the looping bootloader boot.asm 2023-10-10 01:12:56 -07:00
.gitignore Initial commit 2023-07-09 15:33:57 -07:00
.lldbinit adding clang config and lldb files and editor config 2023-10-18 14:44:20 -07:00
ABOUT.md Adding an ABOUT.md file to describe this project in depth. 2023-10-26 22:44:52 -07:00
ask.txt this includes more fixes for the bootloader and implementing more of the vga driver, idt, and keyboard driver in preparation for working on the kernel. 2024-03-15 14:54:01 -07:00
CMakeLists.txt fixing interrupts etc 2024-02-07 23:55:04 -08:00
Config.cmake fixed the CMakeLists.txt so that it includes all the files in source as variables 2023-09-17 12:37:26 -07:00
CONTRIBUTING.md Changes to the new CONTRIBUTING.md 2023-10-18 14:01:51 -07:00
debug.gdb More debugger and generated files for cmake and made a Makefile and fixed compile_commands.json 2023-07-14 14:44:24 -07:00
kernel fixed the CMakeLists.txt so that it includes all the files in source as variables 2023-09-17 12:37:26 -07:00
LICENSE Initial commit 2023-07-09 15:33:57 -07:00
linker.ld fixing more of the mess 2023-10-08 18:32:10 -07:00
make.config Fixing up CMakeLists.txt 2023-10-24 14:21:14 -07:00
Makefile Fixing up CMakeLists.txt 2023-10-24 14:21:14 -07:00
README.md adding a NE2000 compatible network driver and updated README.md 2023-10-16 18:44:34 -07:00
version-check.sh Fixed all but the isr.c and isr.h files. Still some mintor issues to fixe here. 2023-09-21 15:40:56 -07:00
x86-baremetal-toolchain.cmake fixing interrupts etc 2024-02-07 23:55:04 -08:00

ClassicOS

An x86 Operating System for 386, 486, Pentium class (P-75, 100, Pentium II, P3, P4, etc) CPU's

Tooling

These are the versions I use, but please use the latest possible versions.

  • NASM version 2.14
  • QEMU x86_64
  • GNU ld (GNU Binutils for Debian) 2.31.1 or newer
  • dd (coreutils) 8.30
  • as (GNU Binutils for Debian) 2.31.1 or newer
  • ld (GNU Binutils for Debian) 2.31.1 or newer
  • cc (Debian 8.3.0-6) 8.3.0

The C and C++ standards we are using for this are C17 and C++20

For C/C++:

  • clang version 7.0.1-8+deb10u2 (tags/RELEASE_701/final)
  • gcc version 8.3.0 (Debian 8.3.0-6)
  • g++ version 8.3.0 (Debian 8.3.0-6)
  • GNU gdb (Debian 8.2.1-2+b3) 8.2.1
  • lldb version 7.0.1
  • Coreutils 8.30
  • Binutils 2.31.1
  • Bison 3.3.2
  • Diffutils 3.7
  • Findutils 4.6.0.225
  • Gawk 4.2.1
  • Grep 3.3
  • Gzip 1.9
  • M4 1.4.18
  • Make 4.2.1
  • Patch 2.7.6
  • Perl 5.28.1
  • Python 3.7.3
  • Sed 4.7
  • Tar 1.30
  • Texinfo 6.5, Xz 5.2.4

Features

  • Booting from 1.2M, 1.44MB, hard drive or ISO9660
  • FAT12, FAT16, FAT32, NTFS and ext2 support
  • GUI