You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[](https://youtu.be/RBJJi8jW1_g)
- 🔧 **Serial port safe on all hardware** — UART 16550 loopback detection at init: systems without a serial controller skip serial output entirely instead of hanging. Write timeout (100K iterations) prevents stuck UART from blocking the kernel.
33
-
- 🔧 **APIC timer never stalls** — If PIT-based LAPIC calibration returns 0 ticks (PIT absent/broken), a conservative fallback (1000 ticks/ms) is used. `start_timer()` also self-heals: if called with uncalibrated tpm, it applies the fallback and starts anyway. Preemptive scheduling is now guaranteed.
34
-
- 🖥️ **4K OOM protection** — Backbuffer allocation capped at 16 MB (~2560×1600). On 4K+ displays the OS falls back to direct framebuffer rendering instead of OOM-panicking the kernel heap.
35
-
- 🖥️ **BPP validation** — Framebuffer bpp is now stored and checked; non-32bpp framebuffers log a warning (Limine always provides 32bpp, but firmware edge cases are handled).
36
-
- 📊 **257,000+ lines** across 473 source files, 3 architectures.
37
+
- 🔧 **Desktop freeze fixed** — Root cause: `serial::read_byte()` didn't check `SERIAL_PRESENT` on hardware with no cable. UART noise caused the keyboard loop to spin forever. Now gated + loop capped at 32 keys/frame.
38
+
- 🔊 **HDA audio on real hardware** — ICH8 codec wake timeout raised to 50ms, Analog Devices AD198x / Conexant CX205xx quirks, EAPD enable, proper amp unmute for L+R channels.
39
+
- 🛡️ **SIMD/FPU safe on real BIOS** — `fninit` + `ldmxcsr 0x1F80` in `enable_sse()` masks all SIMD/FPU exceptions (real BIOS leaves dirty state). New IDT handlers for #NM, #SS, #MF, #XM.
40
+
- 🖥️ **Fallible buffer allocations** — Framebuffer double buffer, background cache, and OpenGL depth buffer now use `try_reserve_exact` instead of panicking on OOM.
> 💡 Or flash to a USB drive and boot on real hardware — TrustOS runs bare-metal on x86_64 PCs (UEFI or Legacy BIOS), ARM64 phones/tablets, and RISC-V boards.
55
-
>
56
-
> **Flash to USB with [Rufus](https://rufus.ie/):**
57
-
> 1. Open Rufus → select your USB drive → click **SELECT** → pick the `.iso`
58
-
> 2. Rufus will ask: **ISO mode** or **DD Image mode** → pick **DD Image mode**
59
-
> 3. Click **START** — the target system field stays greyed out, that's normal in DD mode
60
-
> 4. Boot your PC from USB (F12 / DEL at startup) — works on both UEFI and Legacy BIOS
61
-
>
62
-
> On Linux: `dd if=trustos.iso of=/dev/sdX bs=4M status=progress`
60
+
### 💾 Flash to USB with [Rufus](https://rufus.ie/)
61
+
62
+
TrustOS runs bare-metal on x86_64 PCs (UEFI or Legacy BIOS), ARM64 phones/tablets, and RISC-V boards. Flash the ISO to a USB drive and boot on real hardware:
1. Download & open [**Rufus**](https://rufus.ie/) (no install needed)
68
+
2.**Device** → select your USB drive
69
+
3.**Boot selection** → click **SELECT** → pick `trustos.iso` or `trustos-jarvispack.iso`
70
+
4. Rufus will ask: **ISO mode** or **DD Image mode** → pick **DD Image mode**
71
+
5.**Click START** — the partition scheme / target system fields stay greyed out in DD mode, that's normal
72
+
6. Wait for the write to finish (~30 seconds)
73
+
7. Reboot your PC → press **F12** / **F2** / **DEL** at startup to open the boot menu
74
+
8. Select your USB drive (it may appear as `UEFI: <USB name>`)
75
+
9. TrustOS boots! 🚀
76
+
77
+
> ⚠️ If your PC has **Secure Boot** enabled, you may need to disable it in BIOS settings first (Security → Secure Boot → Disabled). TrustOS does not use signed bootloaders.
78
+
79
+
</details>
80
+
81
+
<details>
82
+
<summary><b>🔹 Legacy BIOS Boot (older PCs, pre-2012 or CSM mode)</b></summary>
83
+
84
+
1. Download & open [**Rufus**](https://rufus.ie/) (no install needed)
85
+
2.**Device** → select your USB drive
86
+
3.**Boot selection** → click **SELECT** → pick `trustos.iso` or `trustos-jarvispack.iso`
87
+
4. Rufus will ask: **ISO mode** or **DD Image mode** → pick **DD Image mode**
88
+
5.**Click START** — the partition scheme / target system fields stay greyed out in DD mode, that's normal
89
+
6. Wait for the write to finish (~30 seconds)
90
+
7. Reboot your PC → press **F12** / **F2** / **DEL** at startup to open the boot menu
91
+
8. Select your USB drive (non-UEFI entry, usually just the drive name without `UEFI:` prefix)
92
+
9. TrustOS boots via Legacy/CSM! 🚀
93
+
94
+
> 💡 On some PCs, you need to enable **CSM** (Compatibility Support Module) or **Legacy Boot** in BIOS settings for the Legacy option to appear.
95
+
96
+
</details>
97
+
98
+
<details>
99
+
<summary><b>🔹 Linux / macOS (dd)</b></summary>
100
+
101
+
```bash
102
+
# Replace /dev/sdX with your USB device (use lsblk to find it)
> **Why DD Image mode?** TrustOS uses a hybrid ISO (Limine bootloader) that embeds both UEFI and Legacy BIOS boot sectors directly in the image. DD mode writes the raw image byte-for-byte, preserving both boot paths. ISO mode would reformat the drive and break the hybrid layout.
63
109
64
110
All releases: [**github.com/nathan237/TrustOS/releases**](https://github.com/nathan237/TrustOS/releases)
65
111
@@ -75,7 +121,7 @@ JARVIS is a **4.4-million-parameter transformer** running in Ring 0 — bare-met
75
121
### ⚡ A compiler that generates native machine code — inside the OS
76
122
TrustLang compiles your programs to **raw x86_64 Intel instructions** and executes them, all from within the kernel. No LLVM. No GCC. No external toolchain. Write code → native binary → execute. The entire compiler is 3,555 lines of Rust.
77
123
78
-
### 🔍 257,000 lines — and you can read every single one
124
+
### 🔍 261,000 lines — and you can read every single one
79
125
No binary blobs. No proprietary drivers. No hidden telemetry. **Every driver, every protocol, every pixel, every encryption algorithm, every line of AI** is open Rust. One developer built it. Anyone can audit it.
80
126
81
127
### 🌐 Self-replicating distributed AI
@@ -109,7 +155,7 @@ trustlang bench → Benchmark native vs VM (shows speedup)
### v0.10.0 — Real Hardware Stability (March 13, 2026)
428
+
429
+
-**T61 desktop freeze fixed** — `serial::read_byte()` now checks `SERIAL_PRESENT`; UART noise no longer spins the keyboard loop. Desktop input loop capped at 32 keys/frame.
430
+
-**HDA audio on ICH8** — Codec wake timeout 50ms with retry, AD198x/CX205xx quirks, EAPD, proper L+R amp unmute.
431
+
-**SIMD/FPU safety** — `fninit` + `ldmxcsr` in `enable_sse()` masks all SIMD/FPU exceptions from dirty BIOS state. New IDT handlers for #NM(7), #SS(12), #MF(16), #XM(19).
432
+
-**Fallible buffer allocs** — Double buffer, background cache, GL depth buffer use `try_reserve_exact` (no OOM panic).
433
+
-**Diagnostic framework** — Step-by-step visual diagnostics written directly to raw framebuffer for hardware debugging.
0 commit comments