每个人都已经知道 TiVo 可以“运行 Linux”。在这一期的“Linux 进展”中,Peter 将介绍一下在 TiVo 上安装的 Linux 系统。研究 TiVo 系统可以展示出一个公司是如何从桌面操作系统转换到嵌入式系统的。
有很多有关 TiVo“黑客”的站点会介绍这样那样的事情(通常总还有其他一些事情)。毕竟,对于拥有运行 Linux 的设备,有一半的乐趣是让它做比我们想做的更多(或者略有不同)。但是我们大部分人都只需要使用 Web 服务器(在我的印象中,在我家里已经有 10 台到 15 台 Web 服务器了,包括嵌入式系统)。
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/linux/)下面我们为计划的 TiVo 黑客攻击给出一些建议。您可能应该假设:您要排除所有的保证,以及它不能像一台录像机那样工作。这并不是您喜欢去修补问题,而是因为,试图在发生任何微小的变化时就对机器进行修改会导致问题恶化,但是这种恶化将被对问题的意识而抵消。
如果您正在试图升级硬盘,有些在线的指南会告诉您,首先从硬件仓库找到 T10 和 T15 Torx 螺丝起子。这从某个方面来说是个好建议:TiVo 的确使用了 T10 和 T15 Torx 螺丝。然而,如果您不是那种早已搜集了很多 Torx 工具的人,那就可能并不希望搞混这个问题。幸亏有了 Kuro 和 Mac Mini,您可以选择其他价格合理的 PowerPC® 的硬件。
对于这个实验,我的选择是 40 小时的 TiVo。这是一台 Series2 机器,这意味着它不如 Series1 灵活和开放。不幸的是,这是目前它们所销售的惟一产品,好在价格不贵。
备份
通常,在计划要做一些可能会修改电子器件的修改时,首先要进行备份。在对 TiVo 进行加电之前,我对整个磁盘进行了备份。这要打开机器(使用 T10 Torx 工具),松开驱动器(还是使用 T10),并拔出驱动器(使用 T15)。现在您得到了一个 40 GB 的硬盘。将这个硬盘放到一个老的 x86 Linux 机器中,您会看到一个不能识别的分区表。因此,在 Tivo 上并不存在分区(例如 /dev/hde1),而是一整块磁盘。这并没有什么问题。
图 1. TiVo 内视图
在我的系统中,我将这块磁盘放到了一个驱动器插槽中,系统将其识别为 /dev/hde。如果您使用一个外部的驱动器插槽,那么系统可能将其识别为 /dev/sdX,其中“X”是一个字母;如果您没有其他 SCSI 或者伪 SCSI 设备,那么这个字母可能就是“a”,也可能是后面的某个字母。确保您清楚自己要使用哪块硬盘!
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/linux/)清单 1. 进行备份
# bzip2 -1c < /dev/hde tivo.img.bz2
注意开始可能会出现一些严重的错误;而且一段时间内可能不会有任何输出结果。这个磁盘中包含了很多 空扇区,一开始整个扇区的内容都为 0,bzip2 负责对磁盘上的内容进行压缩 —— 在到达 4,096 字节之前可能需要 1 分钟,在到达 8,192 字节时还需要几分钟。最后的文件大小大约是 560 MB,对于一个 40 GB 的磁盘映像文件来说这还不错。如果您希望从这个备份进行还原,只需要执行下面的命令:
清单 2. 反向还原
# bzip2 -dc < tivo.img.bz2 /dev/hde
如果您的磁盘上已经有一些数据,这个映像文件可能会远远大于 560 MB。此处假设您具有与 TiVo 磁盘差不多的空闲空间。
[1] [2] [3]