#!ipxe # CentOS Operating System # http://www.centos.org isset ${dhcp-server} && set ipparam ip=dhcp || set ipparam ip=${ip}::${gateway}:${netmask}:::none nameserver=${dns} set ipparam BOOTIF=${netX/mac} ${ipparam} goto ${menu} || :centos clear osversion set os {{ releases.centos.name }} menu ${os} - ${arch} - Image Sig Checks: [${img_sigs_enabled}] {% for item in releases.centos.versions %} item {{ item.code_name }} ${space} ${os} {{ item.name }} {% endfor %} isset ${osversion} || choose osversion || goto linux_menu echo ${cls} set dir {{ releases.centos.base_dir }}/${osversion}/BaseOS/${arch}/os iseq ${osversion} 7.7.1908 && set dir {{ releases.centos.base_dir }}/${osversion}/os/${arch} || set repo {{ releases.centos.mirror }}/{{ releases.centos.base_dir }} goto boottype :boottype set ova ${os} ${osversion} menu ${os} ${arch} boot type item graphical ${ova} graphical installer item text ${ova} text based installer item rescue ${ova} rescue item kickstart ${ova} set kickstart url [ ${ksurl} ] item kickstart_device ${ova} set ksdevice [ ${ksdevice} ] isset ${bt} || choose bt || goto centos echo ${cls} iseq ${bt} text && goto text || iseq ${bt} rescue && goto rescue || iseq ${bt} kickstart && goto kickstart || iseq ${bt} kickstart_device && goto kickstart_device || goto bootos_images :text set params text || goto bootos_images :rescue set params rescue || goto bootos_images :kickstart echo -n Specify kickstart URL for ${os} ${osversion}: && read ksurl set params ks=${ksurl} || clear bt goto boottype :kickstart_device echo -n Specify ksdevice param for ${os} ${osversion}: && read ksdevice set ksdevice ${ksdevice} || clear bt goto boottype :bootos_images imgfree kernel {{ releases.centos.mirror }}/${dir}/images/pxeboot/vmlinuz repo=${repo} ${params} ${console} ${ipparam} initrd=initrd.img initrd {{ releases.centos.mirror }}/${dir}/images/pxeboot/initrd.img echo echo MD5sums: md5sum vmlinuz initrd.img iseq ${osversion} 8-stream && echo Rolling release, skipping sig checks && goto skip_sigs || iseq ${img_sigs_enabled} true && goto verify_sigs || goto skip_sigs :verify_sigs echo echo Checking signatures... imgverify vmlinuz ${sigs}${dir}/images/pxeboot/vmlinuz.sig || goto error imgverify initrd.img ${sigs}${dir}/images/pxeboot/initrd.img.sig || goto error echo Signatures verified! echo :skip_sigs boot goto linux_menu :linux_menu clear menu exit 0