由于我自己还没有使用过这种设备,我只能给您以下提示(由 Christian Leutloff <leutloff@sundancer.tng.oche.de>
提供)
netboot
软件包,它为 Linux 提供启动 ROM,并提供更多信息。netboot
可以从本地 Linux 镜像站点或 Debian 软件包(netboot-0.4
)中获取。如果您已导出根文件系统,并使用默认命名的正确名称,并且您的 NFS 服务器同时也是 RARP 服务器(这意味着这些设备在同一子网中),那么您可以直接通过 cat
命令将内核写入磁盘来启动内核。(您必须在内核中将根设备设置为 0:255。)这假设服务器上的根目录是 /tftpboot/
IP 地址(此值可以在编译内核时更改。)
在启动时为内核提供所有需要的参数,并添加 nfsroot=<server-ip-addr>:</path/to/mount>
,其中 server-ip-addr 是您的 NFS 服务器的 IP 地址,而 /path/to/mount 是根目录的路径。
提示
lock
”功能:只需输入一次所有正确的参数并添加“lock
”。下次启动时让 LILO 超时。lilo.conf
中的 append=
功能。
ip
和 nfsroot
内核参数(可以硬编码到内核中,在某些引导加载程序提示符下交互输入,或通过 append=
参数包含在 lilo.conf
中;请参阅下一小节)提供了客户端设置其以太网接口并联系 NFS 服务器所需的所有信息。这些参数在 Documentation/nfsroot.txt
中有完整文档,该文档包含在内核源代码中(通常位于 /usr/src/linux
下)。以下是具有静态(预分配)IP 地址的计算机的格式
nfsroot=<NFS-server-IP-number>:/path/on/server/to/nfs_root ip=<client-IP-number>::<gateway-IP-number>:<netmask>:<client-hostname>:eth0:off
DHCP 要简单得多
nfsroot=<NFS-server-IP-number>:/path/on/server/to/nfs_root ip=dhcp
这是一个完整的内核命令行示例,例如您可以将其包含在 lilo.conf
或等效文件中;只有 IP 地址和 NFS 路径是虚构的
root=/dev/nfs rw nfsroot=12.345.67.89:/path/on/server/to/nfs_root ip=dhcp console=ttyS1
这使用 DHCP 为计算机分配 IP 地址,并将启动消息(控制台)放在第二个串行端口上。以下是使用静态 IP 地址的相应示例;它还显式指定了 Busybox 的(非标准)init 位置
root=/dev/nfs rw nfsroot=12.345.67.89:/path/on/server/to/nfs_root ip=12.345.67.88::12.345.67.1:255.255.255.0:embed-o-matic:eth0:off console=ttyS1 init=/bin/init