add pxe files
This commit is contained in:
@@ -10,6 +10,14 @@ class Command(sunhpc.commands.pxelinux.build.command):
|
||||
"""
|
||||
Build the iso pxe (dhcpd, tftpd, httpd service for the sunhpc cluster.
|
||||
|
||||
1) config interface(e,g.. eth0/eth1) ip address
|
||||
2) source /opt/sunhpc/etc/env.sunhpc
|
||||
3) git clone https://gitee.com/qcsun/sunhpc.git
|
||||
4) git clone https://gitee.com/qcsun/tools.git
|
||||
5) rpm -ivh tools/sunhpc-python-3.12.0-1.el8.x86_64.rpm
|
||||
6) sunhpc pxelinux build Rocky-8.7-x86_64-dvd1.iso
|
||||
7) sunhpc pxelinux build cdpxe dev=eth1 repo=/export/sunhpc/install/repos/Rocky/8/x86_64
|
||||
|
||||
<param type='Bool' name='Quiet'>
|
||||
Whether to output detailed information, default: no
|
||||
</param>
|
||||
@@ -27,14 +35,14 @@ class Command(sunhpc.commands.pxelinux.build.command):
|
||||
</param>
|
||||
|
||||
<param type='string' name='boot'>
|
||||
supply an boot mode, mbr or uefi. Default: UEFI
|
||||
supply an boot mode, mbr or uefi. Default: MBR
|
||||
</param>
|
||||
|
||||
<example cmd='pxelinux build cdpxe'>
|
||||
In local build the iso pxe dhcpd, tftpd, httpd services.
|
||||
</example>
|
||||
|
||||
<example cmd='pxelinux build cdpxe'>
|
||||
<example cmd='pxelinux build cdpxe dev=eth1 repo=/export/sunhpc/install/repos/Rocky/8/x86_64'>
|
||||
Build the iso pxe dhcpd, tftpd, httpd service.
|
||||
</example>
|
||||
"""
|
||||
@@ -71,70 +79,6 @@ class Command(sunhpc.commands.pxelinux.build.command):
|
||||
if owner:
|
||||
os.system('chown %s %s' % (owner, dst))
|
||||
|
||||
def writeKSRepos(self, ksdirs, httpd_repos, rpath, addr):
|
||||
if not os.path.exists(ksdirs):
|
||||
os.makedirs(ksdirs)
|
||||
|
||||
if not os.path.islink(httpd_repos):
|
||||
os.symlink(rpath, httpd_repos)
|
||||
|
||||
rootpw = '$6$eT.sWNwV69wyvhaR$N5tY4rJn6Y2slOrwuejfUBq3MhC5SNe1gUfTSYmOACObwW4ckUK9fjkKwC9TgSPhwwlaGdbtn0EFg11TJmAbC1'
|
||||
usernm = 'admin'
|
||||
userpw = '$6$0WN9CulSREVORA0S$FVWh6tkvdncbmSrsNPEb13GwxnGnEOKZliZLdL2IdY5E/fzLB8QmZAmgxyHh6ElSjObUCTbDEJ0l9.wRCRrsU.'
|
||||
|
||||
bpacks, baddon, banaconda, bender = '%packages', '%addon', '%anaconda', '%end'
|
||||
ksfile = os.path.join(ksdirs, 'kickstart.conf')
|
||||
with open(ksfile, 'w') as f:
|
||||
f.write(textwrap.dedent("""\
|
||||
#version=RHEL8
|
||||
# Use graphical install
|
||||
graphical
|
||||
|
||||
%s
|
||||
@^graphical-server-environment
|
||||
@container-management
|
||||
@development
|
||||
@graphical-admin-tools
|
||||
@headless-management
|
||||
@infiniband
|
||||
@legacy-unix
|
||||
@network-file-system-client
|
||||
@performance
|
||||
@remote-desktop-clients
|
||||
@remote-system-management
|
||||
@rpm-development-tools
|
||||
@system-tools
|
||||
@web-server
|
||||
%s
|
||||
|
||||
keyboard --xlayouts='us'
|
||||
lang en_US.UTF-8
|
||||
firstboot --enable
|
||||
timezone Asia/Shanghai --isUtc --nontp
|
||||
|
||||
network --bootproto=dhcp --onboot=on --ipv6=auto
|
||||
network --hostname=compute.local
|
||||
clearpart --all --initlabel
|
||||
autopart --type=lvm
|
||||
|
||||
repo --name="AppStream" --baseurl=http://%s/redhat/AppStream
|
||||
repo --name="BaseOS" --baseurl=http://%s/redhat/BaseOS
|
||||
|
||||
rootpw --iscrypted %s
|
||||
user --name=%s --password=%s --iscrypted --gecos="%s"
|
||||
|
||||
%s com_redhat_kdump --disable --reserve-mb='auto'
|
||||
%s
|
||||
|
||||
%s
|
||||
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
|
||||
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
|
||||
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
|
||||
%s
|
||||
""" % (bpacks, bender, addr, addr, rootpw, usernm, userpw, usernm, baddon, bender, banaconda, bender)))
|
||||
|
||||
os.system('chmod 777 %s' % ksfile)
|
||||
|
||||
def run(self, params, args):
|
||||
|
||||
(quiet, pxedir, dev, rpath, boot) = self.fillParams([
|
||||
@@ -142,9 +86,8 @@ class Command(sunhpc.commands.pxelinux.build.command):
|
||||
('pxedir', '/tftpboot/pxelinux'),
|
||||
('dev', None),
|
||||
('repo', ''),
|
||||
('boot', 'uefi')
|
||||
('boot', 'mbr')
|
||||
])
|
||||
|
||||
q = self.str2bool(quiet)
|
||||
|
||||
if dev is None:
|
||||
@@ -168,15 +111,40 @@ class Command(sunhpc.commands.pxelinux.build.command):
|
||||
self.installHttpd(dev, rpath, address, q)
|
||||
|
||||
# off selinux
|
||||
os.system('sed -i "s/SELINUX=enforcing/SELINUX=disabled/ /etc/selinux/config"')
|
||||
os.system('sed -i "s/^SELINUX=.*/SELINUX=disabled/g" /etc/selinux/config')
|
||||
|
||||
def installHttpd(self, devices, rpath, address, q):
|
||||
self.msg('Starting build the httpd service...', q=q)
|
||||
|
||||
rootdir = '/var/www/html'
|
||||
ksdirs = os.path.join(rootdir, 'ks')
|
||||
httpd_repos = os.path.join(rootdir, 'redhat')
|
||||
self.writeKSRepos(ksdirs, httpd_repos, rpath, address)
|
||||
webdir = '/var/www/html'
|
||||
ksdirs = os.path.join(webdir, 'ksfile')
|
||||
redhat = os.path.join(webdir, 'redhat')
|
||||
repos = os.path.join(redhat, 'r8')
|
||||
|
||||
if not os.path.exists(ksdirs):
|
||||
os.makedirs(ksdirs)
|
||||
|
||||
if not os.path.exists(redhat):
|
||||
os.makedirs(redhat)
|
||||
|
||||
if not os.path.islink(repos):
|
||||
os.symlink(rpath, repos)
|
||||
|
||||
shared = '/opt/sunhpc/share/pxeboot/kickstart'
|
||||
ksfile = os.listdir(shared)
|
||||
for i in ksfile:
|
||||
if i.startswith('r8_min.conf'):
|
||||
self.msg('Copying to %s - %s' % (ksdirs, i), q=q)
|
||||
self.copyit(os.path.join(shared, i), os.path.join(ksdirs, i), 0o755, '0.0')
|
||||
if i.startswith('r8_gui.conf'):
|
||||
self.msg('Copying to %s - %s' % (ksdirs, i), q=q)
|
||||
self.copyit(os.path.join(shared, i), os.path.join(ksdirs, i), 0o755, '0.0')
|
||||
|
||||
if not os.path.exists(os.path.join(ksdirs, i)):
|
||||
continue
|
||||
|
||||
# replace ip address for kickstart config file.
|
||||
os.system('sed -i "s/ipaddress/%s/g" %s' % (address, os.path.join(ksdirs, i)))
|
||||
|
||||
sunhpc_httpd_config = '/etc/httpd/conf.d/ks-sunhpc.conf'
|
||||
if not os.path.exists(sunhpc_httpd_config):
|
||||
@@ -205,7 +173,7 @@ class Command(sunhpc.commands.pxelinux.build.command):
|
||||
Require all granted
|
||||
</Directory>
|
||||
</VirtualHost>
|
||||
""" % (address, rootdir, ksdirs, httpd_repos)))
|
||||
""" % (address, webdir, ksdirs, repos)))
|
||||
|
||||
self.fw.addports(['80', '443'], ['tcp'])
|
||||
self.fw.addservice('http')
|
||||
@@ -226,8 +194,16 @@ class Command(sunhpc.commands.pxelinux.build.command):
|
||||
cmds += '--disablerepo=* --enablerepo=sunhpc-appstream,sunhpc-baseos'
|
||||
self.shcmd(cmds)
|
||||
|
||||
# pxedir: /tftpboot/pxelinux
|
||||
c7 = os.path.join(pxedir, 'c7')
|
||||
r8 = os.path.join(pxedir, 'r8')
|
||||
r9 = os.path.join(pxedir, 'r9')
|
||||
pd = os.path.join(pxedir, 'pxelinux.cfg')
|
||||
if not os.path.exists(pxedir):
|
||||
os.makedirs(pxedir)
|
||||
os.makedirs(c7)
|
||||
os.makedirs(r8)
|
||||
os.makedirs(r9)
|
||||
os.makedirs(pd)
|
||||
|
||||
self.fw.addports(['69'], ['udp'])
|
||||
self.fw.addservice('tftp')
|
||||
@@ -272,13 +248,14 @@ class Command(sunhpc.commands.pxelinux.build.command):
|
||||
|
||||
os.system('systemctl daemon-reload')
|
||||
os.system('systemctl restart tftp.service')
|
||||
|
||||
#
|
||||
# copy uefi boot file
|
||||
# BaseOS/Packages/s/shim-x64-15.6-1.el8.x86_64.rpm
|
||||
# BaseOS/Packages/g/grub2-efi-x64-2.02-142.el8.rocky.0.2.x86_64.rpm
|
||||
# /usr/share/syslinux/{pxelinux.0, menu.c32}
|
||||
# isolinux/{ldlinux.c32, libcom32.c32, libutil.c32}
|
||||
# decompress: rpm2cpio xxx-xxx-xxx.rpm |cpio -dim
|
||||
# boot/efi/EFI/BOOT/BOOTX64.EFI
|
||||
# boot/efi/EFI/BOOT/shimx64.efi
|
||||
# boot/efi/EFI/rocky/grubx64.efi
|
||||
#
|
||||
share = '/opt/sunhpc/share/pxeboot'
|
||||
@@ -287,85 +264,44 @@ class Command(sunhpc.commands.pxelinux.build.command):
|
||||
pxefile = os.listdir(share) + os.listdir(repos)
|
||||
for i in pxefile:
|
||||
if i.startswith('initrd.img'):
|
||||
self.msg('Copying to %s - %s' % (pxedir, i), q=q)
|
||||
self.copyit(os.path.join(repos, i), os.path.join(pxedir, i), 0o755, '0.0')
|
||||
|
||||
self.msg('Copying to %s - %s' % (r8, i), q=q)
|
||||
self.copyit(os.path.join(repos, i), os.path.join(r8, i), 0o755, '0.0')
|
||||
if i.startswith('vmlinuz'):
|
||||
self.msg('Copying to %s - %s' % (pxedir, i), q=q)
|
||||
self.copyit(os.path.join(repos, i), os.path.join(pxedir, i), 0o755, '0.0')
|
||||
|
||||
if i.startswith('memtest'):
|
||||
self.msg('Copying to %s - %s' % (pxedir, i), q=q)
|
||||
self.copyit(os.path.join(repos, i), os.path.join(pxedir, i), 0o755, '0.0')
|
||||
|
||||
if i.startswith('BOOTX64.EFI'):
|
||||
self.msg('Copying to %s - %s' % (pxedir, i), q=q)
|
||||
self.copyit(os.path.join(share, i), os.path.join(pxedir, i), 0o644, '0.0')
|
||||
self.msg('Copying to %s - %s' % (r8, i), q=q)
|
||||
self.copyit(os.path.join(repos, i), os.path.join(r8, i), 0o755, '0.0')
|
||||
|
||||
if i.startswith('grubx64.efi'):
|
||||
self.msg('Copying to %s - %s' % (pxedir, i), q=q)
|
||||
self.copyit(os.path.join(share, i), os.path.join(pxedir, i), 0o644, '0.0')
|
||||
|
||||
if i.startswith('pxelinux.0'):
|
||||
self.msg('Copying to %s - %s' % (pxedir, i), q=q)
|
||||
self.copyit(os.path.join(share, i), os.path.join(pxedir, i), 0o644, '0.0')
|
||||
|
||||
if i.startswith('ldlinux.c32'):
|
||||
self.msg('Copying to %s - %s' % (pxedir, i), q=q)
|
||||
self.copyit(os.path.join(share, i), os.path.join(pxedir, i), 0o644, '0.0')
|
||||
|
||||
if i.startswith('lpxelinux.0'):
|
||||
if i.startswith('libcom32.c32'):
|
||||
self.msg('Copying to %s - %s' % (pxedir, i), q=q)
|
||||
self.copyit(os.path.join(share, i), os.path.join(pxedir, i), 0o644, '0.0')
|
||||
if i.startswith('libutil.c32'):
|
||||
self.msg('Copying to %s - %s' % (pxedir, i), q=q)
|
||||
self.copyit(os.path.join(share, i), os.path.join(pxedir, i), 0o644, '0.0')
|
||||
if i.startswith('menu.c32'):
|
||||
self.msg('Copying to %s - %s' % (pxedir, i), q=q)
|
||||
self.copyit(os.path.join(share, i), os.path.join(pxedir, i), 0o644, '0.0')
|
||||
if i.startswith('pxelinux.0'):
|
||||
self.msg('Copying to %s - %s' % (pxedir, i), q=q)
|
||||
self.copyit(os.path.join(share, i), os.path.join(pxedir, i), 0o644, '0.0')
|
||||
if i.startswith('shimx64.efi'):
|
||||
self.msg('Copying to %s - %s' % (pxedir, i), q=q)
|
||||
self.copyit(os.path.join(share, i), os.path.join(pxedir, i), 0o644, '0.0')
|
||||
if i.startswith('vesamenu.c32'):
|
||||
self.msg('Copying to %s - %s' % (pxedir, i), q=q)
|
||||
self.copyit(os.path.join(share, i), os.path.join(pxedir, i), 0o644, '0.0')
|
||||
|
||||
if i.startswith('gpxelinux.0'):
|
||||
self.msg('Copying to %s - %s' % (pxedir, i), q=q)
|
||||
self.copyit(os.path.join(share, i), os.path.join(pxedir, i), 0o644, '0.0')
|
||||
if i.startswith('default'):
|
||||
self.msg('Copying to %s - %s' % (pd, i), q=q)
|
||||
self.copyit(os.path.join(share, i), os.path.join(pd, i), 0o644, '0.0')
|
||||
|
||||
self.writeBootCFG(pxedir, boot, address, q)
|
||||
# replace ip address for pxelinux.cfg/default
|
||||
os.system('sed -i "s/ipaddress/%s/g" %s' % (address, os.path.join(pd, 'default')))
|
||||
|
||||
def writeBootCFG(self, pxedirs, boot, address, q):
|
||||
|
||||
# pxedirs : /tftpboot/pxelinux
|
||||
# boot : mbr
|
||||
|
||||
ksfile = 'http://%s/ks/kickstart.conf' % address
|
||||
images = 'http://%s/redhat/image/' % address
|
||||
pxedir = os.path.join(pxedirs, 'pxelinux.cfg')
|
||||
if not os.path.exists(pxedir):
|
||||
os.makedirs(pxedir)
|
||||
|
||||
if boot.lower() in ['mbr']:
|
||||
|
||||
default = os.path.join(pxedir, 'default')
|
||||
self.msg('Configure pxelinux pxe boot file to %s ' % (default), q=q)
|
||||
with open(default, 'w') as f:
|
||||
f.write(textwrap.dedent("""\
|
||||
#
|
||||
# Generated by sunhpc pxelinux build tftpd
|
||||
#
|
||||
default sunhpc
|
||||
prompt 0
|
||||
label sunhpc
|
||||
kernel vmlinuz
|
||||
append initrd=initrd.img inst.ks=%s inst.stage2=%s quiet net.ifnames=0
|
||||
""" % (ksfile, images)))
|
||||
os.chmod(default, 0o0664)
|
||||
os.system('chown root.apache %s' % default)
|
||||
else:
|
||||
|
||||
default = os.path.join(pxedirs, 'grub.cfg')
|
||||
with open(default, 'w') as f:
|
||||
f.write(textwrap.dedent("""\
|
||||
#
|
||||
# the file generate by sunhpc
|
||||
#
|
||||
set timeout = 30
|
||||
menuentry 'Install Rocky 8' {
|
||||
initrdefi pxelinux/initrd.img
|
||||
linuxefi pxelinux/vmlinuz inst.ks=%s inst.stage2=%s quiet net.ifnames=0
|
||||
}
|
||||
""" % (ksfile, images)))
|
||||
|
||||
def installDhcpd(self, devices, boot, address, q):
|
||||
self.msg('Starting build the dhcpd service...', q=q)
|
||||
@@ -409,25 +345,13 @@ class Command(sunhpc.commands.pxelinux.build.command):
|
||||
class "pxeclients" {
|
||||
match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
|
||||
next-server %s;
|
||||
|
||||
if exists user-class and option user-class = "iPXE" {
|
||||
filename "ipxe_after/index.ipxe";
|
||||
} else {
|
||||
if option arch-type = 00:00 {
|
||||
# 0x00 0x00 x86 BIOS
|
||||
filename "pxelinux.0";
|
||||
} else if option arch-type = 00:06 {
|
||||
# 0x00 0x06 x86 UEFI
|
||||
filename "BOOTX86.EFI";
|
||||
} else if option arch-type = 00:07 {
|
||||
# 0x00 0x07 x64 UEFI
|
||||
filename "BOOTX64.EFI";
|
||||
if option arch-type = 00:07 {
|
||||
filename "shimx64.efi";
|
||||
} else {
|
||||
filename "pxelinux.0";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
""" % (addr_pre, addr_pre, addr_pre, address, address, address)))
|
||||
|
||||
dhcpd_srv_conf = '/usr/lib/systemd/system/dhcpd.service'
|
||||
|
||||
100
share/pxeboot/default
Normal file
100
share/pxeboot/default
Normal file
@@ -0,0 +1,100 @@
|
||||
default vesamenu.c32
|
||||
timeout 300
|
||||
|
||||
display boot.msg
|
||||
|
||||
menu clear
|
||||
menu background splash.png
|
||||
menu title CentOS and Rocky Linux Install
|
||||
menu vshift 8
|
||||
menu rows 18
|
||||
menu margin 8
|
||||
menu helpmsgrow 15
|
||||
menu tabmsgrow 13
|
||||
|
||||
menu color border * #00000000 #00000000 none
|
||||
menu color sel 0 #ffffffff #00000000 none
|
||||
menu color title 0 #ff7ba3d0 #00000000 none
|
||||
menu color tabmsg 0 #ff3a6496 #00000000 none
|
||||
menu color unsel 0 #84b8ffff #00000000 none
|
||||
menu color hotsel 0 #84b8ffff #00000000 none
|
||||
menu color hotkey 0 #ffffffff #00000000 none
|
||||
menu color help 0 #ffffffff #00000000 none
|
||||
menu color scrollbar 0 #ffffffff #ff355594 none
|
||||
menu color timeout 0 #ffffffff #00000000 none
|
||||
menu color timeout_msg 0 #ffffffff #00000000 none
|
||||
menu color cmdmark 0 #84b8ffff #00000000 none
|
||||
menu color cmdline 0 #ffffffff #00000000 none
|
||||
|
||||
menu tabmsg Press Tab for full configuration options on menu items.
|
||||
menu separator # insert an empty line
|
||||
menu separator # insert an empty line
|
||||
|
||||
menu begin Install CentOS 7
|
||||
menu title Install CentOS 7
|
||||
|
||||
label linux 7
|
||||
menu label ^Auto Install CentOS 7 (Minimal)
|
||||
kernel c7/vmlinuz
|
||||
append initrd=c7/initrd.img inst.ks=http://ipaddress/ksfile/c7_min.conf quiet net.ifnames=0
|
||||
|
||||
label linux 7
|
||||
menu label ^Auto Install CentOS 7 (^GUI)
|
||||
kernel c7/vmlinuz
|
||||
append initrd=c7/initrd.img inst.ks=http://ipaddress/ksfile/c7_gui.conf quiet net.ifnames=0
|
||||
|
||||
label linux 7
|
||||
menu label ^Manual Install CentOS 7
|
||||
kernel c7/vmlinuz
|
||||
append initrd=c7/initrd.img inst.repo=http://ipaddress/redhat/c7 quiet net.ifnames=0
|
||||
|
||||
label linux 7
|
||||
menu indent count 5
|
||||
menu label ^Rescue CentOS 7 system
|
||||
kernel c7/vmlinuz
|
||||
append initrd=c7/initrd.img inst.repo=http://ipaddress/redhat/c7 rescue
|
||||
|
||||
menu separator # insert an empty line
|
||||
label returntomain
|
||||
menu label Return to ^main menu
|
||||
menu exit
|
||||
menu end
|
||||
|
||||
# Rockys options
|
||||
menu begin Install Rocky 8
|
||||
menu title Install Rocky 8
|
||||
|
||||
label linux 8
|
||||
menu label ^Auto Install Rocky 8 (Minimal)
|
||||
kernel r8/vmlinuz
|
||||
append initrd=r8/initrd.img inst.ks=http://ipaddress/ksfile/r8_min.conf quiet net.ifnames=0
|
||||
|
||||
label linux 8
|
||||
menu label ^Auto Install Rocky 8 (^GUI)
|
||||
kernel r8/vmlinuz
|
||||
append initrd=r8/initrd.img inst.ks=http://ipaddress/ksfile/r8_gui.conf quiet net.ifnames=0
|
||||
|
||||
label linux 8
|
||||
menu label ^Manual Install Rocky 8
|
||||
kernel r8/vmlinuz
|
||||
append initrd=r8/initrd.img inst.repo=http://ipaddress/redhat/r8 quiet net.ifnames=0
|
||||
|
||||
label linux 8
|
||||
menu indent count 5
|
||||
menu label ^Rescue Rocky 8 system
|
||||
kernel r8/vmlinuz
|
||||
append initrd=r8/initrd.img inst.repo=http://ipaddress/redhat/r8 rescue
|
||||
|
||||
menu separator # insert an empty line
|
||||
label returntomain
|
||||
menu label Return to ^main menu
|
||||
menu exit
|
||||
menu end
|
||||
|
||||
menu separator # insert an empty line
|
||||
label local
|
||||
menu default
|
||||
menu label Boot from ^local drive
|
||||
localboot 0xffff
|
||||
|
||||
menu end
|
||||
0
share/pxeboot/grubx64.efi
Executable file → Normal file
0
share/pxeboot/grubx64.efi
Executable file → Normal file
48
share/pxeboot/kickstart/c7_gui.conf
Executable file
48
share/pxeboot/kickstart/c7_gui.conf
Executable file
@@ -0,0 +1,48 @@
|
||||
#version=RHEL8
|
||||
# Use graphical install
|
||||
|
||||
install
|
||||
keyboard 'us'
|
||||
lang zh_CN
|
||||
text
|
||||
skipx
|
||||
|
||||
selinux --disabled
|
||||
timezone Asia/Shanghai
|
||||
auth --useshadow --passalgo=sha512
|
||||
|
||||
url --url="http://ipaddress/redhat/c7"
|
||||
#autopart --type=lvm
|
||||
zerombr
|
||||
bootloader --location=mbr
|
||||
clearpart --all --initlabel
|
||||
|
||||
part /boot --fstype="ext4" --size=1024
|
||||
part swap --fstype="swap" --size=4096
|
||||
part / --fstype="xfs" --grow
|
||||
|
||||
reboot
|
||||
rootpw --plaintext 123456
|
||||
|
||||
%post --interpreter=/usr/bin/bash
|
||||
useradd admin
|
||||
echo 123456 | passwd --stdin admin
|
||||
sed -i 's/^#PermitRootLogin prohibit-password/PermitRootLogin yes/g' /etc/ssh/sshd_config
|
||||
%end
|
||||
|
||||
%packages
|
||||
@^infrastructure-server-environment
|
||||
@base
|
||||
@core
|
||||
chrony
|
||||
kexec-tools
|
||||
%end
|
||||
|
||||
%addon com_redhat_kdump --disable --reserve-mb='auto'
|
||||
%end
|
||||
|
||||
%anaconda
|
||||
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
|
||||
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
|
||||
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
|
||||
%end
|
||||
48
share/pxeboot/kickstart/c7_min.conf
Executable file
48
share/pxeboot/kickstart/c7_min.conf
Executable file
@@ -0,0 +1,48 @@
|
||||
#version=RHEL8
|
||||
# Use graphical install
|
||||
|
||||
install
|
||||
keyboard 'us'
|
||||
lang zh_CN
|
||||
text
|
||||
skipx
|
||||
|
||||
selinux --disabled
|
||||
timezone Asia/Shanghai
|
||||
auth --useshadow --passalgo=sha512
|
||||
|
||||
url --url="http://ipaddress/redhat/c7"
|
||||
#autopart --type=lvm
|
||||
zerombr
|
||||
bootloader --location=mbr
|
||||
clearpart --all --initlabel
|
||||
|
||||
part /boot --fstype="ext4" --size=1024
|
||||
part swap --fstype="swap" --size=4096
|
||||
part / --fstype="xfs" --grow
|
||||
|
||||
reboot
|
||||
rootpw --plaintext 123456
|
||||
|
||||
%post --interpreter=/usr/bin/bash
|
||||
useradd admin
|
||||
echo 123456 | passwd --stdin admin
|
||||
sed -i 's/^#PermitRootLogin prohibit-password/PermitRootLogin yes/g' /etc/ssh/sshd_config
|
||||
%end
|
||||
|
||||
%packages
|
||||
@^infrastructure-server-environment
|
||||
@base
|
||||
@core
|
||||
chrony
|
||||
kexec-tools
|
||||
%end
|
||||
|
||||
%addon com_redhat_kdump --disable --reserve-mb='auto'
|
||||
%end
|
||||
|
||||
%anaconda
|
||||
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
|
||||
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
|
||||
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
|
||||
%end
|
||||
51
share/pxeboot/kickstart/ks-example.conf
Executable file
51
share/pxeboot/kickstart/ks-example.conf
Executable file
@@ -0,0 +1,51 @@
|
||||
#version=RHEL8
|
||||
# Use graphical install
|
||||
graphical
|
||||
|
||||
%packages
|
||||
@^graphical-server-environment
|
||||
@container-management
|
||||
@development
|
||||
@graphical-admin-tools
|
||||
@headless-management
|
||||
@infiniband
|
||||
@legacy-unix
|
||||
@network-file-system-client
|
||||
@performance
|
||||
@remote-desktop-clients
|
||||
@remote-system-management
|
||||
@rpm-development-tools
|
||||
@system-tools
|
||||
@web-server
|
||||
%end
|
||||
|
||||
keyboard --xlayouts='us'
|
||||
lang en_US.UTF-8
|
||||
firstboot --enable
|
||||
selinux --disabled
|
||||
skipx
|
||||
timezone Asia/Shanghai --isUtc --nontp
|
||||
|
||||
network --bootproto=dhcp --onboot=on --ipv6=auto
|
||||
network --hostname=compute.local
|
||||
clearpart --all --initlabel
|
||||
#part /boot --fstype="ext4" --size=1024
|
||||
#part swap --fstype="swap" --size=4096
|
||||
#part / --fstype="xfs" --grow
|
||||
autopart --type=lvm
|
||||
|
||||
url --url="http://172.16.2.1/redhat/r8"
|
||||
#repo --name="AppStream" --baseurl=http://172.16.2.1/redhat/AppStream
|
||||
#repo --name="BaseOS" --baseurl=http://172.16.2.1/redhat/BaseOS
|
||||
|
||||
rootpw --iscrypted $6$eT.sWNwV69wyvhaR$N5tY4rJn6Y2slOrwuejfUBq3MhC5SNe1gUfTSYmOACObwW4ckUK9fjkKwC9TgSPhwwlaGdbtn0EFg11TJmAbC1
|
||||
user --name=admin --password=$6$0WN9CulSREVORA0S$FVWh6tkvdncbmSrsNPEb13GwxnGnEOKZliZLdL2IdY5E/fzLB8QmZAmgxyHh6ElSjObUCTbDEJ0l9.wRCRrsU. --iscrypted --gecos="admin"
|
||||
|
||||
%addon com_redhat_kdump --disable --reserve-mb='auto'
|
||||
%end
|
||||
|
||||
%anaconda
|
||||
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
|
||||
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
|
||||
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
|
||||
%end
|
||||
54
share/pxeboot/kickstart/r8_gui.conf
Executable file
54
share/pxeboot/kickstart/r8_gui.conf
Executable file
@@ -0,0 +1,54 @@
|
||||
#version=RHEL8
|
||||
# Use graphical install
|
||||
graphical
|
||||
|
||||
url --url="http://ipaddress/redhat/r8"
|
||||
|
||||
lang en_US.UTF-8
|
||||
keyboard --xlayouts='us'
|
||||
firstboot --enable
|
||||
selinux --disabled
|
||||
timezone Asia/Shanghai --isUtc --nontp
|
||||
skipx
|
||||
|
||||
zerombr
|
||||
bootloader --location=mbr
|
||||
clearpart --all --initlabel
|
||||
part /boot --fstype="ext4" --size=1024
|
||||
part swap --fstype="swap" --size=4096
|
||||
part / --fstype="xfs" --grow
|
||||
|
||||
rootpw --plaintext 123456
|
||||
reboot
|
||||
|
||||
%post --interpreter=/usr/bin/bash
|
||||
useradd admin
|
||||
echo 123456 | passwd --stdin admin
|
||||
sed -i 's/^#PermitRootLogin prohibit-password/PermitRootLogin yes/g' /etc/ssh/sshd_config
|
||||
%end
|
||||
|
||||
%packages
|
||||
@^graphical-server-environment
|
||||
@container-management
|
||||
@development
|
||||
@graphical-admin-tools
|
||||
@headless-management
|
||||
@infiniband
|
||||
@legacy-unix
|
||||
@network-file-system-client
|
||||
@performance
|
||||
@remote-desktop-clients
|
||||
@remote-system-management
|
||||
@rpm-development-tools
|
||||
@system-tools
|
||||
@web-server
|
||||
%end
|
||||
|
||||
%addon com_redhat_kdump --disable --reserve-mb='auto'
|
||||
%end
|
||||
|
||||
%anaconda
|
||||
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
|
||||
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
|
||||
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
|
||||
%end
|
||||
41
share/pxeboot/kickstart/r8_min.conf
Executable file
41
share/pxeboot/kickstart/r8_min.conf
Executable file
@@ -0,0 +1,41 @@
|
||||
#version=RHEL8
|
||||
# Use graphical install
|
||||
graphical
|
||||
|
||||
url --url="http://ipaddress/redhat/r8"
|
||||
|
||||
lang en_US.UTF-8
|
||||
keyboard --xlayouts='us'
|
||||
firstboot --enable
|
||||
selinux --disabled
|
||||
timezone Asia/Shanghai --isUtc --nontp
|
||||
skipx
|
||||
|
||||
zerombr
|
||||
bootloader --location=mbr
|
||||
clearpart --all --initlabel
|
||||
part /boot --fstype="ext4" --size=1024
|
||||
part swap --fstype="swap" --size=4096
|
||||
part / --fstype="xfs" --grow
|
||||
|
||||
rootpw --plaintext 123456
|
||||
reboot
|
||||
|
||||
%post --interpreter=/usr/bin/bash
|
||||
useradd admin
|
||||
echo 123456 | passwd --stdin admin
|
||||
sed -i 's/^#PermitRootLogin prohibit-password/PermitRootLogin yes/g' /etc/ssh/sshd_config
|
||||
%end
|
||||
|
||||
%packages
|
||||
@^minimal-environment
|
||||
%end
|
||||
|
||||
%addon com_redhat_kdump --disable --reserve-mb='auto'
|
||||
%end
|
||||
|
||||
%anaconda
|
||||
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
|
||||
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
|
||||
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
|
||||
%end
|
||||
BIN
share/pxeboot/libcom32.c32
Normal file
BIN
share/pxeboot/libcom32.c32
Normal file
Binary file not shown.
BIN
share/pxeboot/libutil.c32
Normal file
BIN
share/pxeboot/libutil.c32
Normal file
Binary file not shown.
Binary file not shown.
BIN
share/pxeboot/menu.c32
Normal file
BIN
share/pxeboot/menu.c32
Normal file
Binary file not shown.
0
share/pxeboot/BOOTX64.EFI → share/pxeboot/shimx64.efi
Executable file → Normal file
0
share/pxeboot/BOOTX64.EFI → share/pxeboot/shimx64.efi
Executable file → Normal file
BIN
share/pxeboot/vesamenu.c32
Normal file
BIN
share/pxeboot/vesamenu.c32
Normal file
Binary file not shown.
Reference in New Issue
Block a user