summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--releng/views.py1
-rw-r--r--templates/releng/archlinux.ipxe34
2 files changed, 20 insertions, 15 deletions
diff --git a/releng/views.py b/releng/views.py
index 793249fc..03ea8a86 100644
--- a/releng/views.py
+++ b/releng/views.py
@@ -293,6 +293,7 @@ def netboot_config(request):
mirrorurls = sorted( mirrorurls,
key=lambda x: x.country.name)
context = {
+ 'archs': [ 'i686', 'x86_64' ],
'releases': releases,
'mirrorurls': mirrorurls,
}
diff --git a/templates/releng/archlinux.ipxe b/templates/releng/archlinux.ipxe
index 3a7ba973..176cd977 100644
--- a/templates/releng/archlinux.ipxe
+++ b/templates/releng/archlinux.ipxe
@@ -8,6 +8,7 @@ cpuid --ext 29 && set cpuarch x86_64 || set cpuarch i686
imgtrust
# initial options
+set bootarch ${cpuarch}
set release {{ releases.0 }}
set extrabootoptions ip=dhcp net.ifnames=0
set countrycode
@@ -15,7 +16,7 @@ set countrycode
:main
menu {{ BRANDING_DISTRONAME }} Netboot
item --gap Settings
-item --gap Architecture: x86_64
+item set_architecture Architecture: ${bootarch}
item set_release Release: ${release}
isset ${mirrorurl} && item set_mirror Mirror: ${mirrorurl} || item set_mirror Choose a mirror
item set_options Boot options: ${extrabootoptions}
@@ -27,15 +28,6 @@ item exit Exit iPXE
isset ${mirrorurl} && choose --default set_options selected || choose --default set_mirror selected || goto shell
goto ${selected} || goto main
-:main_i686
-menu {{ BRANDING_DISTRONAME }} Netboot
-item --gap ERROR: i686 is no longer supported!
-item shell Drop to iPXE shell
-item reboot Reboot
-item exit Exit iPXE
-choose --default shell selected || goto shell
-goto ${selected} || goto main
-
:shell
echo Type 'exit' to get the back to the menu
shell
@@ -47,6 +39,18 @@ reboot
:exit
exit
+:set_architecture
+menu {{ BRANDING_DISTRONAME }} Netboot: Select Architecture
+item back back
+item
+item --gap Available architectures:
+iseq ${cpuarch} x86_64 && item x86_64 x64_64 ||
+item i686 i686
+choose selected || goto main
+iseq ${selected} back && goto main ||
+set bootarch ${selected}
+goto main
+
:set_release
menu {{ BRANDING_DISTRONAME }} Netboot: Select Release
item back back
@@ -119,14 +123,14 @@ echo -n Boot options: ${} && read extrabootoptions ||
goto main
:boot
-echo Booting {{ BRANDING_DISTRONAME }} x86_64 ${release} from ${mirrorurl}
+echo Booting {{ BRANDING_DISTRONAME }} ${bootarch} ${release} from ${mirrorurl}
echo
-kernel ${mirrorurl}iso/${release}/arch/boot/x86_64/vmlinuz || goto failed_download
-imgverify vmlinuz ${mirrorurl}iso/${release}/arch/boot/x86_64/vmlinuz.ipxe.sig || goto failed_verify
+kernel ${mirrorurl}iso/${release}/arch/boot/${bootarch}/vmlinuz || goto failed_download
+imgverify vmlinuz ${mirrorurl}iso/${release}/arch/boot/${bootarch}/vmlinuz.ipxe.sig || goto failed_verify
initrd ${mirrorurl}iso/${release}/arch/boot/intel_ucode.img || goto failed_download
imgverify intel_ucode.img ${mirrorurl}iso/${release}/arch/boot/intel_ucode.img.ipxe.sig || goto failed_verify
-initrd ${mirrorurl}iso/${release}/arch/boot/x86_64/archiso.img || goto failed_download
-imgverify archiso.img ${mirrorurl}iso/${release}/arch/boot/x86_64/archiso.img.ipxe.sig || goto failed_verify
+initrd ${mirrorurl}iso/${release}/arch/boot/${bootarch}/archiso.img || goto failed_download
+imgverify archiso.img ${mirrorurl}iso/${release}/arch/boot/${bootarch}/archiso.img.ipxe.sig || goto failed_verify
imgargs vmlinuz initrd=intel_ucode.img initrd=archiso.img archiso_http_srv=${mirrorurl}iso/${release}/ archisobasedir=arch verify=y ${extrabootoptions}
boot || goto failed_boot