硬體駭客成功讓上古英特爾4004運行Linux 啟動大約需要五天時間
一位知名駭客完成了不可能的任務。他讓一個精簡版的Linux 在上世紀70 年代初的4 位元英特爾晶片上運作。當然,核心啟動需要將近五天的時間,但無論如何,任務完成了。
德米特里-格林伯格在駭客界頗有名氣。他為今年超酷的DefCon 32 與會者徽章設計了固件,徽章上有一個Game Boy Advance 模擬器。他還設法讓Doom 在由Raspberry Pi 的新型RP 2350 驅動的徽章上運行。由於格林伯格與徽章的硬體設計者Entropic Engineering 有關聯,DefCon 組織者與Entropic Engineering 有過節,因此DefCon禁止格林伯格參加,並在他發言時將他趕出會場。
這位駭客高手的最新專案是自我挑戰,讓Linux 在1971 年的英特爾4004 晶片上運行。這是英特爾的第一款商用晶片,比Linux 早了二十年。如果不打破常規思維,這確實是一項不可能的任務。
英特爾4004 是一個740 kHz 的4 位元處理器,只有2600 個電晶體和16 個暫存器。英特爾公司專門為日本製造的Busicom 141-PF 計算器設計了4004 處理器,因此它的運算功能主要是加法和減法。它沒有邏輯功能。它的RAM 也只有4KB 左右。因此,從字面上看,在4004 上是無法運行Linux 的。這就是格林伯格的發散思維和軟硬體駭客技術發揮作用的地方。
首先,他在4004 上創建了一個非常基本的MIPS R3000 模擬器。前TechSpot 研究員尼克-埃文森(Nick Evenson)在他的PC Gamer 文章中指出,MIPS R3000 處理器誕生於1988 年,正好是萊納斯-托瓦爾茲(Linus Torvalds)編寫Linux 原始版本的時候。
埃文森說:”這種特殊的晶片與最初版本的Linux 是同一時代的產品,因此它自然是仿真任務的不二之選,儘管實現起來絕非易事。”
確實”遠非易事”,因為我們現在討論的是在4 位元晶片上模擬32 位元處理器。不過,這並沒有阻止格林伯格。
格林伯格利用幾個老式元件以及更多的硬體模擬和軟體魔法,製作了一塊帶有簡易顯示器的客製化電路板,以顯示裸機Debian 發行版可以啟動到命令提示字元。不過,它不會打破任何速度紀錄。
Ars Technica 指出:”格林伯格設計的客製化電路板沒有通孔(從電路板一側到另一側的路徑),只有直角跡線,具有復古美感。它可以作為藝術品安裝在牆上,在數天或數週內緩慢執行Linux指令。
即使超頻到高達790 kHz,機器也需要9 天才能啟動。經過進一步調整,格林伯格將開機時間縮短到了4.76 天。他大大加快了開機過程的視訊速度,將時間壓縮到更容易觀看的程度(上圖)。