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