基於Linux系統的PXE搭建方法
本文分享自天翼雲開發者社群《 基於Linux系統的PXE搭建方法》 ,作者: t***n
連結: https://www.ctyun.cn/developer/article/410621015138373
一、底層環境準備
1、安裝RedHat7.6系統
2、關閉防火牆和Selinux
systemctl stop firewalld
chkconfig firewalld off
vim /etc/sysconfig/selinux
修改 SELINUX=disabled
3、配置本地yum源
vim /etc/yum.repos.d/rhel7.repo
[rhel7]
name=RHEL7
baseurl=file:///mnt
enabled=1
gpgcheck=0
4、安裝需要的服務及軟體包
yum install vsftpd tftp-server dhcp syslinux system-config-kickstart
dhcp:提供dhcp服務
vsftpd:管理本地掛在的OS完整映象
tftp-server:使可啟動映象透過使用tftp協議網路下載
syslinux:包含網路啟動所需的boot loader
system-config-kickstart:配置kickstart的圖形介面的工具
5、本地物理機網路配置
vim /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=static
NAME=eth0
DEVICE=eth0
>
IPADDR=192.168.64.25
NETMASK=255.255.255.0
GATEWAY=192.168.64.2
二、配置 DHCP服務
vim /etc/dhcp/dhcpd.conf
新增如下:
option arch code 93 = unsigned integer 16;
allow booting;
allow bootp;
subnet 192.168.64.0 netmask 255.255.255.0 {
option routers 192.168.64.2;
range 192.168.64.100 192.168.64.200; #分配出去的IP範圍
class "pxeclients" {
match if substring (option vendor-class-identifier,0,9) = "PXEClient";
next-server 192.168.64.25; #tftp地址,即本機PXE server IP
if option arch = 00:07 {
filename "pxelinux/BOOTX64.EFI"; #6系統UEFI模式下PXE啟動時的引導檔案,7系列系統還可以使用shim&grubx64.efi
}
else {
filename "pxelinux/pxelinux.0"; #Legacy模式
}
}
}
注意:啟動 DHCP前要配好本機網路地址資訊,否則無法啟動dhcpd
啟動服務:
#service dhcpd start [ok]
#service dhcpd restart [ok]
三、配置 tftp服務
vim /etc/xinetd.d/tftp
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
service_args = -s/tftpboot ###修改為引導檔案的路徑,本文以 /var/lib/tftpboot為例
per_xource = 11
cps = 100 2
flags =IPv4
disable = no ###將disable改為no
}
啟動服務:
#service xinetd restart [ok]
四、配置 PXE啟動引導目錄
1、將系統映象mount或複製到PXE伺服器上
mkdir /var/ftp/pub/RHEL7_6 ###因為用ftp搭建,所以要放在/var/ftp/資料夾中,RHEL7_6是以系統命名的,若還要其它系統可同時存在,做好區分即可
mount /dev/sr0 /mnt
cp /mnt/* /var/ftp/pub/RHEL7_6/ ###此處全copy過去,若掛載為mount /dev/sr0 /var/ftp/pub/RHEL7_6,但是mount是一次生效的,後續再用還需要mount,且安裝系統過程中mount 不能中斷
2、copy引導檔案到/var/lib/tftpboot/pxelinux中
mkdir /var/lib/tftpboot/pxelinux/RHEL7_6 ###因為可能會做多個系統,所以在pxelinux中建立不同系統所對應的資料夾
cp /var/ftp/pub/RHEL7_6/images/pxeboot/vmlinuz /var/lib/tftpboot/pxelinux/RHEL7_6
cp /var/ftp/pub/RHEL7_6/images/pxeboot/initrd.img /var/lib/tftpboot/pxelinux/RHEL7_6
cp /var/ftp/pub/RHEL7_6/EFI/BOOT/BOOTX64.EFI /var/lib/tftpboot/pxelinux
cp /var/ftp/pub/RHEL7_6/EFI/BOOT/grubx64.cfg /var/lib/tftpboot/pxelinux
3、建立Legacy模式的安裝啟動檔案default
mkdir /var/lib/tftpboot/pxelinux/pxelinux.cfg
vim default
default 0 #預設進label0
timeout 600 #600秒後自動進label1系統安裝
prompt 1
label 0
localboot 0
label 1
kernel RHEL7_6/vmlinuz
append initrd=RHEL7_6/initrd.img inst.repo=ftp://192.168.64.25/pub/RHEL7_6/ ip=dhcp nomodeset ks=ftp://192.168.64.24/pub/RHEL7_6/ks7_6.cfg
4、建立UEFI模式的引導檔案grub.efi
vim /var/lib/tftpboot/pxelinux/grub.efi
menuentry 'Install Red Hat Enterprise Linux 7.6' --class fedora --class gnu-linux --class gnu --class os {
linuxefi /pxelinux/RHEL7_6/vmlinuz inst.repo=ftp://192.168.64.25/pub/RHEL7_6 ks=ftp://192.168.64.24/pub/RHEL7_6/ks7_6.cfg
initrdefi /pxelinux/RHEL7_6/initrd.img
}
5、將/var/lib/tftpboot/pxelinux.0檔案複製到/var/lib/tftpboot/pxelinux資料夾中
五、重啟 PXE伺服器
六、重啟 PXE伺服器系統下的相關服務
service dhcpd restart
service xinetd restart
service vsftpd restart
service tftp restart
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70014251/viewspace-2949169/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 基於Linux的docker mysql主從搭建LinuxDockerMySql
- 利用Raspberry Pi搭建一個基於OpenMediaVault系統的NAS
- 基於ThinkPHP搭建的仿Wordpres個人部落格系統PHP
- 信創的作業系統都是基於linux嗎作業系統Linux
- 基於 Linux 的 Flutter 方法通道 ChannelsLinuxFlutter
- 基於 EKS Fargate 搭建微服務效能分析系統微服務
- 基於 Zabbix 系統監控 Windows、Linux、VMwareWindowsLinux
- Linux系統環境搭建Linux
- 基於Vue + Antd 搭建自己的部落格後臺管理系統Vue
- iOS作業系統是不是基於Linux呢?iOS作業系統Linux
- linux系統基礎Linux
- 語音識別--kaldi環境搭建(基於Ubuntu系統)Ubuntu
- 版本控制系統之基於httpd搭建私有git倉庫httpdGit
- 基於函式計算快速搭建Zblog部落格系統函式
- 基於SpringBoot 的CMS系統Spring Boot
- 關於linux類系統的操作Linux
- PXE實現系統自動化安裝
- pxe基礎的批次化裝機
- 對於Linux系統統計的命令有哪些?怎樣系統的學習LinuxLinux
- 基於Linux核心的作業系統的常見目錄說明Linux作業系統
- 基於nuxt和iview搭建後臺管理系統實踐(1)UXView
- 案例 | 荔枝微課基於 kubernetes 搭建分散式壓測系統分散式
- 判斷Linux系統是否被黑的方法Linux
- PXE 基於網路自動安裝CentOS 6/7/8CentOS
- Linux系統安裝,教你安裝一個屬於自己的Linux系統Linux
- 我是如何沉迷於linux系統的?Linux
- Linux開發環境搭建——deepin系統的使用Linux開發環境
- 基於Gin+Gorm框架搭建MVC模式的Go語言後端系統GoORM框架MVC模式後端
- 零基礎小白學習Linux系統,有什麼好的方法?Linux
- 『學了就忘』Linux基礎 — 16、Linux系統與Windows系統的不同LinuxWindows
- Linux環境下的Mysql資料庫入門-基於Centos系統LinuxMySql資料庫CentOS
- Win10 下的 WSL (Linux 子系統) 開發環境搭建 (基礎配置)Win10Linux開發環境
- 基於Ubuntu16.0.4版本linux系統下的騰訊雲伺服器java後臺環境搭建UbuntuLinux伺服器Java
- 【Linux】關於Linux的系統程式設計總結Linux程式設計
- linux系統比windows系統聲音小的解決方法LinuxWindows
- Linux系統時間同步方法。Linux
- Linux系統快速入門方法Linux
- Linux系統執行命令方法Linux