Files
cleonos/wine/README.md
2026-04-13 19:08:35 +08:00

1.5 KiB
Raw Blame History

CLeonOS-Wine (Native)

CLeonOS-Wine 现在改为自研运行器:基于 Python + Unicorn直接运行 CLeonOS x86_64 用户 ELF。

不再依赖 Qiling。

文件结构

  • wine/cleonos_wine.py:兼容入口脚本
  • wine/cleonos_wine_lib/cli.py:命令行参数与启动流程
  • wine/cleonos_wine_lib/runner.pyELF 装载、执行、syscall 分发
  • wine/cleonos_wine_lib/state.py:内核态统计与共享状态
  • wine/cleonos_wine_lib/input_pump.py:主机键盘输入线程
  • wine/cleonos_wine_lib/constants.py:常量与 syscall ID
  • wine/cleonos_wine_lib/platform.pyUnicorn 导入与平台适配
  • wine/requirements.txtPython 依赖Unicorn

安装

pip install -r wine/requirements.txt

运行

python wine/cleonos_wine.py /hello.elf --rootfs build/x86_64/ramdisk_root
python wine/cleonos_wine.py /shell/shell.elf --rootfs build/x86_64/ramdisk_root

也支持直接传宿主路径:

python wine/cleonos_wine.py build/x86_64/ramdisk_root/shell/shell.elf --rootfs build/x86_64/ramdisk_root

支持

  • ELF64 (x86_64) PT_LOAD 段装载
  • CLeonOS int 0x80 syscall 0..45
  • TTY 输出与键盘输入队列
  • rootfs 文件/目录访问(FS_*
  • /temp 写入限制(FS_MKDIR/WRITE/APPEND/REMOVE
  • EXEC_PATH 递归执行 ELF带深度限制
  • 进程生命周期 syscallGETPID/SPAWN_PATH/WAITPID/EXIT/SLEEP_TICKS/YIELD

参数

  • --no-kbd:关闭输入线程
  • --max-exec-depth N:设置 exec 嵌套深度上限
  • --verbose:打印更多日志`n