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.
Files
appa-os/README.md
2024-11-04 16:37:59 -03:00

1.8 KiB

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