环境,是ubuntu14.04系统
参考文件https://www.maketecheasier.com/configure-pxe-server-ubuntu/
步骤
1 环境准备
2 安装配置dhcp tftp nfs
3 PXE安装和配置
4 添加pxe镜像并且导出到nfs服务器上
5 安装时候碰到的问题总结
1 环境准备
1安装ubuntu系统
2 配置固定ip地址
#interfaces(5) file used by ifup(8) and ifdown(8)
autolo
ifacelo inet loopback
autoeth0
ifaceeth0 inet static
address10.50.200.22
netmask255.255.255.0
gateway10.50.200.254
2 安装配置dhcp tftp nfs
apt-getinstall isc-dhcp-Serverinetutils-inetd tftpd-hpa syslinux nfs-kernel-Server
1配置dhcp
vi /vi /etc/default/isc-dhcp-server
INTERFACES="eth0"
vi/etc/dhcp/dhcpd.conf
subnet10.50.200.0 netmask 255.255.255.0 {
range10.50.200.8 10.50.200.10;
optionsubnet-mask 255.255.255.0;
optionrouters 10.50.200.22; #最好给pxe ip 否则安装很慢
optionbroadcast-address 10.50.200.255;
filename"pxelinux.0";
next-Server10.50.200.22; #tftp server ip
}
启动服务/etc/init.d/isc-dhcp-server start
2配置tftp服务
vi /etc/inetd.conf
添加
tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s
/var/lib/tftpboot
vi /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/var/lib/tftpboot"
TFTP_ADDRESS="[:0.0.0.0:]:69"
TFTP_OPTIONS="--secure"
RUN_DAEMON="yes"
OPTIONS="-l -s /var/lib/tftpboot"
update-inetd --enable BOOT
/etc/init.d/tftpd-hpastart
检查服务是否启动 netstat -lu
3 安装配置PXE
sudomkdir/var/lib/tftpboot
sudomkdir/var/lib/tftpboot/pxelinux.cfg
sudomkdir-p/var/lib/tftpboot/Ubuntu/14.04/amd64/
sudocp/usr/lib/syslinux/vesamenu.c32 /var/lib/tftpboot/
sudocp/usr/lib/syslinux/pxelinux.0 /var/lib/tftpboot/
vi /var/lib/tftpboot/pxelinux.cfg/default
DEFAULTvesamenu.c32
TIMEOUT100
PROMPT0
MENU INCLUDE pxelinux.cfg/pxe.conf
NOESCAPE1
LABELTry Ubuntu 14.04 Desktop
MENULABEL Try Ubuntu 14.04 Desktop
kernel Ubuntu/vmlinuz.efi
appendboot=casper netboot=nfs nfsroot=10.50.200.22:/var/lib/tftpboot/Ubuntu/14.04/amd64initrd=Ubuntu/initrd.lz quiet splash
ENDTEXT
LABELInstall Ubuntu 14.04 Desktop
MENULABEL Install Ubuntu 14.04 Desktop
kernel Ubuntu/vmlinuz.efi
appendboot=casper automatic-ubiquity netboot=nfs nfsroot=10.50.200.22:/var/lib/tftpboot/Ubuntu/14.04/amd64initrd=Ubuntu/initrd.lz quiet splash
ENDTEXT
vi /var/lib/tftpboot/pxelinux.cfg/pxe.conf
MENU TITLE PXE Server
NOESCAPE 1
ALLOWOPTIONS 1
PROMPT 0
MENU WIDTH 80
MENU ROWS 14
MENU TABMSGROW 24
MENU MARGIN 10
MENU COLOR border 30;44#ffffffff #00000000 std
4 添加镜像
因为我们虚拟机默认挂载了ios 所以可以直接从cd下面cp
mount /dev/cdrom /media/
cp-r/media/*/var/lib/tftpboot/Ubuntu/14.04/amd64/
cp-r/media/.disk /var/lib/tftpboot/Ubuntu/14.04/amd64/
cp/media/casper/initrd.lz /media/casper/vmlinuz.efi /var/lib/tftpboot/Ubuntu/
vi /etc/exports
/var/lib/tftpboot/Ubuntu/14.04/amd64*(ro,async,no_root_squash,no_subtree_check)
exportfs -a
/etc/init.d/nfs-kernel-server start
PXE就是全部配置完成 可以用客户机连接安装系统了,
5 中间操作的时候出现的问题,
问题1 不能连接tftp
是因为 tftp 设置错误 next-Server 10.50.200.22; #tftp server ip
问题2 能进入安装安装界面但是一直提示 automstic boot in x second 一直循环,不能安装
是因为 不能加载 vmlinuz.efi
1 确定/var/lib/tftpboot/Ubuntu有这个文件
root@happy-virtual-machine:/var/lib/tftpboot/Ubuntu#ll
total27620
drwxrwxrwx3 root root 4096 Apr 13 16:10 ./
drwxrwxrwx4 root nogroup 4096 Apr 13 15:28 ../
drwxrwxrwx3 root root 4096 Apr 13 15:2814.04/
-r--r--r--1 root root 21699939 Apr 13 16:10initrd.lz
-r--r--r--1 root root 6567896 Apr 13 16:10 vmlinuz.efi
2 确定 /var/lib/tftpboot/pxelinux.cfg/default 中对应没有写错
kernel Ubuntu/vmlinuz.efi
问题3 能进行安装但是安装一直停在
end kernel panic -not syncing: VFS :Unable to monut root fs on unknown-block(2.0)
这个问题时因为/var/lib/tftpboot/pxelinux.cfg/default 中的这个是在同一行,而不是两行 (这个问题困扰了好久,才解决)
appendboot=casper netboot=nfs nfsroot=10.50.200.22:/var/lib/tftpboot/Ubuntu/14.04/amd64initrd=Ubuntu/initrd.lz quiet splash
原文地址:http://527322.blog.51cto.com/517322/1763515