This repository has been archived on 2025-10-27. You can view files and clone it. You cannot open issues or pull requests or push a commit.
2024-11-04 20:36:41 -03:00
2024-10-28 21:10:59 -03:00
2024-11-04 18:09:30 -03:00
2024-11-03 09:35:11 -03:00
2024-10-28 21:10:59 -03:00
2024-10-28 21:10:59 -03:00
2024-11-03 09:35:11 -03:00
2024-11-03 19:34:35 -03:00
2024-10-28 17:01:39 -03:00
2024-11-04 16:37:59 -03:00

Appa-OS

An hobby OS project focused on nothing currently being made for learning purposes.

Learning resources

Building Appa-OS

First of, build your toolchain for x86

Setup your toolchain.cmake file, e.g.:

set(CMAKE_SYSTEM_NAME Generic)
set(CMAKE_SYSTEM_PROCESSOR "i686")

set(CMAKE_STAGING_PREFIX ${CMAKE_SOURCE_DIR}/toolchain/)
set(CMAKE_SYSROOT ${CMAKE_SOURCE_DIR}/toolchain/i686-elf)

set(tools ${CMAKE_SOURCE_DIR}/toolchain/bin)
set(CMAKE_ASM_COMPILER ${tools}/i686-elf-as)
set(CMAKE_C_COMPILER ${tools}/i686-elf-gcc)
set(CMAKE_CXX_COMPILER ${tools}/i686-elf-g++)
set(CMAKE_C_COMPILER_WORKS TRUE)
set(CMAKE_CXX_COMPILER_WORKS TRUE)

set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)

Then use CMake 3.30 or greater to build:

cmake -S $(pwd)/ -B build -G "Unix Makefiles" -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=toolchain.cmake
cmake --build build -j 4 --

Create an ISO with

./scripts/create_iso.sh

And spinup qemu with:

qemu-system-i386 -cdrom appa-os.iso
Description
No description provided
Readme 150 KiB
Languages
C 64.5%
CMake 19.6%
Assembly 8.6%
Python 3.9%
Shell 3.4%