对于Linux Mint,我提供了2个netboot选项:NFS和CIFS.我完全使用NFS:用户可以在启动菜单中选择它,不久之后,登陆Linux Mint live CD桌面.但是使用CIFS,网络无法正常初始化.当Linux Mint启动时,网络会挂起120秒.然后,它继续启动到桌面,但网络管理器没有启动(并且没有启动).我怀疑它可能是DHCP服务器没有响应的问题,但是,在DHCP服务器日志中我可以看到DHCP请求和成功响应.
进入Linux Mint桌面后,ifconfig将报告由DHCP分配的IP地址,并对服务器执行ping操作.
我的pxelinux配置是(APPEND之后的所有内容都在一行中,为了便于阅读,我将其拆分):
NFS:
LABEL linuxmint17 MENU LABEL Linux Mint 17 KERNEL linux-mint-17/image/casper/vmlinuz APPEND root=/dev/nfs boot=casper netboot=nfs nfsroot=192.168.26.1:/var/lib/tftpboot/linux-mint-17/image initrd=/linux-mint-17/image/casper/initrd.lz
CIFS:
LABEL linuxmint17smb MENU LABEL Linux Mint 17 (SMB) KERNEL linux-mint-17/image/casper/vmlinuz APPEND root=/dev/cifs boot=casper netboot=cifs nfsroot=//192.168.26.1/tftpshare/linux-mint-17/image ip=dhcp initrd=/linux-mint-17/image/casper/initrd.lz
请注意,我必须将ip = dhcp选项插入CIFS菜单.如果我不这样做,初始化网络时启动过程会挂起120秒,但它不会继续.如果我添加该行,它仍会挂起,但120秒后它会继续启动.
设置:
客户端和服务器虚拟机仅相互连接(内部网络).网络中根本没有其他机器.
服务器具有/ var / lib / tftpboot /下的所有pxe引导文件. Linux Mint ISO(未修改)安装在/ var / lib / tftpboot / linux-mint-17 / image下. vmlinuz和initrd在/ var / lib / tftpboot / linux-mint-17 / image / casper中. / var / lib / tftpboot /是一个NFS导出.有一个名为tftpshare的samba共享映射到/ var / lib / tftpboot /(只读,允许访问所有人).
smb.conf文件
[tftpshare] comment = TFTP Root path = /var/lib/tftpboot browsable = yes guest ok = yes read only = no create mask = 0644
dhcpd.conf中
authoritative; subnet 192.168.26.0 netmask 255.255.255.0 { range 192.168.26.10 192.168.26.40; next-server 192.168.26.1; filename "pxelinux.0"; }
在成功启动到实时桌面环境后,客户端计算机的syslog中存在一个奇怪的2分钟差距:
Jun 14 13:13:18 mint kernel: [ 23.388873] intel_rapl: domain core energy ctr 0:0 not working,skip Jun 14 13:13:18 mint kernel: [ 23.528409] intel_rapl: domain uncore energy ctr 0:0 not working,skip Jun 14 13:13:18 mint kernel: [ 23.528453] intel_rapl: no valid rapl domains found in package 0 Jun 14 13:13:20 mint ntpdate[1198]: Can't find host ntp.ubuntu.com: Name or service not known (-2) Jun 14 13:13:20 mint ntpdate[1198]: no servers can be used,exiting
(没有任何条目的2分钟间隙,大致在120秒启动延迟发生时)
Jun 14 13:15:19 mint dbus[864]: [system] Activating service name='org.freedesktop.ConsoleKit' (using servicehelper) Jun 14 13:15:19 mint dbus[864]: [system] Activating service name='org.freedesktop.PolicyKit1' (using servicehelper) Jun 14 13:15:19 mint acpid: starting up with netlink and the input layer Jun 14 13:15:19 mint acpid: 9 rules loaded Jun 14 13:15:19 mint acpid: waiting for events: event logging is off
这是在使用CIFS时两种情况都会发生的情况:
在服务器上:
... Jun 14 13:12:52 ubuntu-netboot in.tftpd[2722]: RRQ from 192.168.26.13 filename /linux-mint-17/image/casper/initrd.lz Jun 14 13:13:14 ubuntu-netboot dhcpd: DHCPDISCOVER from 08:00:27:1c:c5:43 via eth1 Jun 14 13:13:14 ubuntu-netboot dhcpd: DHCPOFFER on 192.168.26.14 to 08:00:27:1c:c5:43 via eth1 Jun 14 13:13:14 ubuntu-netboot dhcpd: DHCPREQUEST for 192.168.26.14 (192.168.26.1) from 08:00:27:1c:c5:43 via eth1 Jun 14 13:13:14 ubuntu-netboot dhcpd: DHCPACK on 192.168.26.14 to 08:00:27:1c:c5:43 via eth1
根据ifconfig,在成功启动到桌面的情况下分配给客户端的IP确实是…… 14.
这是没有ip = dhcp时发生的事情:
这是在桌面显示之前的ip = dhcp所发生的情况:
我很感激任何想法.如果任何其他日志(哪些?)会有所帮助,我可以提供它们.
完整的内核和追加行以及PXE启动当前Ubuntu / Mint带有CIFS的实时版本所需的附加initrd.gz可以在here找到
基本上问题是Casper错误(AFAIK从未报告/修复过),在CIFS netmount的情况下,忘记导出内核参数,该参数随后会影响网络配置脚本,最终会重新创建延迟和错误文件/ etc / network /接口.
如果我们看到Serva的Ubuntu / Mint“追加”线
append = showmounts toram root=/dev/cifs initrd=NWA_PXE/$HEAD_DIR$/casper/initrd.lz,NWA_PXE/$HEAD_DIR$/casper/INITRD_N11.GZ boot=casper netboot=cifs nfsroot=//$IP_BSRV$/NWA_PXE_SHARE/$HEAD_DIR$NFSOPTS=-ouser=serva,pass=avres,ro ip=dhcp ro
我们发现嵌入式“initrd”变量由2个“连续加载”的initrd文件(initrd.lz和INITRD_N11.GZ)组成.
initrd=NWA_PXE/$HEAD_DIR$/casper/initrd.lz,NWA_PXE/$HEAD_DIR$/casper/INITRD_N11.GZ
第一个(initrd.lz)是Ubuntu / Mint,而第二个(INITRD_N11.GZ)是一个小的8K(最初由Serva开发)自定义initrd,包括修补组件.这种方法避免了重新创建大原始initrd.lz(20 MB)的需要. INITRD_N11.GZ可以从Serva的网站免费下载(请不要在这里发布直接链接)
如果我们继续分析“追加”行,我们看到需要添加CIFS挂载选项(OP忘记此步骤),在这种情况下通过某种误导性变量“NFSOPTS”进行
NFSOPTS=-ouser=serva,ro
在此示例中,SMB共享具有user = serva,密码= avres,并且它将被安装为“只读”,当然必须相应地编辑用户/传递参数.
TFTP路径和CIFS定位器是Serva存储库结构所需的;当PXE服务器不是Serva时,必须相应地编辑这些参数.
如果你们以这种方式PXE启动,那么来自CIFS共享的Ubuntu / Mint Live版本将没有网络相关的延迟,并且Internet / Networking将在启动后立即工作
编辑:
Bug已经报告到Ubuntu Launchpad并确认