archlinux.ipxe.j2 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #!ipxe
  2. # Arch Linux Operating System
  3. # http://www.archlinux.org
  4. isset ${dhcp-server} || goto static_ip
  5. set ipparam BOOTIF=${netX/mac} ip=dhcp
  6. set real_archlinux_mirror http://${archlinux_mirror}
  7. goto goto_menu
  8. :static_ip
  9. # Arch Linux cannot use DNS if booted with a static IP
  10. # See https://bugs.archlinux.org/task/63174
  11. # Remove this hack when the above bug is properly resolved
  12. nslookup real_archlinux_mirror ${archlinux_mirror}
  13. set ipparam BOOTIF=${netX/mac} ip=${ip}::${gateway}:${netmask}
  14. :goto_menu
  15. goto ${menu} ||
  16. :archlinux
  17. set os {{ releases.archlinux.name }}
  18. clear arch_version
  19. menu ${os} - ${arch} - Image Sig Checks: [${img_sigs_enabled}]
  20. item --gap Latest Releases
  21. {% for item in releases.archlinux.versions %}
  22. item {{ item.code_name }} ${space} ${os} {{ item.name }}
  23. {% endfor %}
  24. choose arch_version || goto archlinux_exit
  25. goto boot
  26. :boot
  27. imgfree
  28. set dir ${archlinux_base_dir}/iso/${arch_version}/arch/boot
  29. set params initrd=archiso.img archiso_http_srv=http://${real_archlinux_mirror}/${archlinux_base_dir}/iso/${arch_version}/ archisobasedir=arch verify=y ${ipparam} net.ifnames=0 ${console}
  30. kernel http://${archlinux_mirror}/${dir}/x86_64/vmlinuz ${params} initrd=archiso.img
  31. initrd http://${archlinux_mirror}/${dir}/x86_64/archiso.img
  32. echo
  33. echo MD5sums:
  34. md5sum vmlinuz archiso.img
  35. iseq ${img_sigs_enabled} true && goto verify_sigs || goto skip_sigs
  36. :verify_sigs
  37. echo
  38. echo Checking signatures...
  39. imgverify vmlinuz ${sigs}${dir}/x86_64/vmlinuz.sig || goto error
  40. imgverify archiso.img ${sigs}${dir}/x86_64/archiso.img.sig || goto error
  41. echo Signatures verified!
  42. echo
  43. :skip_sigs
  44. boot
  45. goto archlinux_exit
  46. :archlinux_exit
  47. clear menu
  48. exit 0