Run swift-os in about ten minutes.
No OS-internals knowledge needed. You'll clone the repo, cross-build a small toolchain once, and boot a real swift-os image in QEMU. First login is root / swordfish.
You'll need~2 GB free disk,
qemu-system-aarch64, and the pinned Swift toolchain (see docs/NOTES.md). macOS Apple Silicon is the primary, best-tested path.Install the toolchain
QEMU via Homebrew, plus the pinned Swift toolchain. Exact versions live in docs/NOTES.md (overridable with make SWIFTC=…).
$ brew install qemu llvm lld # Swift toolchain: see docs/NOTES.md (e.g. swift-6.3.2-RELEASE)
Clone the repository
$ git clone https://github.com/asaptf/swift-os $ cd swift-os
Cross-build newlib + busybox (once)
A one-time step that builds the C runtime and the busybox shell the userland links against.
$ make newlib busybox
Build & boot
Build the kernel + signed base image, then launch QEMU on the serial console.
$ make build base-image build/virt.dtb $ make run
Expected output:
[ ok ] swift-os kernel (Embedded Swift, signed) [ ok ] MMU enabled · EL1 · 256 MiB [ ok ] virtio-net up · DHCPv4 10.0.2.15/24 [ ok ] httpd listening on :8080 swift-os login: root Password: •••••••• Welcome to swift-os, root root@swift-os:~$
Say hello
Log in as root / swordfish, then inspect your principal, the network, and the read-only base.
root@swift-os:~$ id session: principal=1 session=1 caps=63 root@swift-os:~$ netinfo ipv4 10.0.2.15/24 gw 10.0.2.2 dns 10.0.2.3 root@swift-os:~$ cat /etc/motd
Zero-setup optionWant to skip the toolchain? Boot swift-os right in your browser at /try.
To quit QEMUPress Ctrl A then X. Anything you wrote to
/tmp is gone on the next boot — that's intended.