前面 George 已经尽可能降低成本了,他认为现在已经足够便宜,即使将名片发给别人也不会心疼。当然,也只有重要的结识对象才会收到这样的名片,毕竟所有元件都要你一个个装配。下面所有的成本都没有考虑装配时间,动手能力强的读者们可以考虑自己做一个。
当然,作者也表明还有很多成本并不能量化,例如运费和试错等等。但 20 块 RMB 已经非常低了,尤其是对于一块能运行 Linux 系统的板子。这其实也体现了企业制作端设备的成本,元器件成本要比我们想象中的低很多。
三、名片的性能怎么样
嗯,它在 6 秒内就启动了一个超级简化的 Linux 系统。因为格式和成本等因素,该名片是没有 I/O、联网模块,以及其它占资源比较大的程序。不过不管怎么样,George 还是将一些有趣的应用拷进了固件镜像文件。
USB
我们能通过 USB 做很多有意思的事,但作者特意令名片保持非常精简的状态,我们可以在电脑上做一些尝试。Linux 可以让我们像设备一样使用一些小工具,作者将该芯片之前的一些开发工作也传到了名片内,所以能有 USB 小工具框架的完整功能。George 决定模拟一个预生成的闪存驱动器,并通过虚拟串行端口提供 shell 服务。
Shell
在登录为 root 用户后,我们可以运行所有模拟串行控制台:
rogue:经典的 Unix 游戏《地牢爬虫》;
2048:控制台版的 2048 游戏;
fortune:各种名人名言,为了给其它应用节约空间,其并不包含完整的数据库;
micropython:一个非常轻量的 Python 解释器。
模拟闪存驱动
在编译的过程中,构建工具可以生成一个很小的 FAT32 镜像,并将其加到 UBI 分区中。正如之前描述的,Linux 小工具子系统会将其作为一个储存设备提供给 PC。如果你希望看看闪存驱动到底发生了什么,那么最简单的就是看看源代码,它里面有作者的一些简历与介绍。
在制作电路板名片的过程中,George 使用了 F1C100s 芯片,并在上面运行主流的 Linux 5.2 版本。此外,他还提供了一些有关 F1C100s 芯片的文档,供读者借鉴。
源代码
George 已经在 GitHub 上开源了 Buildroot tree,读者可以自行查看。Buildroot tree 包含生成 NOR flash 镜像的代码,然后通过处理器的 USB 下载模式进行安装。此外,Buildroot tree 还包含游戏和其他好用的软件包,比如为 Buildroot 添加 fortune 软件。
据报道,一位 Linux 安全工程师 Matthew Garrett 在赛门铁克(Symantec)的诺顿(Norton)核心路由器中发现了 Linux 代码,而Linux 使用了 GPL 授权许可,它要求使用 Linux 源码的项目需要开放源代码,但显然,该路由器并没有这么做。这就是说赛门铁克违反了 Linux 的 GPL 许可。
多年来,嵌入式设备制造商一直在非法使用 Linux。通常,他们使用 Linux 而不发布他们设备的源代码,而 Linux 的 GNU 通用公共许可证第2版(GPLv2)要求使用 Linux 源码的程序需要进行开源。
Google 工程师和 Linux 安全专家 Matthew Garrett 潜入他的新诺顿核心路由器时,他发现这款高端的 Wi-Fi 路由器系统似乎是基于 QCA 软件开发工具包(QSDK)项目的 Linux 发行版。这是基于Linux的OpenWrt Wi-Fi 路由器操作系统构建的 GPLv2 许可的开源平台。 OpenWrt 不是只读固件,而是具有完全可写的文件系统和包管理,这使赛门铁克能够轻松地使用更新的安全功能定制其路由器。