user = root
server =/usr/sbin/in.tftpd
server_args = -s /tftpboot/linux -- 根据需要设置tftp服务默认目录
disable = no -- 默认为yes,应修改成no
per_source = 11
cps = 100 2
flags = IPv4
}
2. 设置DHCP服务器
在RedHat Linux安装CD2中找到dhcp文件包:dhcp-3.0pl1-23.i386.rpm,在终端输入: rpm –ihv dhcp-3.0pl1-23.i386.rpm,系统自动安装好dhcp服务器;
cd /etc -- 进入目录/etc
vi dhcpd.conf -- 建立文件dhcpd.conf
在dhcpd.conf文件中写入内容如下:
ddns-update-style interim;
ignore client-updates;
subnet 192.168.0.0 netmask 255.255.255.0 {
option routers 192.168.0.10;
option subnet-mask 255.255.255.0;
option domain-name “LOCalHost”;
option domain-name-server 192.168.0.10;
option time-offset 18000;
range dynamic-bootp 192.168.0.1 192.168.0.15;
default-lease-time 21600;
max-lease-time 43200;
}
其中,192.168.0.10为主机ip地址;192.168.0.1~192.168.0.15为dhcp服务可动态分配的ip有效地址范围;
3. 设置NFS服务器
cd /etc -- 进入目录/etc
vi exports -- 打开exports文件
添加语句:/tftpboot/mips *(rw,sync,no_root_squash),
此语句设置主机上的目录/tftpboot/mips为客户机通过NFS服务可访问的根目录,并且任何客户机的访问都被视为是主机root身份,对/tftpboot/mips目录具有读写功能。这样设置是为了方便以后在开发板上的开发与调试工作。
4. 启动服务
在RedHat Linux9.0程序启动栏里,系统设置—〉服务器设置—〉服务,选上dhcpd、tftp、xinetd、nfs、portmap服务选项,点击开始或者重新开始来启动dhcp、tftp、nfs服务。其中tftp服务要通过启动xinetd才能工作。
四、通过NFS服务在开发板上启动Linux系统
1.设置minicom
minicom是一个RedHat Linux9.0自带的通信终端程序,通过minicom可以设置、监视串口工作状态,接收、显示串口收到的信息,并且在主机和开发板之间传递数据和控制指令,从而实现通过主机上调试开发板的目的。以下的操作都是通过主机键盘在minicom窗口里进行的。
在主机上打开一个终端窗口,启动minicom,设置主机串口:波特率9600、数据位8位、停止位1位、奇偶校验位无、数据流控制无;保存设置后,重新启动minicom。这时minicom处于工作状态;
2. 开发板加电
开发板上有一个512KB ROM,烧有bootloarder – pmon2000,加电后自动完成处理器、缓存、内存控制器、网络控制器等初始化工作;同时pmon2000拥有少量行命令集,用于启动后对内存的读写校验、板载Flash的擦写、ip设置、串口设置以及跟主机之间进行数据通信,包括上传、下传文件,接收主机下达指令等等。
开发板加电后,minicom窗口显示初始化信息;启动完成,显示pmon>;
3.启动Linux
加载内核:pmon>boot 192.168.0.10:vmlinux
pmon2000内部命令boot通过网络,将主机上位于NFS根目录/tftpboot/mips下可执行的vmlinux映像文件,加载到内存,显示入口地址(Entry point);
启动Linux:pmon>g ./root=/dev/nfs nfsroot=/tftpboot/mips ip=dhcp
g为执行载入文件的命令;其后的参数,是传递给内核的有关根目录的信息,通过NFS访问主机的客户机(开发板),其ip由主机dhcp服务动态分配。pmon2000将内核拷贝到内存空间,随后将控制权交给内核,由其完成系统的启动。在启动完成登录行出现时,输入:root,即可进入运行于开发板上的Linux系统。由于操作系统是在内存里运行的,断电后,要重复步骤2、3,重新载入内核后才能再次启动Linux。