进入黑色覆盆子。Rubus occidentalis。
对于一种不祥的水果来说,这是一个不祥的名字:黑色覆盆子。作为一个新的 树莓派 的拥有者,我意识到我必须在某个时候打开盒子并做一些事情。
因此,幸运的是,Limor Fried 一直在努力工作……实际上,是与树莓派相关的一切。Limor 和 Adafruit 团队设计了外壳、调试电缆、分线板,以及您可能需要用树莓派做一些很棒的事情的一切。
最近,Adafruit 发布了一个基于 Raspbian(一个基于 Debian 的发行版)的 Linux 发行版。它被称为 Occidentalis,它的名字来源于黑色覆盆子,rubus occidentalis。
如您所知,从头开始或作为现有发行版的上游修改来滚动 Linux 发行版并非易事,因此这本身就令人印象深刻。由于多种原因(在很大程度上是因为 Limor 发送给我一封关于它的电子邮件),我决定这将是我在树莓派上启动的第一个操作系统。
我的树莓派故事
如果您想要更多技术方面的内容,您可以跳过这段个人兴趣部分,直接进入下一节。
自从收到树莓派以来,我一直没有启动它,主要是因为我没有 SD 卡。所以,昨晚,我和儿子一起睡觉,而我的妻子则去寻找一张 SanDisk 的 4GB Class 4 microSD 卡(大约 4 美元,带 SD 卡适配器)。在之前下载了 Occidentalis 之后,我检查了 SHA-1 哈希,解压了它,然后使用 dd 将映像写入 SD 卡。值得一提的是,在您开始之前,您应该阅读并遵守 已知良好硬件列表;我选择的第一个 microSD 卡无法工作,因此星期六晚上才去买了一张不同的卡。
一旦树莓派启动,就好像回到了 Linux 的旧时代。我的意思是“一切都没有神奇地发生”,而是我不得不卷起袖子做一些工作。我使用了一个之前从 Adafruit 订购的无线适配器,它毫无问题地出现了(成功!)。我得到了登录提示,不得不去互联网(查找我的用户名),然后设法登录(成功!)。我输入了 startx,并通过 HDMI 连接,在我的电视上获得了一个 GUI(成功!)。我打开了一个浏览器,但是...没有网络。
快进一个小时,我在那里挖掘并记起了我忘记了多少关于 Linux 网络的东西。由于每天使用 Mac,并且被 Fedora 和 Debian/Ubuntu 社区令人难以置信的优秀工作所宠坏,自从我启动一台机器以来,已经有很多年没有出现基本的东西“无法正常工作”的情况了。我 hack 了一个配置文件(Occidentalis 具有 vi,或者类似的东西,在板上),最终设法连接到我的基于 WPA 的 WiFi 路由器。
此时,我在三个不同的 Web 浏览器中查看了 我的课程网页,发现 Occidentalis 在 Bonjour 上做广告(我可以 SSH 进入 raspberrypi.local),并认为凌晨 12:15 对大学教授来说太晚了,所以我上床睡觉了。
选择 Occidentalis 的三个理由
我选择在树莓派上启动 Occidentalis 有三个原因。首先,我有一个来自 Adafruit Industries 的 10 美元的 WiFi 适配器,我假设 Occidentalis 会开箱即用地支持它——我是对的。第二个原因是 Limor 写了一封电子邮件给我说:“我想您会对 v0.2 版本感兴趣。”
第三个原因更大,也更引人注目。Ladyada 一直在努力使基本 Raspian 发行版对黑客更加友好……而且,如果您不做一些很棒的事情,我看不出拥有 Rasperry Pi 的意义。当前版本的 Occidentalis(撰写本文时为 v0.2)具有一系列值得注意的功能
- 该映像已被截断,可容纳在 4GB 卡上,并留有剩余空间。
- 添加了大量的内核模块
- RTC(实时时钟)
- lm-sensors
- DS1307 RTC
- HMC6352 罗盘模块
- BMP085 气压传感器
- ADS1015 模数转换器
- PWM/Servo 内核模块(用于 GPIO 引脚 #18 上的 PWM)
- I2C 和 SPI 内核支持
如果您是终生只在台式机和笔记本电脑的计算世界中度过的人(其中“外围设备”是指“鼠标和键盘”),那么这些东西对您来说没有多大意义。但是,如果您已经认真对待了 Arduino,您会意识到这些功能使您可以轻松地在树莓派上运行一些 C 或 Python 代码,这些代码可以与传感器和电机通信,从而在物理世界中做一些有趣的事情。
Occidentalis 的下一步
在 2013 年春季学期,我将教授这门课程计算机组织。我的目的是使用 Nisan 和 Shocken 的文本 Elements of Computing Systems——我以前使用过它,它非常棒。它向学生介绍了一种简化的硬件描述语言,然后我们构建一个 ALU,然后是一个汇编器、虚拟机、编译器,最后是一个操作系统。
该文本以及相关的(免费、开放)模拟软件非常棒,但它并没有将任何东西扎根于真实/物理世界。我目前的想法是,我希望我的学生都拥有一台 Linux 机器,我们可以用它来探索计算机组织的各个要素……理想情况下,这台机器 1) 是真实的,2) 相对简单。树莓派(以及像 Occidentalis 这样的发行版)是探索计算机组织及其如何与“现实世界”交互的一个很好的起点。
或者也许我只是会构建一些我三岁的孩子认为很酷的东西。让我们看看哪个先发生。
3 条评论