pxe引导安装麒麟系统
默认系统中并没有支持 cifs 的工具,通过 apt 安装:sudo apt install cifs-utils。
接下来就可以通过 mount 命令来挂载了:sudo mount -t cifs //192.168.0.100/share /mnt -o username=username, password=password。
1、安装软件包:isc-dhcp-server,tftpd-hpa
2、dhcp配置文件位置在/etc/dhcp/目录下,tftpd-hpa配置文件在/etc/default/tftpd-hpa
3、dhcpd.conf配置需要注意range dynamic-bootp 和range要把分配IP的范围划分好:
subnet 192.168.0.0 netmask 255.255.255.0 {
range dynamic-bootp 192.168.0.40 192.168.0.50;
range 192.168.0.20 192.168.0.30;
option routers 192.168.0.254;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
next-server 192.168.0.254; #tftp server
filename "x86_uefi/BOOTX64.EFI"; #bootstarp file in the TFTP directory.
}
4、tftpd-hpa文件:
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/tftp"
TFTP_ADDRESS=":69"
TFTP_OPTIONS="--secure"
疑难解答:(1)在虚拟机实验环境会遇到如下问题
[ 29.947321] dracut: FATAL: Failed to find a root filesystem in /tmp/curl_fetch_url1/install.img.
[ 29.952413] dracut: Refusing to continue
[ 29.962341] dracut-initqueue[1100]: /lib/dracut-lib.sh: line 465: echo: write error: No space left on device
[ 29.974241] dracut-initqueue[1100]: /lib/dracut-lib.sh: line 466: echo: write error: No space left on device
[ 29.983985] dracut-initqueue[1100]: /lib/anaconda-lib.sh: line 142: printf: write error: No space left on device
[ 29.983985] dracut-initqueue[1100]: //lib/dracut/hooks/initqueue/online/80-anaconda-netroot.sh: line 92: echo: write error: No space left on device
这是因为虚拟机环境内存太小,在PXE安装过程中会将下载的临时系统挂载到内存中。(这里是在:https://www.vvave.net/archives/assembly-preparing-for-a-network-install-legacy-centos.html 找到的解决办法)
(2)在安装centos7.9时,系统在安装过程中突然不能下载安装包,经过排查发现是dhcp设置的租约时间太短,导致系统还没安装完IP租约到期被回收了,解决办法也很简单就是把dhcp服务器的租约时间延长。