archlinux.ipxe.j2 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  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 ${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}
  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=initramfs-linux.img archiso_http_srv=http://${real_archlinux_mirror}/${archlinux_base_dir}/iso/${arch_version}/ archisobasedir=arch verify=y ${ipparam} net.ifnames=0 ${cmdline}
  30. kernel http://${archlinux_mirror}/${dir}/x86_64/vmlinuz-linux ${params} {{ kernel_params }}
  31. initrd http://${archlinux_mirror}/${dir}/x86_64/initramfs-linux.img
  32. echo
  33. echo MD5sums:
  34. md5sum vmlinuz-linux initramfs-linux.img
  35. boot
  36. goto archlinux_exit
  37. :archlinux_exit
  38. clear menu
  39. exit 0