5.1. 在 ARM 上引导安装程序

5.1.1. 从 TFTP 引导

从网络引导需要已经具备网络连接和一台 TFTP 网络引导服务器(DHCP、RARP 或 BOOTP)。

支持的网络引导安装方法在 第 4.3 节 “为使用 TFTP 网络引导准备文件”

5.1.2. 从 CD 光盘上引导

对于大多数人来说,最快的途径是使用一套 Debian CD 光盘套件。如果您有此套件,并且如果您的机器支持直接 CD 引导,太棒了!只需要插入您的 CD,重启,然后继续下一章。

注意某些特定的 CD 驱动器需要一些特殊的驱动程序,因此他们可能在安装的早期不能被访问。如果从 CD 引导的标准方法不能用于您的硬件,阅读本章中关于其他种类的内核以及安装方法,它们有可能能解决问题。

即便您不能从 CD-ROM 引导,依然可以安装 CD-ROM 上面的 Debian 系统组件和所有软件包。这只要使用不同的媒介引导,比如软盘。当安装操作系统、基础系统和任意附加的软件包时,只需将安装系统指向 CD-ROM 驱动器即可。

如果您遇到引导方面的问题,请参见 第 5.4 节 “安装过程中的故障修复”

5.1.3. 从固件引导

有越来越多的消费设备可以直接从设备上的闪存启动。安装程序可以被写入闪存,这样当您重启机器的时候就能自动运行。

注意

多数情况下,修改嵌入设备的固件将使质保作废。有时如果稍有差错,您将无法复原您的设备。所以要特别小心并精确地进行下面的步骤。

5.1.3.1. 引导 NSLU2

有三种方式可以将安装程序的固件放入闪存:

5.1.3.1.1. 使用 NSLU2 的 web 界面

进入管理部分然后选择菜单项 Upgrade。接着从您的磁盘上找到前面下载安装程序映像。然后按下 Start Upgrade 按钮,确认,等几分钟再次确认。系统将直接启动进入安装程序。

5.1.3.1.2. 通过网络使用 Linux/Unix

您可以从任一 Linux 或 Unix 机器上使用 upslug2 通过网络来升级机器。Debian 下有该软件包。首先,您必须将 NSLU2 置于升级模式:

  1. 去除所有连接在 USB 口上的磁盘和/或设备。

  2. 关闭 NSLU2 电源

  3. 按住复位按钮 (位于后面电源输入上方的小孔)。

  4. 按下和松开开关键打开 NSLU2。

  5. 等待 10 秒监视就绪/状态 LED。 10 秒钟后它会从琥珀色变成红色。立即松开复位按钮。

  6. NSLU2 就绪/状态 LED 将会红/绿交替闪烁 (在首次出现绿色时会有 1 秒钟的延迟)。NSLU2 现在处于升级模式。

如果您遇到问题,请参考 NSLU2-Linux pages。一旦 NSLU2 处于升级模式,您就可以刷人新的映像:

sudo upslug2 -i di-nslu2.bin

注意,该工具还会显示 NSLU2 的 MAC 地址,它可以用来配置 DHCP 服务器。整个映像写入和检验后,系统将自动重启。确保 USB 磁盘再次连接,否则将无法找到安装程序。

5.1.3.1.3. 通过网络使用 Windows

有一个 工具 用于 Windows 通过网络升级固件。

5.1.3.2. 引导 SS4000-E

由于 SS4000-E 固件限制,当前除了使用串口还无法启动安装程序。为了启动安装程序,您需要一条串口 nullmodem 线; 一台带有串口的计算机[2]; 以及一端为公 DB9 口,另一端为 10-pin .1" IDC 头的扁平电缆[3]

要启动 SS4000-E,请使用您的串行 nullmodem 线和 ribbon 线连接到 SS4000-E 的串口,然后重新启动机器。您需要用一个串行终端程序与此机器通讯; Debian GNU/Linux 上可以使用 cu 程序,软件包和该程序同名。假设您计算机上的串口是 /dev/ttyS0,请使用下列命令行:

cu -lttyS0 -s115200

如果是在 Windows 下,您可以考虑使用 hyperterminal。设置波特率为 115200、8 位字长、无停止位和一个奇偶校验位。

机器引导后,您可以看到下列输出内容:

No network interfaces found

EM-7210 ver.T04 2005-12-12 (For ver.AA)
== Executing boot script in 1.000 seconds - enter ^C to abort

此时,按下 Control-C 中断 boot loader[4]。接着出现 RedBoot 提示符,键入下面命令:

load -v -r -b 0x01800000 -m ymodem ramdisk.gz
load -v -r -b 0x01008000 -m ymodem zImage
exec -c "console=ttyS0,115200 rw root=/dev/ram mem=256M@0xa0000000" -r 0x01800000

在每一个 load 命令后面,系统系统使用 YMODEM 协议传输文件。如果使用的是 cu,确认您已经安装了 lrzsz 软件包,然后键入回车,在 “~<” 字符后面启动外部程序,然后运行 sb initrd.gzsb vmlinuz

另外一种方法,可以通过 HTTP 而不是 YMODEM 加载内核和 ramdisk。这会更快,但要求网络内有一台 HTTP 服务器。做法是,首先将 bootloader 切换到 RAM 模式:

fis load rammode
g

表面上看这在重新启动机器;但实际上是重新启动到 RAM,让它来启动。不进行这一步将导致系统在接下来需要 ip_address 时挂起。

您需要再次按下 Ctrl-C 中断启动。然后:

ip_address -l 192.168.2.249 -h 192.168.2.4
load -v -r -b 0x01800000 -m http /initrd.gz
load -v -r -b 0x01008000 -m http /zImage
exec -c "console=ttyS0,115200 rw root=/dev/ram mem=256M@0xa0000000" -r 0x01800000

其中 192.168.2.249 是安装好系统的 IP 地址, 192.168.2.4 为含有内核和 ramdisk 文件的 HTTP 服务器 IP 地址。

安装程序将正常启动。



[2] USB 串口转换器也可以工作。

[3] 这种电缆过去常用在桌面电脑内置的 9 针串口上。

[4] 注意,您只有一秒钟来选择;如果错过了,重新开机再试一次。