linux网络启动(2012-02-07 10:28:10)1. 概述设备开启后通过网络加载操作系统启动。 需网络服务器一台,网络服务器安装syslinux、dhcp、tftp、ftp、nfs等等服务。 syslinux实现网络启动功能 dhcp为设备分配ip地址 tftp通过网络传输启动所需文件,基于udp协议 ftp通过网络传输文件,基于tcp协议 nfs网络文件系统,提供设备启动所需文件系统 2. 服务安装以fedora14为例: 2.1 安装syslinux工具包下载syslinux-4.02-3.fc14.i686.rpm安装之 2.1.1 使用/usr/share/syslinux/pxelinux.0作为生产引导文件2.1.2 配置pxelinux服务 使用default,内容为: default linux prompt 1 timeout 600 display boot.msg menu title Welcome to Fedora 14! label linux 将生产内核和文件系统(vmlinuz initrd.img)复制到/tftpboot/下 将系统服务 防火墙和selinux关闭(修改/etc/selinux/config) 2.2 配置DHCP服务2.2.1 下载dhcp安装包dhcp-4.2.0-21.P2.fc14.i686.rpm 命令rpm -ivh --force dhcp-4.2.0-21.P2.fc14.i686.rpm 安装之 2.2.2 配置DHCP设置网口ip地址:192.168.10.254 cp -f /usr/share/doc/dhcp-4.2.0/dhcpd.conf.sample /etc/dhcp/dhcpd.conf 编辑dhcpd.conf subnet 192.168.10.0 netmask 255.255.255.0 { } 2.2.3 启动DHCPservice dhcpd start 2.3 配置TFTP服务2.3.1 下载tftp-server-0.49-7.fc14.i686.rpm安装2.3.2 下载xinetd-2.3.14-32.fc14.i686.rpm安装修改文件vim server_args =-s 2.3.3 下载tftp-0.49-7.fc14.i686.rpm安装2.4 配置FTP服务2.4.1 安装ftp工具包安装vsftpd工具包,一般fedora自带 2.4.2 配置/etc/vsftpd/vsftpd.conf打开 chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list 这两行即可 2.4.3 添加ftp用户groupadd ftpusers useradd -G ftpusers -d /tftpboot/username/ -M username 添加了1个用户,名称是username,对应到目录是/tftpboot/username/ 用命令passwd username设置用户密码 2.4.4 配置/etc/vsftpd/chroot_list添加用户名进去,锁定浏览目录 2.4.5 开启ftp服务service vsftpd restart 2.5 配置nfs服务2.5.1 安装工具包安装nfs-kernel-server和nfs-common软件包 2.5.2 配置/etc/exports添加语句 /tftpboot/targetfs *(rw,nohide,insecure,no_subtree_check,async,no_root_squash) 将/tftpboot/targetfs设为nfs目录 2.5.3 开启nfs服务启动portmap服务: 3. 环境搭建将网络服务器和设备通过交换机置于同一子网内,设置设备BIOS,选择从网络启动。 4. 启动流程4.1 开启设备4.2 设备网卡通过服务器dhcp服务获取ip地址4.3 服务器传送pxelinux.0文件到设备4.4 设备运行pxelinux.0,通过tftp读取pxelinux.cfg下配置文件default4.5 解析default文件,获取内核文件和内核启动参数4.6 设备通过tftp从服务器下载kernel4.7 如果内核启动参数中有initrd=xxx,设备会下载xxx作为文件系统4.8 设备启动内核4.9 如果已下载文件系统,那么就挂载文件系统,系统启动4.10 使用nfs文件系统,需修改pxelinux.cfg/default文件append noinitrd init=/linuxrc root=/dev/nfs rw console=ttyS0,115200 nfsroot=192.168.10.254:/tftpboot/targetfs ip=192.168.10.100:192.168.10.254:192.168.10.1:255.255.255.0:96.12:eth0:off 内核编译时需要选择: --- Networking support Networking options [*] [*] [*] [*] Device Drivers Block devices <*> File systems Network File Systems <*> [*] [*] [*] [*] [*] 以支持nfs作为根文件系统 5. 总结syslinux作用像是一种网络bootloader 网络启动在系统启动时可以抛开ROM,可实现产品生产、调试、系统安装、功能测试等等功能。 产品生产: 通过网络启动,使用简单版本的linux内核和文件系统,编写脚本,将软件烧写到存储器上。 产品调试: 通过网络启动,推荐选择nfs方式挂在根文件系统,可从串口或者网络输出查看信息,可方便的调试内核和文件系统。 系统安装: 将光盘上所有文件复制到服务器ftp目录下,参照光盘启动的cfg文件修改pxelinux.cfg/default文件,启动光盘上系统,然后选择通过FTP安装,配置好服务器地址和路径即可。 功能测试: 通过网络启动,启动测试版本的linux系统,检测系统硬件。
|
|
来自: thinthinjoe > 《linux相关》