fedora.ipxe.j2 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. #!ipxe
  2. # Fedora Operating System
  3. # https://getfedora.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. :fedora
  8. clear osversion
  9. clear sku_type
  10. clear ova
  11. set os Fedora
  12. menu Fedora - ${arch} - Image Sig Checks: [${img_sigs_enabled}]
  13. item --gap Latest Releases
  14. {% for item in releases.fedora.versions %}
  15. item {{ item.name }} ${space} ${os} {{ item.name }}
  16. {% endfor %}
  17. iseq ${arch} x86_64 && item rawhide ${space} ${os} rawhide ||
  18. isset ${osversion} || choose osversion || goto linux_menu
  19. set ova ${os} ${osversion}
  20. goto product_sku
  21. :product_sku
  22. menu ${os} ${arch} sku type
  23. item Everything ${ova} Everything
  24. item Server ${ova} Server
  25. item Workstation ${ova} Workstation
  26. item Atomic ${ova} Atomic
  27. iseq ${arch} x86_64 && item Silverblue ${ova} Silverblue ||
  28. isset ${sku_type} || choose sku_type || goto fedora
  29. set dir ${fedora_base_dir}/releases/${osversion}/${sku_type}/${arch}/os
  30. iseq ${osversion} rawhide && set dir ${fedora_base_dir}/development/${osversion}/${sku_type}/${arch}/os ||
  31. iseq ${sku_type} Atomic && iseq ${osversion} 29 && set dir fedora-alt/atomic/stable/Fedora-Atomic-29-20181025.1/AtomicHost/x86_64/os ||
  32. set ova ${ova} ${sku_type}
  33. echo ${cls}
  34. goto boottype
  35. :boottype
  36. menu ${os} ${arch} boot type
  37. item normal ${ova} install
  38. item rescue ${ova} rescue
  39. item kickstart ${ova} specify kickstart url
  40. isset ${bt} || choose bt || goto fedora
  41. echo ${cls}
  42. iseq ${bt} rescue && goto rescue ||
  43. iseq ${bt} kickstart && goto kickstart ||
  44. goto boot
  45. :rescue
  46. set params rescue ||
  47. goto boot
  48. :kickstart
  49. echo -n Specify kickstart URL for ${os} ${osversion}: && read ksurl
  50. set params ks=${ksurl} ||
  51. goto boot
  52. :boot
  53. imgfree
  54. kernel http://${fedora_mirror}/${dir}/images/pxeboot/vmlinuz repo=http://${fedora_mirror}/${dir} ${params} ${console} ${ipparam} initrd=initrd.img
  55. initrd http://${fedora_mirror}/${dir}/images/pxeboot/initrd.img
  56. echo
  57. echo MD5sums:
  58. md5sum vmlinuz initrd.img
  59. iseq ${osversion} rawhide && goto skip_sigs ||
  60. iseq ${img_sigs_enabled} true && goto verify_sigs || goto skip_sigs
  61. :verify_sigs
  62. echo
  63. echo Checking signatures...
  64. imgverify vmlinuz ${sigs}${dir}/images/pxeboot/vmlinuz.sig || goto error
  65. imgverify initrd.img ${sigs}${dir}/images/pxeboot/initrd.img.sig || goto error
  66. echo Signatures verified!
  67. echo
  68. :skip_sigs
  69. boot
  70. goto linux_menu
  71. :linux_menu
  72. clear menu
  73. exit 0