Kpython – A MicroPython Sidecar for the Linux Kernel (Experimental)
15 hours ago
- #Experimental
- #MicroPython
- #Linux Kernel
- kpython是MicroPython的一个移植版本,设计为可加载的Linux内核模块(kpython.ko)
- 它允许在内核地址空间直接执行Python代码,用于调试、原型设计或策略处理
- ⚠️ 危险警告:该项目处于实验性/预发布阶段,极其危险,禁止用于生产环境
- ⚠️ 风险提示:运行在Ring 0层级,程序错误可能导致内核崩溃或内存损坏
- 基于WSL2定制内核开发测试(需启用CONFIG_MODULES配置)
- 项目结构包含micropython/、embed_cfg/、kernel_mod/和顶层Makefile
- 环境要求:Linux内核头文件、build-essential工具链、Python 3
- 编译步骤:初始化子模块后执行make(支持KDIR参数指定交叉编译路径)
- 模块安装:sudo insmod kernel_mod/kpython.ko 并通过dmesg验证加载状态
- 调试接口:/sys/kernel/debug/kpython/exec 提供Python脚本执行功能
- 示例命令:支持print语句、数学运算、函数定义等基础操作
- 模块卸载:sudo rmmod kpython
- 嵌入式端口:采用MicroPython的ports/embed生成自包含C源码
- 适配层包含:libc封装、内存分配映射(vmalloc/vfree)、内核打印(printk)
- 安全机制:栈保护、异常处理、原子上下文处理
- 已知限制:不支持浮点数、无文件I/O、当前仅测试x86_64架构
- 许可协议:内核模块封装层采用GPL,MicroPython核心为MIT协议