Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file removed .DS_Store
Binary file not shown.
17 changes: 0 additions & 17 deletions .gitignore

This file was deleted.

3 changes: 3 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"git.ignoreLimitWarning": true
}
9 changes: 9 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,11 @@ QEMU_FLAGS := -M $(QEMU_MACHINE) -cpu $(QEMU_CPU) -m $(QEMU_MEMORY) \
-drive if=none,id=hd0,format=raw,file=$(IMAGE_DIR)/unixos.img \
-device virtio-blk-device,drive=hd0

# Host shared folder (QEMU virtio-9p). Place files in ./hostshare on the host.
HOSTSHARE_DIR ?= $(ROOT_DIR)/hostshare
QEMU_HOSTSHARE_FLAGS := -fsdev local,id=fsdev0,path=$(HOSTSHARE_DIR),security_model=none,readonly=on \
-device virtio-9p-device,fsdev=fsdev0,mount_tag=hostshare

# ============================================================================
# Main Targets
# ============================================================================
Expand Down Expand Up @@ -288,12 +293,14 @@ run: kernel

run-gui: kernel
@echo "[RUN] Starting Vib-OS with GUI display..."
@bash ./scripts/hostshare-sync-videos.sh "$(HOSTSHARE_DIR)" || true
@qemu-system-aarch64 -M virt,gic-version=3 \
-cpu max -m 512M \
-global virtio-mmio.force-legacy=false \
-device ramfb \
-device virtio-keyboard-device \
-device virtio-tablet-device \
$(QEMU_HOSTSHARE_FLAGS) \
-device virtio-net-device,netdev=net0 \
-netdev user,id=net0 \
-audiodev coreaudio,id=snd0 \
Expand All @@ -303,13 +310,15 @@ run-gui: kernel

run-gpu: kernel
@echo "[RUN] Starting Vib-OS with virtio-GPU acceleration..."
@bash ./scripts/hostshare-sync-videos.sh "$(HOSTSHARE_DIR)" || true
@qemu-system-aarch64 -M virt,gic-version=3 \
-cpu max -m 512M \
-global virtio-mmio.force-legacy=false \
-device ramfb \
-device virtio-gpu-pci \
-device virtio-keyboard-device \
-device virtio-tablet-device \
$(QEMU_HOSTSHARE_FLAGS) \
-device virtio-net-device,netdev=net0 \
-netdev user,id=net0 \
-audiodev coreaudio,id=snd0 \
Expand Down
27 changes: 22 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,14 @@ Vib-OS v2.2.0 - Multi-Architecture OS with Full GUI

## Overview

Vib-OS is a from-scratch, Unix-like operating system with **full multi-architecture support** for **ARM64** and **x86_64**. It features a custom kernel, a modern macOS-inspired graphical user interface, a full TCP/IP networking stack, and a Virtual File System (VFS). Built with **25,000+ lines** of C and Assembly, it runs natively on QEMU, real hardware (Raspberry Pi 4/5, x86_64 PCs), and Apple Silicon.
Vib-OS is a from-scratch, Unix-like operating system with **full multi-architecture support** for **ARM64** and **x86_64**. It features a custom kernel, a modern macOS-inspired graphical user interface, a full TCP/IP networking stack, and a Virtual File System (VFS). Built with **25,000+ lines** of C and Assembly, it runs natively on QEMU, real hardware (Raspberry Pi 4/5, x86_64 PCs), and Apple Silicon (via UTM).

## 🎯 Multi-Architecture Support

| Architecture | Boot Method | Status | Hardware |
|--------------|-------------|--------|----------|
| **ARM64** | Direct / UEFI | ✅| Raspberry Pi 4/5, QEMU virt, Apple Silicon (VM) |
| **x86_64** | Direct / UEFI / BIOS | ✅ will be released soon. | Modern PCs, QEMU, VirtualBox, VMware |
| **ARM64** | Direct / UEFI | ✅ **Production Ready** | Raspberry Pi 4/5, QEMU virt, Apple Silicon (VM) |
| **x86_64** | Direct / UEFI / BIOS | ✅ **Production Ready** | Modern PCs, QEMU, VirtualBox, VMware |
| **x86** | Direct / BIOS (MBR) | ✅ **Builds Successfully** | Legacy PCs, QEMU pc |

### What Works Now
Expand Down Expand Up @@ -298,7 +298,8 @@ make qemu

```bash
# Build for x86_64

make -f Makefile.multiarch ARCH=x86_64 clean
make -f Makefile.multiarch ARCH=x86_64 kernel

# Test in QEMU
make -f Makefile.multiarch ARCH=x86_64 qemu
Expand Down Expand Up @@ -344,7 +345,19 @@ sudo dd if=image/unixos.img of=/dev/sdX bs=4M status=progress && sync

### For x86_64 PC

```bash
# Create UEFI bootable image
./scripts/create-uefi-image.sh

# Create BIOS bootable image
./scripts/create-bios-image.sh

# Create bootable ISO
./scripts/create-iso.sh

# Write to USB drive
sudo dd if=vibos-uefi.img of=/dev/sdX bs=4M status=progress && sync
```

## 🧪 Testing

Expand Down Expand Up @@ -378,7 +391,11 @@ make -f Makefile.multiarch ARCH=x86_64 qemu

### Apple Silicon (M1/M2/M3/M4)

Use Qemu.
Use UTM (https://mac.getutm.app/):
1. Create new ARM64 virtual machine
2. Use `image/unixos.img` as boot disk
3. Configure 2GB+ RAM
4. Start VM

## 🚧 Current Status & Known Issues

Expand Down
Loading