当前位置:Linux教程 - Linux业界 - 移花接木,Xbox摇身变NAS:Xbox改造详解

移花接木,Xbox摇身变NAS:Xbox改造详解

出处:天极网

最近一段时间以来,笔者鼓捣了不少的NAS设备,一直对这类产品有浓厚的兴趣,并且根据不同型号产品的各自特点,给它们加进了许多自己定制的功能。NAS产品,由于其很小的电源功耗,并且还可方便地放入到柜子中,这样夜深人静的时候设备运行时产生的噪音也将不会影响我了,这也就解决了一个困扰我很久的问题,谁也不想晚上工作的时候耳边总是会有嗡嗡的声音响起,因此把NAS设备当作一台小巧低功耗的文件服务器,或者是作为一台BitTorrent客户端设备对笔者来说是很有吸引力的。就市面上现在销售的各种NAS产品来说,Kurobox看起来能很好地胜任这一工作,不过它高昂的价格是用户心中永远的痛,并且就国内的情况来说还缺乏相关应用,因此,它可能不是最佳的选择,至少对笔者来说是如此的。

  一台Mac mini也可满足如上的这些要求,但同样它的价格也太贵了,并且还只能够使用2.5寸的硬盘,又增加了用户的使用成本。看起来Linksys的NSLU2应该是一个不错的选择了,但是,它还是稍微有些欠缺,硬件的配置不是很高,小容量的RAM配置和较低频率的处理器导致处理能力不强的表现也是一个鸡肋。

  基于上面这些原因,我们再把目光投向Microsoft的Xbox,从本质上讲,Xbox就是一台PC,拥有64MB的内存,一块赛扬733MHz的CPU,100Mb的以太网卡,安装有一个10Gb的硬盘和一个DVD驱动器。还有一点就是,由于新一代的型号Xbox 360的上市,老型号的价格应该会很大幅度的下降,夸张地讲,过不了多久,它应该就会变得“一文不值”了(笔者使用的这台可是便宜得很的,725元人民币,约合88美元的样子)。并且,现在有大量针对可运行在Xbox上的Linux环境的开发活动,因此可像其他普通的Linux设备一样,很轻易地在Xbox上安装软件并进行配置。

  因此,这次我们的主要目标就是把Xbox改造成为一台专用的文件服务器(或NAS设备),用一个大容量的硬盘来替换它原来的DVD驱动器,并安装Linux操作系统,设置好Samba和BitTorrent。经过改造后,这样的Xbox将丧失其最原始的游戏机功能,用户不再能用它来玩游戏了,但它会摇身一变,成为一台全功能的NAS设备,并且所花费的成本也是很低的。

  注意:后面的进行的改造行为中,将会包括打开Xbox的外壳,它的电源不像普通的PC一样,是没有密封的,因此要千万小心,在带电状态下要接触它的电源部分或其他的高压元器件。并且,所进行的这些操作会使你的Xbox以后得不到保修服务。在这,笔者只为大家提供一种方法,并不为所造成的各种危险后果负责,并且本文中所提到的方法对造成用户Xbox中任何信息的丢失将概不负责。

 

安装modchip芯片

  首先,笔者从eBay购物网站上购买了一台有点小问题的Xbox,花费了725元人民币(约为88美元的样子),还包括邮寄费在内。购买这台设备时根据买家的描述,它不能引导系统了,不过笔者认为这应该不会是什么问题,因为我可以在它上面安装Linux操作系统。收到Xbox后,通电打开它,Xbox的标志能够在电视机上显示一段时间,但过不了多久跳出一个错误信息的屏幕,错误代码为Code 09,死了,就此打住,不能进行下去了(它前面板上的指示灯总是产闪烁红色和绿色)。

  和一台普通的PC一样,Xbox也是有BIOS系统的,但它的BIOS已进行了写保护。因此,要安装Linux系统的话,我们就得使用一种特殊的BIOS,在这我们一般是使用的Cromwell解决方法。这是一种使用比较广泛的“软方式”,使用它来覆写微软的BIOS,不过这次笔者决定去购买一个modchip芯片安装到Xbox上来代替原来的BIOS芯片。

  从网上我邮购了一块Duox-s modchip芯片(如图1所示),花了大约145元人民币(约合18美元的样子),选择这款产品主要的是因为比较便宜,并且它还有两块BIOS芯片可供使用。因此当其中的一块芯片出现了问题时,我们可使用另外的一块来修复这块有问题的芯片,系统的可靠性得到了加强,以免在万一出现问题的时候引起一些不必要的麻烦。


图1: DuoX 2 Xbox Modchip芯片

  这块BIOS小卡可适用于各种版本的Xbox(1.0、1.1、1.2、1.3、1.4和1.6,我的是1.1的版本)。要注意的是在其中的一块芯片中已经预先写入了Cromwell BIOS的内容,标称是“Cromwell的DuoX-2版本”。

  拿到modchip芯片后,首先做的一件事情打开Xbox的顶盖。怎样来打开Xbox的外壳,在这笔者就不再累述了,网络上有许多这方面的资料,大家可加以参考。

  打开它的顶盖后,把它的主板取下来,再按网上的相关资料把这块芯片安装到主板上(注意要确认你所使用的设备的版本号,按相应的版本号进行操作)。不过笔者发现如果把DuoX 2芯片的D0点连接到主板背面的那个焊点上还容易一些,当然,焊接在正面可能更好看一些。把modchip芯片正确安装好后,它就应该和图2中的情形差不了多少的。


图2:安装好的DuoX 2芯片

  注意,仔细看一下你是否把DuoX 2 modchip芯片上的那个小开关的位置拔到了“bank 0”的那一头,这样的话Xbox就能够从Cromwell BIOS引导了。到这一步,如果你现在就给Xbox加电的话,应该马上就能看到如图3所示的屏幕内容:


图3:Cromwell的引导屏幕内容

  假如出现的情况与上面所述的不同,Xbox根本就不是从Cromwell BIOS开始引导,而是像往常一样地启动,或者它的LED指示灯不闪烁,那很有可能是你没有把DuoX 2 modchip芯片的各个引脚焊接牢固的缘故。笔者也是花了大概四到五次的尝试,最后终于才使它正常工作起来,因此如果这块芯片不能马上开始起作用,那你千万不要气馁,多尝试几次,检查一下线缆的焊接连接情况,一定会成功的。

  在完成这个任务之后,下面还有几个需要考虑到的事情,如果符合你的实际情况,你可选择一并也把它们都做完。

  1、如果发现CPU和它的散热风扇之间的导热硅胶变硬而影响CPU热量的散发,则要把CPU风扇取下来,把原来的弄干净,使用新的导热硅胶。

  2、假如你是想要把Xbox安装到墙壁上的话,那现在正是可以把它外壳的底部打几个洞的时候了,不要到什么都组装好,到安装的时候才突然发现没有固定孔把它安装在墙壁上。

 

添加USB端口

  在Xbox的前面板上有四个游戏手柄的接口,实际上,这四个接口都是使用的标准USB 1.1连接方式(因为它们跟其他的USB硬件一样使用了相同的电压电平和传输协议),只是使用了专用的连接接口而已。由于在以后的操作中我们要用到USB接口,所以在这就有两种选择:一是自己动手制作或购买一根适配器电缆,把现有的专用接口转换成标准的USB接口。或者是把现存的游戏手柄接口取下来,再安装上标准的USB接口。我选择的后一种方式,自己动手,更具挑战性,并且安装标准USB接口在Xbox上面,比起通过线缆转换,看起来也更整洁一些。

  正好,笔者手头有一条旧的USB连接线,那是原来一块PCI卡式的USB接口上的,如果各位手中没有这样的线缆的话,你也可以从eBay等购物网站上购买,或者到电脑城去问一下,一般这样的USB接口扩充线是很容易找到的,许多的主板都提供有这样一根电缆来扩充USB接口。同样网络上有许多这方面的资料告诉大家怎样来连接,笔者在这就不再详述了。

  基本上,你只要把连接到主板那一端的插头的线缆分开,按每一根线对应的颜色把它们焊接到USB接口上对应颜色的那一端就行了,黄色那根线不用管,因为它根本就没有用到。图4显示的是我连接完成后的USB线缆,看上去应该是那个样子。


图4:自己制作的USB电缆

  笔者发现,如果把几个Xbox的游戏手柄接口取下来后,则自己制作的USB接口基本上差不多可塞进原来游戏手柄接口所占的位置,我们只要把USB接口削掉一点(或者把Xbox面板上的小孔搞大一些)就可轻易地把它们塞到里面了,看上去还蛮稳当的,适当地用点玻璃胶固定一下会更好。下图5就是笔者安装好USB接口后,前面面板的图片,这个样子,看上去也不是太粗糙吧。


图5:USB端口安装在Xbox的面板上

  下图6就是USB连接线插在Xbox主板上的情形。


图6:USB接口连接的机壳内部

 

更新BIOS

 

  Cromwell BIOS的最新版本是2.40,但我的DuoX 2 modchip芯片上写入的是2.32。因此在完成硬件连接后我想要做的每一件事就是把Cromwell BIOS更新到最新的版本,这个操作我们可通过HTTP来完成。首先,把Xbox插到网络中的交换机上,接着再把它连接到我的电视机上。

  然后,再从SourceForge上把Cromwell BIOS的最新版本下载下来。下载过来的文件包括有两个不同的版本――256KB和1024KB。不过,很不凑巧的是,我所使用的DuoX 2 modchip芯片是512KB容量的,而Cromwell BIOS又没有512KB的最新版本可下载,因此我就不得不把那个256KB版本的BIOS文件填充一些数据,以达到512KB的容量,这样它就可使用在我的DuoX 2 modchip芯片上了

  要把256KB这成512KB,可使用鼎鼎大名的EVTool工具来完成。把256KB版本的Cromwell BIOS最新文件下载来后,从下载的压缩文件中解压得到cromwell.bin这个BIOS文件,如果看一下它的容量大小应该是256KB的样子。接下来,运行EVTool,确信你已选择了512KB那个单选按钮,然后再单击“size…”按钮,再选择你刚才解压得到的cromwell.bin这个文件,然后再把它保存为cromwell512.bin就行了。


图7: EVTool

  为了把DuoX 2刷新到最新的版本的BIOS,我们需要使Xbox从另一片BIOS芯片中启动(被称之为FlashBios)。关闭Xbox的电源,把modchip上的开关拔到“bank 1”的位置上,再把Xbox的电源打开。如果一切正常的话,Xbox应该能够正常引导,并显示像图8一样的屏幕内容。


图8:FlashBIOS引导屏幕

  现在,让Xbox的电源开着,再把modchip芯片上的那个开关拔回到“bank 0”的位置上,以便选择Cromwell BIOS来更新到最新的内容。到这一步,我们需要选择屏幕上的菜单内容来进行操作。不幸的是,笔者所购买的这台机器附送的游戏手柄根本就不能够在屏幕上移动进行选择,后来了解到仅仅只有原装的微软游戏手柄才可用作在这个菜单中,移动选择其中的内容。但令人高兴的是,当笔者把一个USB接口的键盘插在前面所说的自己安装的那个USB接口中,键盘就能正常工作,首次使用这个自己定制的接口就表现得这么就没出现什么问题,但愿后面的过程也要这样顺利就好。

  整个的刷新过程比较简单,在网络上可看到许多这方面的资料,大家可自己找一下看看。一旦刷新完成后,如果每一件事情都成功结束,就关闭Xbox的电源。现在,依旧还是要把modchip芯片的开关位置保持在“bank 0”上,打开Xbox的电源,用刚才刷新的新Cromwell BIOS引导机器,如果一切正常的话,你应该会看到新的Cromwell BIOS的启动屏幕了,在其上显示有新的固件版本号。

 

更换操作系统硬盘

  Xbox原始配置一般是8GB或者是10GB的硬盘,虽说这样的硬盘也很适合来安装Linux,但我还是决定把它原来配置的硬盘给换掉,用一个2.5寸6GB的笔记本硬盘替换,主要是由于笔记本硬盘比起台式机硬盘来,运行时的噪音要小很多,并且功率也要小得多故电源消耗就小。当然,只要你愿意,使用一个大容量的CF卡(Compact Flash)也是可以的,那样的话电源消耗就更小了,运行时根本就不会发出什么声音来,但在成本上就要增加预算了。

  把Xbox的硬盘更换为2.5寸的笔记本硬盘其实很简单,跟普通PC中的操作差不多,你只要去买一个把笔记本硬盘的接口转换为普通IDE硬盘的转换卡就行了。在图9中,我们可看到是把2.5寸的笔记本硬盘安装在一个金属托架上的,这样做是好让2.5寸硬盘能够安装在原来的普通3.5寸支架上,笔记本硬盘最前头的那块小电路板就是转换卡了,它的作用是把2.5寸硬盘42针的接口转换为普通3.5寸硬盘40针的接口。


图9: 安装在Xbox支架上的2.5寸笔记本硬盘

 

 

安装Linux

 

  经过前面的那些改造步骤,我们的硬件准备工作已经完成得差不多了,接下来的步骤就是把Linux操作系统安装到Xbox中去。Xbox-linux.org是一个相当不错的站点,介绍了大量有关怎样把Linux安装到Xbox上去的内容,笔者建议大家在开始进行下一个步骤之前仔细了浏览阅读一下这个站点中的相关内容,先熟悉一下整个的安装过程。至于具体安装何一种版本的Linux,笔者选择的是Debian,或者准确地说是针对Xbox的特别版本:Xebian。之所以选择了这个版本的Linux安装到Xbox之上,并没有什么其他特殊的原因,主要是因为这个版本看起来似乎现在在因特网上很流行。

  在前面介绍的这个网站上仔细阅读一下有关Xebian的安装过程,熟悉一下安装的具体步骤。笔者的安装也是按照上面介绍的步骤来进行的,只不过是做了几个方面的小改动而已。在开始安装之前,先要准备一台运行Windows操作系统的计算机来刻录一张Xebian的光盘。

  步骤1:准备安装Xebian

  首先,我们需要把Xebian的压缩文档下载下来,然后再把其中的内容解压开来,把其中的安装光盘映像文件(就是最大容量的那个文件)刻录在一张CD-R、CD-RW或DVD-R盘片上。这台Xbox在读取一些不同媒体的光盘时有进会出现一些莫名其妙的问题,但我的三星DVD驱动器在这些CD-R、CD-RW或DVD-R盘片却没有一点问题,能够很轻松地就读出来。

  步骤2:安装过程

  按照Xbox-Linux站点上的步骤进行安装过程,但要注意以下的几个方面:

  ●如果你使用的Xebian版本是1.1.4,那它的密码是“xebian”(注意,引号中的内容)。

  ●在网站是介绍安装过程的第4步时,我们应该选择一个本地的安装,来使用整个驱动器的空间(请不要选择安装在E:或F:上)。

  ●在第6步中让我们确定根分区的大小时,尽可能地选择最大的空间。一旦当我们选择好这些后,整个硬盘中的内容都会被格式化掉,在这个格式化的过程中,尽管在屏幕上并没有任何迹象显示出系统“正忙”,但整个系统看上去几乎像死机了一样,基本上挂起了。耐心一点,等待这个格式化的过程完成就可恢复正常了。

  ●如果我们选择了一个本地安装的话,那可以忽略第9步和第10步。

  ●直到第10步完成后,我们就已完成了整个的安装过程,如果所有的事情都进行得很顺利的话,那已经完全正确地把Linux安装到Xbox上了。把CD或DVD光盘从Xbox的光驱中取出来,重新启动它,在看到Cromwell BIOS信息几秒钟后,Xbox就应该自动地从我们刚才安装的操作系统中引导了。

  ●在出现登录的屏幕后,输入管理员的帐号root和密码xebian。

  步骤3:Xebian的快速安装配置

  按照Xbox-Linux上的安装指示来进行。

  ●使用useradd –u myname命令来创建一个自己的用户。

  ●如果在你的网络上有一台DHCP服务器,例如像一台路由器等担当了DHCP服务器的功能,那我们可按照“把静态IP地址更改为DHCP”这一章节的内容,把Xbox更改为从DHCP服务器上获得动态IP地址。如果在完成这一更改后,然后我们输入“ifconfig”(引号内的内容)命令,将显示出DHCP服务器分配给Xbox的IP地址(笔者机器所获得的IP地址是192.168.1.20),在下面的内容中我们将要用到这个IP地址,以登录进入到Xbox中。

  ●我们可忽略这一章节以后的所有内容(3.3及以后的),因为后面的内容根本就不适合于我们这次的操作了。

  到此,我们再转移到PC上来进行操作,使用PuTTY连接到Xbox的IP地址,这个IP地址就是上面使用ifconfig命令所得到的那个地址,登录进入到Xbox中,输入管理员帐号“root”和密码“xebian”(如果在前面的安装过程中你更改了这个密码的话,请使用自己更改的密码)。如果这个操作能够正常工作,那恭喜,干得不错,你没遇到什么麻烦。而如果不行的话,.那就要返回到前面的步骤中了,再重复整个的过程,仔细地检查每一步的完成情况。

 

安装第二块硬盘

  最好,通过以上一番辛苦工作,我们已经有了一个能够运行Linux操作系统的Xbox了,现在是到时候把它的DVD驱动器卸下来,在这个位置上安装更具实用性的部件了。笔者要在Xbox安装DVD驱动器的位置上安装一个大容量的硬盘,以用来存储我所有的共享数据文件。把DVD驱动器抽出来(有黄色的线缆连接它到Xbox的主板上),并把它放置到一个安全的位置保存起来,以便在以后万一出现什么问题导致Linux的内核不能启动时,我们还可以使用它来引导系统。如果你在拆卸DVD驱动器方面还有什么困难,需要帮助的话,请参阅Xbox-Scene指南。

  注意:在安装后这块大硬盘后,我们将会把它格式化为一个大的Linux分区(ext3格式),因此,如果你安装的第二块硬盘上重要的数据,请注意备份。

  在Xbox中,从它的电源只引出了一根molex接头的电源线来连接硬盘(在Xbox的原始配置中本来就只有一个硬盘),在这我们要安装第二块硬盘,因此就需要去购买或者自己动手制作一根“Y”式样的分叉线,从一根molex连接线分成两根来连接两个硬盘。

  但不妙的是,Xbox所安装的DVD驱动器是5.25英寸格式的,我们将要安装的3.5英寸的硬盘将不是很适合安装在这个DVD框架上,因此要找一些办法来把这个硬盘安装到Xbox中。笔者采用的方法是把原来固定DVD驱动器的黑色塑料材质的框架上钻了几个小孔来,再通过这几个小孔把硬盘固定到塑料框架上,这虽然不是很完美,但看上去还是不错的。从图10中可看到在它的塑料框架上已被钻出了几个小孔,这些小孔可是费了我一番力气的,试了几次才找准硬盘上螺丝孔对应的位置。在这,笔者给大家介绍一种比较简单的办法,即开始时用一张白纸贴在硬盘有螺丝孔的一侧,用钢笔在纸上画出螺丝孔的具体位置,再把纸巾在塑料框架上标明对应的小孔位置,再用手钻或电钻打穿就行了。


图10: 被打上小孔的DVD塑料框架

  现在我们就能够把硬盘安装到这个经过改装的框架上了(如图11所示),拧上螺丝后,确信你的硬盘是被设置在从盘的位置上的,不然等下在Xbox启动时就两个硬盘都找不到了。


图11:3.5英寸硬盘被安装在DVD框架上

  最后,把硬盘连同框架推入到Xbox中,连接上IDE数据线和molex电源线,如果一切都完成得很好的话,我们这时的Xbox内部应该看上去跟图12中显示的差不多。


图12:安装有第二块硬盘的Xbox内部

  本节的内容就基本到此了,下面,我们将对刚安装的第二块硬盘进行一些使用前的准备工作,并安装一些软件,然后,这台Xbox就彻彻底底地转变成了一台全功能的NAS设备了。