分享

搭建PXE服务及实现安装银河麒麟桌面操作系统

搭建PXE服务及实现安装银河麒麟桌面操作系统


一、安装PXE服务器前的准备


服务器操作系统:银河麒麟高级服务器操作系统V10 SP1

服务器IP地址:em1 172.17.31.163 用于连接外网,可以进行yum安装相关服务

em2 192.168.1.1 用于DHCP服务网段的配置

x86安装引导文件:grubx64.efi(如果是其他架构平台,则需要更改该文件)

x86镜像文件:Kylin-Desktop-V10.1-Release-Build1-20201128-x86_64.iso



二、安装PXE服务


1、配置dhcp服务

(1)检查系统是否有dhcp服务,如果没有就通过yum install安装;
  1. [root@localhost ~]# rpm -qa | grep dhcp

  2. dhcp-4.3.6-37.ky10.x86_64
复制代码
(2)修改dhcp配置文件dhcpd.conf;
  1. [root@localhost ~]# vim /etc/dhcp/dhcpd.conf

  2. #dhcpd.conf

  3. # DHCP Server Configuration file.

  4. #   see /usr/share/doc/dhcp-server/dhcpd.conf.example

  5. #   see dhcpd.conf(5) man page

  6. #ddns-update-style interim;

  7. ddns-update-style none;

  8. ignore client-updates;

  9. option space PXE;

  10. allow booting;

  11. allow bootp;

  12. class "pxeclients"{

  13. match if substring(option vendor-class-identifier,0,9) = "PXEClient";

  14.     next-server 192.168.1.1; #此处为TFTP Server端的IP地址

  15.     filename "uefi/grubx64.efi"; #告诉TFTP目录下的bootstarp文件

  16. }

  17. subnet 192.168.1.0 netmask 255.255.255.0{ ## 定义子网

  18.     range 192.168.1.2 192.168.1.200;#配置DHCP分配地址区间(地址池)

  19.     option broadcast-address 192.168.1.255;#此处为DHCP服务的广播地址

  20.     option routers 192.168.1.1;

  21.     option subnet-mask 255.255.255.0;

  22. }
复制代码

2、配置tftp服务


(1)检查系统是否有tftp服务,如果没有通过yum install安装
  1. [root@localhost ~]# rpm -qa | grep tftp

  2. tftp-server-5.2-27.ky10.x86_64

  3. syslinux-tftpboot-6.04-5.ky10.noarch
复制代码
(2)修改tftp配置文件,将其状态改为启用状态
  1. [root@localhost ~]# vim /etc/xinetd.d/tftp

  2. # default: off

  3. # description: The tftp server serves files using the trivial file transfer \

  4. #       protocol.  The tftp protocol is often used to boot diskless \

  5. #       workstations, download configuration files to network-aware printers, \

  6. #       and to start the installation process for some operating systems.

  7. service tftp

  8. {

  9.         socket_type             = dgram

  10.         protocol                = udp

  11.         wait                    = yes

  12.         user                    = root

  13.         server                  = /usr/sbin/in.tftpd

  14.         server_args             = -s /var/lib/tftpboot -c  #tftp服务根目录

  15.         disable                 = no  #no表明tftp处于启用状态

  16.         per_source              = 11

  17.         cps                     = 100 2

  18.         flags                   = IPv4

  19. }#默认disable状态为yes,需要改为no
复制代码
(3)将x86镜像文件中casper/的initrd.lz和vmliuz拷贝到tftpboot/casper
  1. [root@localhost tftpboot]# cd casper/

  2. [root@localhost casper]# ls

  3. initrd.lz  vmlinuz

  4. [root@localhost casper]#
复制代码
(4)在tftpboot目录下创建uefi文件夹,并创建grub.cfg文件;
  1. [root@localhost tftpboot]# mkdir uefi

  2. [root@localhost tftpboot]# cd uefi/

  3. [root@localhost pxelinux.cfg]# vim grub.cfg # 修改linux内核引导文件

  4. set default="0"

  5. function load_video {

  6.   if [ x\$feature_all_video_module=xy];then

  7.      insmod all_video

  8.   else

  9.   insmod efi_gop

  10.   insmod efi_uga

  11.   insmod ieee1275_fb

  12.   insmod vbe

  13.   insmod vga

  14.   insmod video_bochs

  15.   insmod video_cirrus

  16.   #insmod all_video

  17.   fi

  18. }

  19. load_video

  20. set gfxpayload=keep

  21. insmod gzio

  22. insmod part_gpt

  23. insmod ext2



  24. set timeout=60

  25. ### END /etc/grub.d/00_header ###

  26. #search --no-floppy --set=root -l 'Kylin-Server-10(x86_64)'

  27. ### BEGIN /etc/grub.d/10_linux ###

  28. menuentry '1)Install Kylin Desktop V10.1 1106 X86' --class red --class gnu-linux --class gnu --class os {

  29. linux casper/vmlinuz boot=casper automatic-ubiquity  only-ubiquity locale=zh_CN quiet splash audit=0 netboot=nfs nfsroot=192.168.1.1:/opt/nfs/x86_64-kylin/v10.1 file=/cdrom/preseed/preseed.cfg ip=dhcp security=

  30. initrd casper/initrd.lz

  31. }

  32. #file中的cdrom指的是放置需要安装系统的镜像文件,例如/opt/nfs/x86_64-kylin/v10.1
复制代码
(5)将x86的引导文件efi拷贝到uefi文件夹下
  1. [root@localhost uefi]# ls

  2. grub.cfg   grubx64.efi
复制代码
(6)使用 syslinux 提供的bootstart(系统文件为pxelinux.0)
  1. [root@localhost ~]# yum install syslinux #会在系统中生成pxelinux.0,该文件是legacy方式的引导文件

  2. [root@localhost ~]# cd /usr/share/syslinux/  #pxelinux.0文件存储目录

  3. [root@localhost syslinux]# cp pxelinux.0 /var/lib/tftpboot/ #复制到tftp根目录下

  4. [root@localhost syslinux]# cp ldlinux.c32 /var/lib/tftpboot/ #测试提示必须要有
复制代码
(7)将tftpboot目录下的所有文件、目[/        discuz_code_7        ][/        discuz_code_6        ][/        discuz_code_5        ][/        discuz_code_4        ][/        discuz_code_3        ][/        discuz_code_2        ][/        discuz_code_1        ][/        discuz_code_0        ]

试读已结束,请付费阅读全文。

  本文只能试读34%,付费后可阅读全文。 

版权说明:论坛帖子主题均由合作第三方提供并上传,若内容存在侵权,请进行举报

已有(2)人评论

跳转到指定楼层
ynzh669实名认证 手机认证 发表于 2023-7-9 14:18:52 来自 中国云南昆明
谢谢分享!
ssyifang实名认证 手机认证 发表于 2023-7-13 17:58:44 来自 中国四川
这个有用~~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系在线客服