fedora.ipxe 2.4 KB

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