All Projects → TheUltimateFoxOS → FoxOS

TheUltimateFoxOS / FoxOS

Licence: MIT license
The FoxOS main repository

Programming Languages

Makefile
30231 projects
shell
77523 projects
javascript
184084 projects - #8 most used programming language
Dockerfile
14818 projects
c
50402 projects - #5 most used programming language
NSIS
403 projects

Projects that are alternatives of or similar to FoxOS

biefircate
Running x86-16 or x86-32 code from x86-64 UEFI; _very experimental_ • mirror of https://gitlab.com/tkchia/biefircate • developer notes at https://gitlab.com/tkchia/biefircate/-/blob/main/doc/NOTES.asciidoc
Stars: ✭ 47 (-2.08%)
Mutual labels:  x64, x86-64, os, operating-system, uefi
jsix
A hobby operating system for x86_64, boots with UEFI.
Stars: ✭ 60 (+25%)
Mutual labels:  x64, x86-64, os, uefi
Wingos
a little 64bit operating system written in c++ with smp support
Stars: ✭ 361 (+652.08%)
Mutual labels:  x86-64, os, operating-system
Dennix
Dennix is a unix-like hobbyist operating system written from scratch.
Stars: ✭ 53 (+10.42%)
Mutual labels:  x86-64, os, operating-system
Onyx
UNIX-like operating system written in C and C++
Stars: ✭ 52 (+8.33%)
Mutual labels:  x86-64, os, operating-system
FOMOSv2-CL
FOMOS stands for: Free, Open source, Mobile, Operating, System.
Stars: ✭ 24 (-50%)
Mutual labels:  x86-64, os, operating-system
ByteOS
A simple hobby operating system for the x86-64 architecture, written in C.
Stars: ✭ 47 (-2.08%)
Mutual labels:  x86-64, os, operating-system
Cyjon
A simple, clean code, multi-tasking operating system written in pure assembly language for 64-bit processors from the AMD64 family.
Stars: ✭ 184 (+283.33%)
Mutual labels:  x86-64, os, operating-system
Axel
Operating System
Stars: ✭ 96 (+100%)
Mutual labels:  x86-64, os, operating-system
pranaOS
A unix operating system written from scratch in c that gives support for arm, x86
Stars: ✭ 138 (+187.5%)
Mutual labels:  x86-64, os, operating-system
utero
The Operating System (for x86_64) written in Crystal as much as possible
Stars: ✭ 55 (+14.58%)
Mutual labels:  x86-64, os, operating-system
SnowFlake
Technology is free, SnowFlakeOS
Stars: ✭ 38 (-20.83%)
Mutual labels:  os, operating-system, uefi
KnutOS
An x86_64 hobbyist OS written in C and Assembly
Stars: ✭ 16 (-66.67%)
Mutual labels:  x86-64, os, operating-system
Toaruos
A completely-from-scratch hobby operating system: bootloader, kernel, drivers, C library, and userspace including a composited graphical UI, dynamic linker, syntax-highlighting text editor, network stack, etc.
Stars: ✭ 4,687 (+9664.58%)
Mutual labels:  x86-64, os, operating-system
Tofita
🍬 All-new kernel for @GreenteaOS
Stars: ✭ 112 (+133.33%)
Mutual labels:  os, operating-system, uefi
Beelzebub
The Lord of Flies - A hobby operating system
Stars: ✭ 24 (-50%)
Mutual labels:  x64, x86-64, operating-system
AiliceOS
AiliceOS: Build an x86_64 and UEFI OS using Rust
Stars: ✭ 59 (+22.92%)
Mutual labels:  x86-64, os, uefi
MoonOS
MoonOS (just a kernel atm) is a micro kernel designed for the x86_64 and arm architecure.
Stars: ✭ 82 (+70.83%)
Mutual labels:  x86-64, os, operating-system
ArvernOS
💾 A minimal, experimental and "toy" monolithic kernel to learn about OS development // Work In Progress
Stars: ✭ 313 (+552.08%)
Mutual labels:  x86-64, operating-system
Capstone.NET
.NET Core and .NET Framework binding for the Capstone Disassembly Framework
Stars: ✭ 108 (+125%)
Mutual labels:  x64, x86-64

FoxOS

Hits License: MIT Discord Automatic Release

Our goal is to develop an operation system that focuses on the terminal, performance and reliability. We hope to provide you with a functional, performant and stable OS. And we do that together, everyone can help!

screenshot

Building

Before you build the project, you need to clone the submodules. To do so, run git submodule update --init --recursive.

To build this OS, you need one of these:

  • A 64bit Ubuntu or Debian based OS that you can install the following pachages on: sudo apt install mtools lbzip2 curl bison flex gcc g++ unzip dosfstools automake build-essential nasm qemu-utils gdisk git. We recommend you run toolchain.sh to build binaries that will be compatible with FoxOS.
  • WSL (Windows Subsystem for Linx) with Ubuntu installed and the same tings as above.
  • Our Docker image. You can run it like this: docker run -it --rm -v /dev:/dev --privileged ghcr.io/theultimatefoxos/foxos-toolchain:latest. An easy way to have this setup would be to open a command line or terminal window at a directory on your host machine with FoxOS cloned and run this: docker run -it --rm -v /dev:/dev --privileged -v $PWD:/root/FoxOS ghcr.io/theultimatefoxos/foxos-toolchain:latest to mount it at /root/FoxOS.
  • An Intel Mac. You need to make sure to have these commands: curl, zip/unzip, make, brew, and gcc. First run: brew install mtools, brew install gdisk, and then run toolchain_mac.sh.

Then simply run one of the following:

  • make: build the project.
  • make img: package the .img file.
  • make mac-img: package the .img file on an Intel Mac.
  • make docker-img: package the .img file in Docker.
  • make run: To build and run FoxOS. (Will not work on Mac)

The following alias command can be used to make your life easier: alias mkfox="make run-bios USER_CFLAGS=\"-DDEBUG -DMEMORY_TRACKING -DBOOTINFO -fsanitize=undefined -DUBSAN_SUPRES_TYPE_MISSMATCH\""

Other make commands

  • make usb: build a bootable USB. The USB must be formatted with FAT32!
  • make losetup: build a script to be able to run losetup without root permissions.
  • make clean: clear all the built files.
  • make debug: build and debug using deno.
  • make run-dbg: start a screen for QEMU so you can debug using gdb.
  • make vmdk: build a .vmdk file.
  • make vdi: build a .vdi file.
  • make qcow2: build a .qcow2 file.
  • make vbox-setup setup a virtualbox vm (only works on linux)

Contributing

Feel free to fix a bug, implement a feature or any other change you thing would be good. If you want to contact us, join our Discord, we are there to help with any question you may have. Or you can create an issue.
If you dont know what to implement you can take a look at our todo list.

Running

To run this OS, you can either use a VM or a bootable USB. See the building section for more info on how to build them.
How to start:

  • QEMU: Use make run to build and launch QEMU with the correct configuration.
  • VirtalBox: Use make qcow2 to build a .qcow2 image file and create a VM to which you add this .qcow2. Then you need to enable EFI under "System" in your VM's config. Then run it! If you want to add documentation to booting on different software, feel free to do so.

Our Discord

Here is the link to our Discord.

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