20元造一個運行Linux和Python的名片
“您好,我是喬治,這是我的名片。”

“哦?這個名片上有USB口,有芯片?”
“是的,這個名片上運行著Linux,您把它插入到電腦的USB口,Linux會在6秒內(nèi)啟動,然后就可以通過虛擬的串口登錄,進入shell了,這里邊有我的簡歷和照片,還有幾個Unix經(jīng)典的小游戲:fortune,rogue,2048等,還有一個MicroPython解釋器呢!”
“太酷了!這名片很貴吧?”
“不貴不貴,總成本不到3美元,你可以隨意拿, 我這兒還有很多呢!”

這是我看到George Hilliard的文章《My Business Card Runs Linux》以后杜撰的一個場景。
我這人動手能力比較差,不會折騰硬件,在面包板上連接電路估計就是我的極限,所以大學里就選了軟件開發(fā)。
當我看到George 運行著Linux的名片以后,真是“羨慕嫉妒恨”吶。
這個很酷的名片實際上是個完整的、最小的ARM計算機,上面運行著使用Buildroot自定義出來的Linux固件。所有的這一切都是在8M的閃存中,bootloade占用了256KB, 內(nèi)核1.6MB,文件系統(tǒng)占用了2.4MB,閃存中還有很大的空間。
George Hilliard自己設(shè)計制作完成了他的Linux名片,作為一個嵌入式工程師,他很享受這個制作的過程,其中最大的挑戰(zhàn)是找到最便宜的零件。
最終的結(jié)果是這個名片的總成本相當?shù)停?/p>

看到那個F1C100s了嗎,是從淘寶上買的,我去淘寶上搜了一下,確實有,現(xiàn)在只要6塊錢。
硬件部分
最關(guān)鍵的“架構(gòu)決定”就是處理器,經(jīng)過了大量的研究以后,他選擇了中國珠海全志公司生產(chǎn)的一個SoC:F1C100s,相當便宜,并且包含著RAM和CPU。
其他的組件從LCSC(是個電子元器件的在線商城)購買。
George 認為淘寶上的F1C100s驚人地便宜,于是買了一大袋子:
George使用JLC這個網(wǎng)站來制作PCB(印刷電路板),這是個自助服務(wù)的網(wǎng)站,只需要上傳設(shè)計文件,然后就可以在家里等著了,他用8美元制作了10個PCB。
我搜了一下,JLC是嘉立創(chuàng)的縮寫,這也是一家中國的公司!
軟件部分
從頭開始把Linux移植到全志公司的F1C100s上不是那么容易,幸運的是,中國有個程序媛Icenowy在GitHub上維護了一個支持F1C100s的版本:
https://github.com/Icenowy/linux, 感興趣的同學也可以去看看。
芯片是中國制造的,PCB是中國”印刷“的,軟件也是基于中國的開發(fā)版本開發(fā)的,看來這個名片上的中國元素很足啊!
George在她的基礎(chǔ)上做了修改,加了一些驅(qū)動(引腳控制器和時鐘),Linux的版本也從v4.9改成了v5.2,最終形成了一個名片上的Linux :
https://github.com/thirtythreeforty/linux
最后George還提供了一個電路圖,感興趣的同學可以參考著做一個出來,在中國還有近水樓臺先得月的優(yōu)勢,反正我是搞不定了,看著這些圖就頭大。

參考資料:
https://www.thirtythreeforty.net/posts/2019/12/my-business-card-runs-linux/
https://www.thirtythreeforty.net/posts/2019/12/designing-my-linux-business-card/

【本文為51CTO專欄作者“劉欣”的原創(chuàng)稿件,轉(zhuǎn)載請通過作者微信公眾號coderising獲取授權(quán)】