一位知名黑客完成了不可能完成的任务。他让一个精简版的Linux在上世纪70年代初的4位英特尔芯片上运行。当然,内核启动需要将近五天的时间,但无论如何,任务完成了。
A#}IbcZ|b %5b2vrg~* 德米特里-格林伯格在黑客界颇有名气。他为今年超酷的DefCon 32与会者徽章设计了固件,徽章上有一个Game Boy Advance模拟器。他还设法让Doom在由Raspberry Pi的新型RP 2350驱动的徽章上运行。由于格林伯格与徽章的硬件设计者Entropic Engineering有关联,DefCon组织者与Entropic Engineering有过节,因此DefCon禁止格林伯格参加,并在他发言时将他赶出会场。
_
._'\ pnWDsC~) 这位黑客高手的最新项目是自我挑战,让Linux在1971年的英特尔4004芯片上运行。这是英特尔的第一款商用芯片,比Linux早了二十年。如果不打破常规思维,这确实是一项不可能完成的任务。
hq|/XBd|| 09r.0Ks 英特尔4004是一个740 kHz的4位处理器,只有2600个晶体管和16个寄存器。英特尔公司专门为日本制造的Busicom 141-PF计算器设计了4004处理器,因此它的运算功能主要是加法和减法。它没有逻辑功能。它的RAM也只有4KB左右。因此,从字面上看,在4004上是无法运行Linux的。这就是格林伯格的发散思维和软硬件黑客技术发挥作用的地方。
K=V)"v5o3 dXZV1e1b 首先,他在4004上创建了一个非常基本的MIPS R3000仿真器。前TechSpot研究员尼克-埃文森(Nick Evenson)在他的PC Gamer文章中指出,MIPS R3000处理器诞生于1988年,正好是莱纳斯-托瓦尔兹(Linus Torvalds)编写Linux原始版本的时候。
%j
yLRT]H b$hQB090 埃文森说:"这种特殊的芯片与最初版本的Linux是同一时代的产品,因此它自然是仿真任务的不二之选,尽管实现起来绝非易事。"
o4xZaF4+ =Z 2sQQVS 确实"远非易事",因为我们现在讨论的是在4位芯片上模拟32位处理器。不过,这并没有阻止格林伯格。
w;XX jT q*>`HTPcU 格林伯格利用几个老式元件以及更多的硬件仿真和软件魔法,制作了一块带有简易显示屏的定制电路板,以显示裸机Debian发行版可以启动到命令提示符。不过,它不会打破任何速度纪录。
I/ c*
? )l^w _; Ars Technica指出:"格林伯格设计的定制电路板没有通孔(从电路板一侧到另一侧的路径),只有直角迹线,具有复古美感。它可以作为艺术品安装在墙上,在数天或数周内缓慢执行Linux命令。"
rxO|k0x^C _|3n h;-m 即使超频到高达790 kHz,机器也需要9天才能启动。经过进一步调整,格林伯格将开机时间缩短到了4.76天。他大大加快了开机过程的视频速度,将时间压缩到更容易观看的程度(上图)。
h-V5&em"_