boot.ipxe.j2 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. #!ipxe
  2. :global_vars
  3. # set site name
  4. set site_name netboot.xyz
  5. # set boot domain
  6. set boot_domain boot.netboot.xyz
  7. # set location of memdisk
  8. set memdisk http://${boot_domain}/memdisk
  9. # signature check enabled?
  10. set sigs_enabled true
  11. # image signatures check enabled?
  12. set img_sigs_enabled true
  13. # set location of signatures for sources
  14. set sigs http://${boot_domain}/sigs/
  15. # set location of latest iPXE
  16. set ipxe_disk netboot.xyz-undionly.kpxe
  17. ##################
  18. # official mirrors
  19. ##################
  20. :mirrors
  21. ### Alpine Linux
  22. set alpinelinux_mirror dl-cdn.alpinelinux.org
  23. set alpinelinux_base_dir alpine
  24. ### ArchLinux
  25. set archlinux_mirror mirror.rackspace.com
  26. set archlinux_base_dir archlinux
  27. ### CentOS
  28. set centos_mirror mirror.centos.org
  29. set centos_base_dir centos
  30. ### Devuan
  31. set devuan_mirror auto.mirror.devuan.org
  32. set devuan_base_dir devuan
  33. ### Fedora
  34. set fedora_mirror mirrors.kernel.org
  35. set fedora_base_dir fedora
  36. ### Mageia
  37. set mageia_mirror mirrors.kernel.org
  38. set mageia_base_dir mageia
  39. ### OpenSUSE
  40. set opensuse_mirror download.opensuse.org
  41. set opensuse_base_dir distribution/leap
  42. ### Slackware
  43. set slackware_mirror mirror.rackspace.com
  44. set slackware_base_dir slackware
  45. ### Ubuntu
  46. set ubuntu_mirror archive.ubuntu.com
  47. set ubuntu_base_dir ubuntu
  48. #################################################
  49. # determine architectures and enable menu options
  50. #################################################
  51. :architectures
  52. set menu_linux 1
  53. set menu_bsd 1
  54. set menu_freedos 1
  55. set menu_live 1
  56. set menu_security 1
  57. set menu_windows 1
  58. set menu_utils 1
  59. iseq ${buildarch} i386 && goto x86_64 ||
  60. iseq ${buildarch} x86_64 && goto x86_64 ||
  61. iseq ${buildarch} arm64 && goto arm64 ||
  62. goto architectures_end
  63. :x86_64
  64. goto architectures_end
  65. :arm64
  66. set menu_freedos 0
  67. set menu_live 0
  68. set menu_security 0
  69. set menu_windows 0
  70. set menu_utils 0
  71. goto architectures_end
  72. :architectures_end
  73. goto clouds
  74. ###################################
  75. # set iPXE cloud provider specifics
  76. ###################################
  77. :clouds
  78. iseq ${ipxe_cloud_config} gce && goto gce ||
  79. iseq ${ipxe_cloud_config} packet && goto packet ||
  80. goto clouds_end
  81. :gce
  82. set console console=ttyS0,115200n8
  83. goto clouds_end
  84. :packet
  85. iseq ${buildarch} i386 && goto packet_x86_64 ||
  86. iseq ${buildarch} x86_64 && goto packet_x86_64 ||
  87. iseq ${buildarch} arm64 && goto packet_arm64 ||
  88. goto clouds_end
  89. :packet_x86_64
  90. set console console=ttyS1,115200n8
  91. set ipxe_disk netboot.xyz-packet.kpxe
  92. set menu_freedos 0
  93. set menu_windows 0
  94. set menu_utils 0
  95. goto clouds_end
  96. :packet_arm64
  97. set console console=ttyAMA0,115200
  98. set ipxe_disk netboot.xyz-packet-arm64.efi
  99. set menu_bsd 0
  100. set menu_freedos 0
  101. set menu_live 0
  102. set menu_security 0
  103. set menu_windows 0
  104. set menu_utils 0
  105. goto clouds_end
  106. :clouds_end
  107. goto end
  108. :end
  109. exit