Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kkebo/swift_os
An operating system written in Swift.
https://github.com/kkebo/swift_os
aarch64 kernel operating-system os osdev swift
Last synced: 15 days ago
JSON representation
An operating system written in Swift.
- Host: GitHub
- URL: https://github.com/kkebo/swift_os
- Owner: kkebo
- License: mit
- Created: 2024-01-05T21:29:52.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-09-14T09:36:53.000Z (about 2 months ago)
- Last Synced: 2024-09-14T20:21:41.933Z (about 2 months ago)
- Topics: aarch64, kernel, operating-system, os, osdev, swift
- Language: Swift
- Homepage:
- Size: 103 KB
- Stars: 16
- Watchers: 4
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# swift_os
An operating system written in Swift.
## Prerequisites
- Make
- Arch Linux: `sudo pacman -S make`
- Fedora 40: `sudo dnf install make`
- Ubuntu 22.04: `sudo apt install make`
- Debian 12: `sudo apt install make`
- macOS 14: bulit-in (`/usr/bin/make`)
- llvm-objcopy
- Arch Linux: `sudo pacman -S llvm`
- Fedora 40: `sudo dnf install llvm`
- Ubuntu 22.04: `sudo apt install llvm`
- Debian 12: `sudo apt install llvm`
- macOS 14: `brew install llvm` and add `/opt/homebrew/opt/llvm/bin` to your `$PATH`
- QEMU 9.0 or later
- Arch Linux: `sudo pacman -S qemu-system-aarch64`
- Fedora Rawhide: `sudo dnf install qemu-system-aarch64-core`
- Fedora 40: Build from [source](https://www.qemu.org/download/#source)
- Ubuntu 22.04: ~~`sudo apt install qemu-system-arm`~~ Build from [source](https://www.qemu.org/download/#source)
- Debian 12: Build from [source](https://www.qemu.org/download/#source)
- macOS 14: `brew install qemu`
- Swift (main snapshot)
- On Linux, you can easily install the toolchain using [swiftly](https://swift-server.github.io/swiftly/).```shell
curl -L https://swift-server.github.io/swiftly/swiftly-install.sh | bash
swiftly install main-snapshot
```## Building
```shell
make
```## Cleaning build outputs
```shell
make clean
```## Running on QEMU
```shell
make run
```