Skip to content

Latest commit

 

History

308 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PachaOS

FD pure microkernel OS written in Zig — Everything is a File Descriptor.

Zig Go Nix License: MIT Platform Status Linux ABI

既存の Linux エコシステムとの互換を目指す FD capability ベースのマイクロカーネルです。

詳しくは 設計思想 を参照してください。


xfce4 fastfetch

Features

  • FD-based Microkernel — 全ての process が、rights を縮小して受け渡せる FD capability で authority を持ちます
  • Linux Personality Runtime — zpoline で Linux syscall を process 内の関数呼び出しへ変換する、非特権の動的リンク runtime です
  • Kobox — capsule を用いた、ユーザー空間で動くLinuxカーネルモジュールの変換レイヤー
  • x86_64 — x86_64 対応。AArch64 は今後対応予定
  • Native Libc — musl libcを互換レイヤーを用いず、ネイティブで動かせます

Update

  • Linux Personality Runtimeを実装しました
  • カーネルをFD-based Microkernelへ変更しました
  • 独自ドライバからkoboxに全面移行しました。
  • Native ABIで musl libcに対応しました。

Tech Stack

Language

Layer Language Detail
Kernel Zig / C / Rocq Freestanding / UEFI boot / x86_64
Userland C / CMake musl libc / ELF loader / per-process Linux Personality Runtime
Tools Go / Nix / bash Build Tools

Core Functions

Name Detail
Filed Ext4 / vnode / NVMe
Netd libuinet / net-driver
Scheduler EEVDF / SMP
seed Init
Termd Linux TTY
Drmd DRM / KMS
LPR Zpoline / LinuxShim ...

Linux Applications

Trap delegation からLinux Personality Runtimeに切り替え、高速でシンプルに互換レイヤーが処理できるようになりました。以前動いたバイナリも、段階的に動くようにします。 musl ビルドで確認済み。

apk   Lua   Chibicc   busybox   GNU Coreutils   Python3   Clang   Mesa   Sway   Xfce

Kobox

Module Module
NVMe nvme.ko / nvme-core.ko
USB Storage usbcore.ko / usb-storage.ko / xhci-hcd.ko
USB HID(実験中) usbcore.ko / hid.ko / hid-generic.ko / usbhid.ko / xhci-hcd.ko
Ext4 crc16.ko / mbcache.ko / jbd2.ko / ext4.ko
virtio-net virtio.ko / virtio_ring / virtio_pci.ko / failover.ko / net_failover.ko / virtio_net.ko
linux tty linux_tty_core.ko
virtio-input linux_virtio_input.ko ...

Kobox は capsule を使う Linux互換レイヤー です。


Build

nix develop
./pacgo sync rootfs

詳細は ビルドガイド を参照してください(動作確認済みバージョン・依存関係など)。


License

PachaOS source code is licensed under the MIT License.
Third-party runtime components are documented in THIRD_PARTY_NOTICES.md.

About

No description, website, or topics provided.

Resources

Stars

18 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages