mirror of
https://github.com/Leonmmcoset/cleonos.git
synced 2026-04-21 10:40:00 +00:00
1.5 KiB
1.5 KiB
CLeonOS Stage10
Stage Goal
- Upgrade ELF execution from "inspect-only" to "scheduler-driven kernel ELF execution".
- Build
/system/elfrunner.elfand/system/memc.elfas kernel-ELF entry binaries. - Add CLKS kernel ELF executor (
kelf) that loads runtime image and dispatches ELF entry. - Add
kelfdscheduler task to periodically execute loaded kernel ELF apps.
Acceptance Criteria
- Kernel boots and prints
CLEONOS STAGE10 START. - KELF framework logs:
APP READYfor/system/elfrunner.elfand/system/memc.elfEXECUTOR ONLINEAPP_COUNT> 0
- Service framework includes KELF service and logs updated counts.
- Scheduler task count increases (idle + klogd + kworker + kelfd).
- System remains stable in interrupt-enabled idle loop.
Build Targets
make setupmake userappsmake isomake runmake debug
QEMU Command
qemu-system-x86_64 -M q35 -m 1024M -cdrom build/CLeonOS-x86_64.iso -serial stdio
Common Bugs and Debugging
KELF APP LOAD FAILED:- Check
/system/*.elfare built usingcleonos/c/kelf.ldand are valid ELF64.
- Check
- No
APP READYlogs:- Verify ramdisk staging copied system ELF files into
/system.
- Verify ramdisk staging copied system ELF files into
kelfdtask missing:- Confirm
clks_scheduler_add_kernel_task_ex("kelfd", ...)is present inkmain.
- Confirm
- KELF syscall counters return
-1:- Ensure syscall IDs for
KELF_COUNTandKELF_RUNSmatch kernel/user headers.
- Ensure syscall IDs for
- Build errors in Makefile app targets:
- Verify
APP_ELFRUNNER/APP_MEMClink withKELF_LDFLAGSnotUSER_LDFLAGS.
- Verify