从没有万能BIOS的板子上启动U-boot
我本希望这里会显示一些BIOS输出信息,但也许这个小板子没有BIOS这么奢侈的东西…也许它要从连接到的磁盘读取它所需的一切?
我把老的硬盘挂到我脑的USB/SATA接口上,果然,基于Linux的迹象:我ArchLinux里的RAID驱动软件检测到了raid设备(cat /proc/mdstat显示RAID结构的信息)。显然,MyBook将这两个我打算成功挂载的硬盘以RAID形式组织。在这两个磁盘中每个都有4个分区,显然是RAID1镜像形式——第四及最后一个分区镜像为“文件服务器”的存储区。
我将前三个分区(包括分区表)复制到了我的160GB的硬盘(通过add)。然后使用fdisk修改第四个分区的大小为硬盘的剩余空间。
将160GB硬盘添加后重新开机,minicom输出成功:
Welcome to minicom 2.6.2
OPTIONS: I18n
Compiled on Mar 5 2013, 16:40:55.
Port /dev/ttyUSB0, 12:22:35
Press CTRL-A Z for help on special keys
�NASOx_0800
Mon Aug 5 21:45:27 EEST 2013
U-Boot 1.1.2 (Jan 21 2008 - 08:50:09)
U-Boot code: 48D00000 -> 48D17648 BSS: -> 48D1B2B8
RAM Configuration:
Bank #0: 48000000 32 MB
In: serial
Out: serial
Err: serial
Initialising disks
No FIS received from device 1
Detecting SATA busses:
Bus 0: Found first device OK
Device 0: Model: TOSHIBA MK1652GSX Firm: LV010J Ser#: 29GGF8WNS
Type: Hard Disk
Supports 48-bit addressing
Capacity: 152627.8 MB = 149.0 GB (312581808 x 512)
Device 1: not available
IDE read: device 0 block # 63, count 1 ... 1 blocks read: OK
...运行到启动一个正常的Linux内核
O了!
安装Debian(以及一些关于Windows的思考)已经能访问到西数提供的Linux板子是一个不错的开始。接着我找到了一个篇一个令人惊讶的工程师所写的文章,他向我们描述了他如何hack他的板子使之能够做任何他想做的事情。根据他的指导,我已经成功的运用西数提供的GPL资源build了我自己的kernel和一个基于busybox的mini-distro。我想要的不仅仅是个玩具,并且,正因为我在工作时使用的是Debian,我遵循Mario(上面那篇链接文章的作者,译者注)的加强版本的介绍,并且在15分钟内,就通过debootstrap工具在我的160GB设备上安装好了Debian的主要部分。
<rant>
在可能的情况下,我比较偏爱用命令行做事情--不仅是因为它为我提供了我工作时所使用的OS的一些知识,它也允许我通过串口线或者SSH连接来做事。我也可以把我在普通机器上使用的知识同样地运用到这个小ARM盒子上:编辑 /etc/network/interfaces,/etc/resolv.conf等。
悲剧的是,这是一个几乎被微软毁掉的技能,它使得人们无可救药的依赖于"向导"。那,本身就已经相当不错了,如果不是不可避免的副作用:人们点了一个不知道接下来会发生什么的按钮,最终系统只能通过重装来恢复。我自己的设定--自从我用了UNIX系统--他们是一些在/etc或者$HOME等目录下的简单文件,它们一直都在版本控制之下(例如 我的 main dot files和vim配置),在过去的15年里,它们在许多的机器上都愉快的迁移过。备份他们并且恢复他们,例如在新的品牌机上的安装工作就从一个repo简单的check out文件和文件夹...
这样的做法,从我那些可怜的被窗户锁住(Windows-locked,双关,译者注)的弟兄们看来,是他们梦寐以求的。如果他们已经实现了whatapt-getdoes,并且已经用了它10年以上...
跑题了-这些东西人们可能在读这篇博文的时候已经知道了。
</rant>
我很快安装好了网络接口,并且开始工作了...
# apt-get update && apt-get upgrade
到此,我知道困难的部分已经过去啦-我现在有了一个ARM版的Debian,我可以配置任何我想要的东西了。