1
0

centos.ipxe.j2 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. #!ipxe
  2. # CentOS Operating System
  3. # http://www.centos.org
  4. isset ${dhcp-server} && set ipparam ip=dhcp || set ipparam ip=${ip}::${gateway}:${netmask}:::none nameserver=${dns}
  5. set ipparam BOOTIF=${netX/mac} ${ipparam}
  6. goto ${menu} ||
  7. :centos
  8. clear osversion
  9. set os {{ releases.centos.name }}
  10. set os_arch ${arch}
  11. iseq ${os_arch} x86_64 && set os_arch x86_64 ||
  12. iseq ${os_arch} arm64 && set os_arch aarch64 ||
  13. menu ${os} - ${os_arch}
  14. {% for item in releases.centos.versions %}
  15. item {{ item.code_name }} ${space} ${os} {{ item.name }}
  16. {% endfor %}
  17. isset ${osversion} || choose osversion || goto linux_menu
  18. echo ${cls}
  19. set dir ${centos_base_dir}/${osversion}/BaseOS/${os_arch}/os
  20. iseq ${osversion} 7 && set dir ${centos_base_dir}/${osversion}/os/${os_arch} ||
  21. set repo ${centos_mirror}/${dir}
  22. goto boottype
  23. :boottype
  24. set ova ${os} ${osversion}
  25. menu ${os} ${os_arch} boot type
  26. item graphical ${ova} graphical installer
  27. item text ${ova} text based installer
  28. item rescue ${ova} rescue
  29. item kickstart ${ova} set kickstart url [ ${ksurl} ]
  30. item kickstart_device ${ova} set ksdevice [ ${ksdevice} ]
  31. isset ${bt} || choose bt || goto centos
  32. echo ${cls}
  33. iseq ${bt} text && goto text ||
  34. iseq ${bt} rescue && goto rescue ||
  35. iseq ${bt} kickstart && goto kickstart ||
  36. iseq ${bt} kickstart_device && goto kickstart_device ||
  37. goto bootos_images
  38. :text
  39. set params text ||
  40. goto bootos_images
  41. :rescue
  42. set params rescue ||
  43. goto bootos_images
  44. :kickstart
  45. echo -n Specify kickstart URL for ${os} ${osversion}: && read ksurl
  46. set params inst.ks=${ksurl} ||
  47. clear bt
  48. goto boottype
  49. :kickstart_device
  50. echo -n Specify ksdevice param for ${os} ${osversion}: && read ksdevice
  51. set ksdevice ${ksdevice} ||
  52. clear bt
  53. goto boottype
  54. :bootos_images
  55. imgfree
  56. iseq ${osversion} 9-stream && set centos_mirror http://mirror.stream.centos.org ||
  57. iseq ${osversion} 9-stream && set dir ${osversion}/BaseOS/${os_arch}/os ||
  58. iseq ${osversion} 9-stream && set repo ${centos_mirror}/${dir} ||
  59. kernel ${centos_mirror}/${dir}/images/pxeboot/vmlinuz inst.repo=${repo} ${params} ${ipparam} {{ kernel_params }}
  60. initrd ${centos_mirror}/${dir}/images/pxeboot/initrd.img
  61. echo
  62. echo MD5sums:
  63. md5sum vmlinuz initrd.img
  64. boot
  65. goto linux_menu
  66. :linux_menu
  67. clear menu
  68. exit 0