123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- #!ipxe
- # Arch Linux Operating System
- # http://www.archlinux.org
- isset ${dhcp-server} || goto static_ip
- set ipparam BOOTIF=${netX/mac} ip=dhcp
- set os_arch ${arch}
- iseq ${os_arch} x86_64 && set os_arch x86_64 ||
- iseq ${os_arch} i386 && set os_arch i686 ||
- iseq ${os_arch} i686 && set archlinux_mirror {{ releases.archlinux_32.mirror }} ||
- iseq ${os_arch} i686 && set archlinux_base_dir {{ releases.archlinux_32.base_dir }} ||
- set real_archlinux_mirror ${archlinux_mirror}
- goto goto_menu
- :static_ip
- # Arch Linux cannot use DNS if booted with a static IP
- # See https://bugs.archlinux.org/task/63174
- # Remove this hack when the above bug is properly resolved
- nslookup real_archlinux_mirror ${archlinux_mirror}
- set ipparam BOOTIF=${netX/mac} ip=${ip}::${gateway}:${netmask}
- :goto_menu
- goto ${menu} ||
- :archlinux
- set os {{ releases.archlinux_64.name }}
- clear arch_version
- menu ${os} - ${arch}
- item --gap Latest Releases
- {% for item in releases.archlinux_64.versions %}
- iseq ${os_arch} x86_64 && item {{ item.code_name }} ${space} ${os} {{ item.name }} ||
- {% endfor %}
- {% for item in releases.archlinux_32.versions %}
- iseq ${os_arch} i686 && item {{ item.code_name }} ${space} ${os} {{ item.name }} ||
- {% endfor %}
- choose arch_version || goto archlinux_exit
- goto boot
- :boot
- imgfree
- set dir ${archlinux_base_dir}/iso/${arch_version}/arch/boot
- 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 }}
- kernel http://${archlinux_mirror}/${dir}/${os_arch}/vmlinuz-linux ${params}
- initrd http://${archlinux_mirror}/${dir}/${os_arch}/initramfs-linux.img
- echo
- echo MD5sums:
- md5sum vmlinuz-linux initramfs-linux.img
- boot
- goto archlinux_exit
- :archlinux_exit
- clear menu
- exit 0
|