archlinux.ipxe.j2 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  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 os_arch ${arch}
  7. iseq ${os_arch} x86_64 && set os_arch x86_64 ||
  8. iseq ${os_arch} i386 && set os_arch i686 ||
  9. iseq ${os_arch} i686 && set archlinux_mirror {{ releases.archlinux_32.mirror }} ||
  10. iseq ${os_arch} i686 && set archlinux_base_dir {{ releases.archlinux_32.base_dir }} ||
  11. set real_archlinux_mirror ${archlinux_mirror}
  12. goto goto_menu
  13. :static_ip
  14. # Arch Linux cannot use DNS if booted with a static IP
  15. # See https://bugs.archlinux.org/task/63174
  16. # Remove this hack when the above bug is properly resolved
  17. nslookup real_archlinux_mirror ${archlinux_mirror}
  18. set ipparam BOOTIF=${netX/mac} ip=${ip}::${gateway}:${netmask}
  19. :goto_menu
  20. goto ${menu} ||
  21. :archlinux
  22. set os {{ releases.archlinux_64.name }}
  23. clear arch_version
  24. menu ${os} - ${arch}
  25. item --gap Latest Releases
  26. {% for item in releases.archlinux_64.versions %}
  27. iseq ${os_arch} x86_64 && item {{ item.code_name }} ${space} ${os} {{ item.name }} ||
  28. {% endfor %}
  29. {% for item in releases.archlinux_32.versions %}
  30. iseq ${os_arch} i686 && item {{ item.code_name }} ${space} ${os} {{ item.name }} ||
  31. {% endfor %}
  32. choose arch_version || goto archlinux_exit
  33. goto boot
  34. :boot
  35. imgfree
  36. set dir ${archlinux_base_dir}/iso/${arch_version}/arch/boot
  37. set params archiso_http_srv=http://${real_archlinux_mirror}/${archlinux_base_dir}/iso/${arch_version}/ archisobasedir=arch verify=y ${ipparam} net.ifnames=0 ${cmdline} {{ kernel_params }}
  38. kernel http://${archlinux_mirror}/${dir}/${os_arch}/vmlinuz-linux ${params}
  39. initrd http://${archlinux_mirror}/${dir}/${os_arch}/initramfs-linux.img
  40. echo
  41. echo MD5sums:
  42. md5sum vmlinuz-linux initramfs-linux.img
  43. boot
  44. goto archlinux_exit
  45. :archlinux_exit
  46. clear menu
  47. exit 0