准备工作 环境介绍
PXE服务器 客户端
IP: 192.168.139.200 无
GATEWAY: 192.168.139.2 无
Image: deepin-desktop-community-1002-amd64.iso
添加软件源 1 2 sudo echo "deb [by-hash=force] https://professional-packages.chinauos.com/desktop-professional eagle main contrib non-free" >> /etc/apt/sources.list sudo apt-get update
配置NFS 1 2 3 4 5 sudo apt-get install nfs-kernel-server -y echo '/var/nfs *(rw,sync,no_subtree_check)' | sudo tee -a /etc/exportssudo mkdir /var/nfs sudo systemctl restart nfs-kernel-server showmount -e localhost
挂载镜像, 并复制所有文件到NFS共享目录. 1 2 3 4 sudo mount deepin-desktop-community-1002-amd64.iso /mnt/ sudo mkdir -p /var/nfs/amd64 sudo cp -r /mnt/* /var/nfs/amd64/ sudo cp -r /mnt/.disk/ /var/nfs/amd64/
ls -lhA /mnt/
总用量 46714
drwxr-xr-x 1 user user 2.0K 9月 9 2020 boot
-rw-r--r-- 1 user user 16M 9月 3 2020 deepin-boot-maker.exe
-rw-r--r-- 1 user user 30M 9月 3 2020 deepin-boot-maker.zip
drwxr-xr-x 1 user user 2.0K 9月 9 2020 .disk
drwxr-xr-x 1 user user 2.0K 9月 9 2020 dists
drwxr-xr-x 1 user user 2.0K 9月 9 2020 EFI
drwxr-xr-x 1 user user 4.0K 9月 9 2020 isolinux
drwxr-xr-x 1 user user 2.0K 9月 9 2020 live
-rw-r--r-- 1 user user 41K 9月 9 2020 md5sum.txt
drwxr-xr-x 1 user user 2.0K 9月 9 2020 oem
drwxr-xr-x 1 user user 2.0K 9月 9 2020 pool
drwxr-xr-x 1 user user 2.0K 9月 9 2020 preseed
设置文件属主、属组和权限 1 2 sudo chown -R root:root /var/nfs/ find /var/nfs/amd64/ -type d -exec sudo chmod 755 {} \;
安装netboot-amd64, 并编写grub文件. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 sudo apt install debian-installer-10-netboot-amd64 sudo mkdir /var/tftp sudo cp -r /lib/debian-installer/images/10/amd64/text/debian-installer /var/tftp/ sudo cat > /var/tftp/debian-installer/amd64/grub/grub.cfg <<-EOF set menu_color_normal=white/blackset menu_color_highlight=black/light-grayinsmod gzio menuentry "Install Deepin V20" { set gfxpayload=keeplinux /debian-installer/amd64/live/vmlinuz console=tty boot=live netboot=nfs nfsroot=192.168.139.200:/var/nfs/amd64/ components union=overlay locales=zh_CN. UTF-8 livecd-installer -- initrd /debian-installer/amd64/live/initrd.lz } EOF
将相关文件复制到关键目录 1 2 3 sudo mkdir /var/tftp/amd64 sudo cp -r /mnt/live /var/tftp/amd64 sudo cp /var/tftp/debian-installer/amd64/grubx64.efi /var/tftp/
配置dnsmasq 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 sudo apt install dnsmasq -y sudo groupadd dnsmasq sudo usermod -g dnsmasq dnsmasq sudo chown dnsmasq:dnsmasq /var/tftp -R sudo cat > /etc/dnsmasq.conf <<-EOF listen-address=192.168.139.200 dhcp-boot=/debian-installer/amd64/bootnetx64.efi interface=ens33 bind -interfacesdhcp-range=192.168.139.50,192.168.139.150,1h dhcp-option=3,192.168.139.2 dhcp-option=6,192.168.139.2 server=114.114.114.114 dhcp-option=28,192.168.139.255 dhcp-option=42,0.0.0.0 enable -tftptftp-root=/var/tftp EOF sudo systemctl restart dnsmasq