首页 > 其他分享 >pxe.sh

pxe.sh

时间:2024-07-01 16:10:05浏览次数:11  
标签:www cdromdir tftpdir html sh var cp pxe

 

#!/bin/bash

cdromdir="/mnt"
tftpdir="/var/lib/tftpboot"
dhcpNet="168.7.10.0"
netMask="255.255.255.0"
dhcpRange="168.7.10.100 168.7.10.200"
nextServer="168.7.10.135"
isoimage="openeuler.iso"
httpServer=$nextServer

#-----------------------------------------------------------
iptables -F || echo ""
systemctl stop firewalld
systemctl disable firewalld
sed -i '/SELINUX=/ s#enforcing#disabled#g' /etc/selinux/config
setenforce 0 || echo ""

mount /tmp/$isoimage $cdromdir || echo ""
cp $cdromdir/EFI/BOOT/grubaa64.efi  $tftpdir
cp $cdromdir/EFI/BOOT/grub.cfg  $tftpdir
cp $cdromdir/images/pxeboot/* $tftpdir
cd /var/www/html || mkdir -p /var/www/html/ 
cp -r $cdromdir/* /var/www/html/
chmod 755 -R /var/www/html/
cat>/etc/yum.repos.d/openeuler_http.repo<<EOF
[openeuler_http]
name=openeuler_http
baseurl=http://$nextServer
enabled=1
gpgcheck=0
EOF


yum --disablerepo="*" --enablerepo="openeuler_http" install -y net-tools vim vsftpd tftp tftp-server dhcp 

#-- dhcp
cat>/etc/dhcp/dhcpd.conf<<EOF
subnet $dhcpNet netmask $netMask {
        range $dhcpRange;
        option subnet-mask $netMask;
        default-lease-time 21600;
        max-lease-time 43200;
        next-server $nextServer;
        filename "grubaa64.efi";
}

EOF

#-- tftp
sed -i '/disable/ s#yes#no#g' /etc/xinetd.d/tftp || echo ""

systemctl start dhcpd && systemctl enable dhcpd
systemctl start tftp && systemctl enable tftp
systemctl start httpd && systemctl enable httpd


cat>$tftpdir/grub.cfg<<'EOF'
set default="1"

function load_video {
  if [ x$feature_all_video_module = xy ]; then
    insmod all_video
  else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
  fi
}

load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod ext2

set timeout=3
### END /etc/grub.d/00_header ###
EOF

cat>>$tftpdir/grub.cfg<<EOF

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Install openEuler 20.03 LTS' --class red --class gnu-linux --class gnu --class os {
set root=(tftp,$nextServer)
 linux  /vmlinuz ro inst.geoloc=0 console=ttyAMA0 console=tty0 rd.iscsi.waitnet=0 inst.ks=http://$httpServer/ks/openEuler-ks.cfg
 initrd /initrd.img
}
EOF

mkdir -p /var/www/html/ks/
cat>/var/www/html/ks/openEuler-ks.cfg<<EOF
#version=DEVEL
# Use graphical install
graphical

#---------------------------------------------------------
# Keyboard layouts
keyboard --xlayouts='us','cn (altgr-pinyin)'

#---------------------------------------------------------
# System language
lang en_US.UTF-8

#---------------------------------------------------------
# Use CDROM installation media
# 安装镜像
url --url=http://$httpServer

#---------------------------------------------------------
%packages
@^minimal-environment
@development
%end

#---------------------------------------------------------
# System timezone
timezone Asia/Shanghai --utc

#---------------------------------------------------------
# Network information
network  --hostname=localhost.localdomain
network  --bootproto=dhcp --device=enp4s0 --onboot=on  --ipv6=auto --activate
#network  --bootproto=static --device=enp4s0 --gateway=168.7.10.1 --ip=168.7.10.105 --nameserver=114.114.114.114 --netmask=255.255.255.0 --onboot=off --ipv6=off --activate

# Run the Setup Agent on first boot
firstboot --enable

# System services
services --disabled="chronyd"

# 在那块磁盘安装OS
ignoredisk --only-use=vda

#---------------------------------------------------------
# Partition clearing information
clearpart --all --initlabel

#---------------------------------------------------------
# Disk partitioning information
# 分区表
part swap --fstype="swap" --ondisk=vda --size=10240
part / --fstype="ext4" --ondisk=vda --size=174078
part /boot/efi --fstype="efi" --ondisk=vda --size=5120 --fsoptions="umask=0077,shortname=winnt"
part /tmp --fstype="ext4" --ondisk=vda --size=51200
part /boot --fstype="ext4" --ondisk=vda --size=5120
#---------------------------------------------------------
# Root password
rootpw --iscrypted $6$XpbpyyInoUzlkmbP$vCHN5jPj18a2loOIV8tZhr19xW08R7K8lpNKqU7/WhhyGo0I7E5zK01JWGTSOxDJ5Kkl7zAgF8Zdi9k5yv1M51
#---------------------------------------------------------
%addon com_redhat_kdump --disable --reserve-mb='128'
%end

%anaconda
pwpolicy root --minlen=8 --minquality=1 --strict --nochanges --notempty
pwpolicy user --minlen=8 --minquality=1 --strict --nochanges --emptyok
pwpolicy luks --minlen=8 --minquality=1 --strict --nochanges --notempty
%end
#reboot
EOF
chmod 777 -R /var/lib/tftp/
chmod 777 -R /var/www/html/ks
systemctl restart tftp
systemctl restart dhcpd
systemctl restart httpd

 

标签:www,cdromdir,tftpdir,html,sh,var,cp,pxe
From: https://www.cnblogs.com/vmsysjack/p/18278284

相关文章

  • 【Linux命令详解 - ssh命令】 ssh命令用于远程登录到其他计算机,实现安全的远程管理
    文章标题简介一,参数列表二,使用介绍*1\.连接远程服务器2.使用SSH密钥登录*2.1生成密钥对2.2将公钥复制到远程服务器3.端口转发*3.1本地端口转发3.2远程端口转发4.X11转发5.文件传输与远程命令执行*5.1文件传输*5.1.1从本地向远程......
  • ubuntu配置ssh登录
    环境:Os:18.04.11.查看当前ssh是否运行 2.安装ssh(没有运行的情况下需要安装)sudoapt-getupdatesudoapt-getinstallopenssh-serverroot@oracle-VirtualBox:~#ps-e|grepssh1405?00:00:00ssh-agent4060?00:00:00sshd5143?00:00:00ss......
  • 使用grafana loki dashboard排查系统间mq消息问题
    背景:几个系统间通过rocketmq的消息传递信息,用户反馈该功能存在一些数据不一致,应该是mq消息丢失或者系统在发消息时候报错,因此在代码中先打上日志并发布。日志由多个[tag]加详细信息组成,例子如:log.info("[MqAction][Proxy][ProxyMqReceive][ProxyNotificationCnsmRouteMqReceive]......
  • LeetCode //Bash - 194. Transpose File
    194.TransposeFileGivenatextfilefile.txt,transposeitscontent.Youmayassumethateachrowhasthesamenumberofcolumns,andeachfieldisseparatedbythe’’character. Example:Iffile.txthasthefollowingcontent:nameagealice21......
  • 在虚拟机Linux系统中下载安装Wireshark
    #实习记录#我的ubantu版本在Ubuntu中下载和安装Wireshark可以通过以下步骤完成:1.更新包管理器:确保你的包管理器是最新的:sudoapt-getupdate 2.安装Wireshark:sudoapt-getinstallwireshark 3.配置Wireshark:在安装过程中,系统会询问是否允许非超级用户捕获数据包。......
  • 7月1日 STM32F407VET6对Flash的入门学习(记录)
    1、Flash的使用之前必须对Flash进行擦除,不能直接写入进行覆盖。其原因是Flash的工作原理存储二进制的0和1,且只能实现从1到0的变化。这就意味着但Flash中已经烧入由0和1组成的文件后,无法直接再次烧入其他二进制文件。必须使用特定的函数将Flash中已存在的0和1全部转换成1,这个就......
  • 在虚拟机Linux系统中安装pyshark库
    #实习记录#安装pyshark之前需要确保已安装Wireshark或其命令行版本tshark-->pyshark依赖于tshark来进行网络数据包的捕获和解析。#安装Wireshark可以进主页查找教程#开始安装1.先更新系统的包管理器,并安装pip和tshark(Wireshark的命令行版本):sudoapt-getupdatesudoapt-g......
  • BOSHIDA 探讨DC/AC电源模块为绿色能源应用提供可靠的转换解决方案
    BOSHIDA探讨DC/AC电源模块为绿色能源应用提供可靠的转换解决方案DC/AC电源模块是一种能够将直流电源转换为交流电源的装置。随着绿色能源的不断发展和应用,DC/AC电源模块在可再生能源、电动车辆、太阳能发电等领域中扮演着重要的角色。本文将着重探讨DC/AC电源模块为绿色能源应用......
  • 探索Toshiba东芝TLP265J光耦合器
    在当今的电子元件市场中,寻找高质量和高可靠性的光耦合器解决方案对许多工程师和设计师来说至关重要。TLP265J这款产品在性能、安全性和可靠性方面均表现卓越,适用于多种工业和商业应用。本文将深入探讨TLP265J的特点、应用领域以及其技术优势,帮助您更好地理解这款产品,并为您的设......
  • 可计算离散整体几何结构的 MeshDGP使用——基于C#的geometry processing framework几
    目录引出MeshDGP项目下载和打开遇到的报错解决如何运行使用打开使用函数工具菜单等总结其他CAD/CAE/CAM几何引擎-软件概述郝建兵CAD/CAE/CAMCADCAECAM几何模型内核ACIS两个老大之一OpenCascadeParasolid两个老大之一Autodesk的内核各种CAD自定义信号和槽1.自定......