Markus Maiwald
0949ea1187
test(network): added DNS resolution verification and extended test script
...
- Updated init.nim with post-fix DNS resolution test (google.com).
- Added test_network_extended.sh with 120s timeout to allow full DHCP/DNS cycle.
- Validates the fix for the UDP PCB pool exhaustion crash.
2026-01-07 21:28:18 +01:00
Markus Maiwald
49dd5382b9
feat(network): established full bidirectional IP connectivity via LwIP
...
Established stable network link between NexusOS and QEMU/SLIRP gateway.
Resolved critical packet corruption and state machine failures.
Key fixes:
- VIRTIO: Aligned header size to 12 bytes (VIRTIO_NET_F_MRG_RXBUF modern compliance).
- LWIP: Enabled LWIP_TIMERS=1 to drive internal DHCP/DNS state machines.
- KERNEL: Adjusted NetSwitch polling to 10ms to prevent fiber starvation.
- MEMBRANE: Corrected TX packet offset and fixed comment syntax.
- INIT: Verified ICMP Echo Request/Reply (10.0.2.15 <-> 10.0.2.2).
Physically aligned. Logically sovereign.
Fixed by the & kernel Forge.
2026-01-07 20:19:15 +01:00
Markus Maiwald
77b4cb55c7
feat(hal/core): implement heartbeat of iron (real-time SBI timer driver)
...
- Implemented RISC-V SBI timer driver in HAL (entry_riscv.zig).
- Integrated timer into the Harmonic Scheduler (kernel.nim/sched.nim).
- Re-enabled the Silence Doctrine: system now enters low-power WFI state during idle.
- Confirmed precise nanosecond wakeup and LwIP pump loop stability.
- Updated kernel version to v1.1.2.
2026-01-06 20:54:22 +01:00
Markus Maiwald
068fc732a6
feat(core): fix userland network init, implement syscalls, bump v1.1.1
...
- Fix init crash by implementing SYS_WAIT_MULTI and valid hex printing.
- Fix Supervisor Mode hang using busy-wait loop (bypassing missing timer).
- Confirm LwIP Egress transmission and Timer functionality.
- Update kernel version to v1.1.1.
2026-01-06 18:31:32 +01:00
Markus Maiwald
bf427290f1
feat(kernel): implement Sv39 fiber memory isolation and hardened ELF loader
2026-01-05 16:36:25 +01:00
Markus Maiwald
4cec2d8c25
feat(rumpk): Achieve interactive Mksh shell & formalize Sovereign FSH
...
CHECKPOINT 7: Nuke LwIP, Fix Stack
🎯 PRIMARY ACHIEVEMENTS:
- ✅ Interactive Mksh shell successfully boots and accepts input
- ✅ Kernel-side LwIP networking disabled (moved to userland intent)
- ✅ C-ABI handover fully operational (argc, argv, environ)
- ✅ SPEC-130: Sovereign Filesystem Hierarchy formalized
🔧 KERNEL FIXES:
1. **Nuked Kernel LwIP**
- Disabled membrane_init() in kernel.nim
- Prevented automatic DHCP/IP acquisition
- Network stack deferred to userland control
2. **Fixed C-ABI Stack Handover**
- Updated rumpk_enter_userland signature: (entry, argc, argv, sp)
- Kernel prepares userland stack at 0x8FFFFFE0 (top of user RAM)
- Stack layout: [argc][argv[0]][argv[1]=NULL][envp[0]=NULL][string data]
- Preserved kernel-passed arguments through subject_entry.S
3. **Fixed Trap Return Stack Switching**
- Added sscratch swap before sret in entry_riscv.zig
- Properly restores user stack and preserves kernel stack pointer
- Fixes post-syscall instruction page fault
4. **Rebuilt Mksh with Fixed Runtime**
- subject_entry.S no longer zeros a0/a1
- Arguments flow: Kernel -> switch.S -> subject_entry.S -> main()
📐 ARCHITECTURAL SPECS:
- **SPEC-130: Sovereign Filesystem Hierarchy**
- Tri-State (+1) Storage Model: /sysro, /etc, /run, /state
- Declarative Stateless Doctrine (inspired by Clear Linux/Silverblue)
- Ghost Writer Pattern: KDL recipes -> /etc generation
- Bind-Mount Strategy for legacy app grafting
- Database Contract for /state (transactional, encrypted)
🛠️ DEVELOPER EXPERIENCE:
- Fixed filesystem.nim to fallback to .nexus/ for local builds
- Prevents permission errors during development
🧪 VERIFICATION:
Syscalls confirmed working: write (0x200, 0x204), read (0x203)
NEXT: Implement proper TTY/PTY subsystem for full job control
Co-authored-by: <voxis@nexus-os.org>
2026-01-05 01:14:24 +01:00
Markus Maiwald
6e78b7f458
Rumpk Stability, NipBox Boot, and Repository Cleanup
...
- Fixed Rumpk RISC-V Trap Handler (SSCRATCH swap, align(4), SUM bit) to prevent double faults.
- Stabilized Userland Transition (fence.i, MMU activation) allowing NipBox execution.
- Restored Forge pipeline to build NipBox from source.
- Documented critical RISC-V trap mechanics in .agent/tips.
- Committed pending repository cleanup (obsolete websites) and new core modules.
2026-01-04 21:39:06 +01:00