ELKS 是什么
简单说,ELKS 就是一个“16 位、无 MMU、跑在 IA16(8086 系列)上的 Linux 子集”,支持超古老的 8086/8088/80186/80286 CPU,也能跑在 SBC、FPGA、ESP32 模拟器上。
-
• 内核:精简的 Linux 0.x/1.x 分支
-
• 文件系统:MINIX、FAT16(MSDOS)
-
• 网络:基本的 TCP/IP、telnet、netstat 等
-
• 编译器:ia16-elf-gcc、OpenWatcom C、ELKS 原生 C 编译器
你不用额外买硬件,直接用 QEMU、v86 在线模拟都能玩,甚至可以直接 telnet 到老 BBS 上当“真·复古黑客”!
ELKS 能做什么
咱归根结底,玩 ELKS 就是给老硬件赋予新活力。下面这张表,大致聊聊 ELKS 的“基本功”:
|
功能 |
要求/说明 |
|
内存需求 |
256K 运行,512K 更舒适,128K ROM 系统也能跑 |
|
存储 |
软盘(1.44MB)、硬盘(FAT、MINIX)、ROM |
|
用户空间程序 |
vi、basic、nxtetris、doom(当然很简化版) |
|
网络 |
网卡驱动 + TCP/IP + telnet/ftp |
|
图形 |
Nano‐X 简单窗口,VGA/text 模式 |
|
开发链 |
ia16-elf-gcc、as86、ld86、make |
随手敲几个命令:
mount /dev/fd0 /mnt
cd /bin
nxtetris
按下 “n” 就能体验 80 年代的俄罗斯方块,穿越感十足。
ELKS 解决了哪些痛点
-
1. 古董硬件复活:1990 年代的老 PC,内存 512K、软驱一张,依然能跑当年的 “Linux” 系统。
-
2. 教学和研究:想研究操作系统内核,弄个小而精的内核源码,分析比现代内核可读多了。
-
3. 嵌入式探索:无 MMU、资源极度受限场景,ELKS 提供了极简可用的 Linux 体验,能当嵌入式学习平台。
-
4. 编译链自洽:全套工具链跑在宿主机和 ELKS 本机上,不用折腾复杂交叉编译环境。
ELKS 的优缺点
下面用表格给大家直观对比:
|
优点 |
缺点 |
|
极轻量:最低 128K 即可启动 |
功能少:现代常用的系统调用、库都没得用 |
|
支持多种编译器:ia16-elf-gcc、OpenWatcom C |
驱动不全:显卡、网卡仅支持一小部分型号 |
|
可跑在真实硬件和模拟器上 |
网络性能有限,且配置稍繁琐 |
|
社区活跃:文档齐全、issue 响应快 |
界面原始:图形只靠 Nano‐X,体验比不上现代 GUI |
|
超有趣:玩复古、学内核、搞嵌入式一举多得 |
学习曲线:IA16 架构、无 MMU 特性都要额外适应 |
总结
ELKS,既是一台“穿越机”,把 8086 世界和 Linux 串起来;又是一个“小而美”的操作系统实验平台,非常适合怀旧玩家、OS 教学、嵌入式入门。
如果你手头有台老机器,或者想搞搞精简内核项目,不妨试试 ELKS,绝对能带给你前所未有的“时光倒流”体验。说不定,你还能在你的复古 PC 上敲出一段全新的黑客传奇~
项目地址:https/github.com/ghaerr/elks