· 7 years ago · May 06, 2018, 01:00 AM
1#!ipxe
2
3
4# Figure out if client is 64-bit capable
5cpuid --ext 29 && set cpuarch x86_64 || set cpuarch i686
6
7# allow only trusted images
8imgtrust
9
10# initial options
11set release 2018.05.01
12set extrabootoptions ip=dhcp net.ifnames=0 BOOTIF=01-${netX/mac}
13set countrycode
14
15:main
16iseq ${cpuarch} x86_64 && goto main_x86_64 || goto main_i686
17
18:main_x86_64
19menu Arch Linux Netboot
20item --gap Settings
21item --gap Architecture: x86_64
22item set_release Release: ${release}
23isset ${mirrorurl} && item set_mirror Mirror: ${mirrorurl} || item set_mirror Choose a mirror
24item set_options Boot options: ${extrabootoptions}
25item
26isset ${mirrorurl} && item boot Boot Arch Linux || item --gap Boot Arch Linux
27item shell Drop to iPXE shell
28item reboot Reboot
29item exit Exit iPXE
30isset ${mirrorurl} && choose --default set_options selected || choose --default set_mirror selected || goto shell
31goto ${selected} || goto main
32
33:main_i686
34menu Arch Linux Netboot
35item --gap ERROR: i686 is no longer supported!
36item shell Drop to iPXE shell
37item reboot Reboot
38item exit Exit iPXE
39choose --default shell selected || goto shell
40goto ${selected} || goto main
41
42:shell
43echo Type 'exit' to get the back to the menu
44shell
45goto main
46
47:reboot
48reboot
49
50:exit
51exit
52
53:set_release
54menu Arch Linux Netboot: Select Release
55item back back
56item
57item --gap Available releases:
58item 2018.05.01 2018.05.01
59item 2018.04.01 2018.04.01
60item 2018.03.01 2018.03.01
61
62choose selected || goto main
63iseq ${selected} back && goto main ||
64set release ${selected}
65goto main
66
67:set_mirror
68goto select_mirror_country
69
70:select_mirror_country
71menu Arch Linux Netboot: Select Mirror
72item back back
73item
74item --gap Custom Configuration:
75item custom Enter mirror URL
76item
77item --gap Select Mirror By Country:
78
79
80item 00 Global
81
82
83
84item AU Australia
85
86
87
88item AT Austria
89
90
91
92item BD Bangladesh
93
94
95
96item BY Belarus
97
98
99
100item BE Belgium
101
102
103
104item BA Bosnia and Herzegovina
105
106
107
108item BR Brazil
109
110
111
112item BG Bulgaria
113
114
115
116item CA Canada
117
118
119
120item CL Chile
121
122
123
124item CN China
125
126
127
128item CO Colombia
129
130
131
132item HR Croatia
133
134
135
136item CZ Czechia
137
138
139
140item DK Denmark
141
142
143
144item EC Ecuador
145
146
147
148item FI Finland
149
150
151
152item FR France
153
154
155
156item DE Germany
157
158
159
160item GR Greece
161
162
163
164item HK Hong Kong
165
166
167
168item HU Hungary
169
170
171
172item IS Iceland
173
174
175
176item IN India
177
178
179
180item ID Indonesia
181
182
183
184item IR Iran
185
186
187
188item IE Ireland
189
190
191
192item IL Israel
193
194
195
196item IT Italy
197
198
199
200item JP Japan
201
202
203
204item KZ Kazakhstan
205
206
207
208item LV Latvia
209
210
211
212item LT Lithuania
213
214
215
216item LU Luxembourg
217
218
219
220item MK Macedonia
221
222
223
224item NL Netherlands
225
226
227
228item NC New Caledonia
229
230
231
232item NZ New Zealand
233
234
235
236item NO Norway
237
238
239
240item PH Philippines
241
242
243
244item PL Poland
245
246
247
248item PT Portugal
249
250
251
252item QA Qatar
253
254
255
256item RO Romania
257
258
259
260item RU Russia
261
262
263
264item RS Serbia
265
266
267
268item SC Seychelles
269
270
271
272item SG Singapore
273
274
275
276item SK Slovakia
277
278
279
280item SI Slovenia
281
282
283
284item ZA South Africa
285
286
287
288item KR South Korea
289
290
291
292item ES Spain
293
294
295
296item SE Sweden
297
298
299
300item CH Switzerland
301
302
303
304item TW Taiwan
305
306
307
308item TH Thailand
309
310
311
312item TR Turkey
313
314
315
316item UA Ukraine
317
318
319
320item GB United Kingdom
321
322
323
324item US United States
325
326
327
328item VN Vietnam
329
330
331isset ${countrycode} && choose --default ${countrycode} selected || choose selected || goto main
332iseq ${selected} back && goto main ||
333iseq ${selected} custom && goto enter_mirror_url ||
334set countrycode ${selected}
335goto select_mirror_url
336
337:enter_mirror_url
338set countrycode
339echo Enter the mirror URL including the trailing slash.
340echo Example: http://some.host/archlinux/
341echo
342echo -n Mirror URL: ${} && read mirrorurl || goto select_mirror_country
343goto main
344
345:select_mirror_url
346goto select_mirror_url_${countrycode} || goto select_mirror_country
347
348
349
350:select_mirror_url_00
351set countryname Global
352
353menu Arch Linux Netboot: Select Mirror
354item back back
355item
356item --gap Available mirrors in ${countryname}
357item http://mirrors.evowise.com/archlinux/ evowise.com
358item http://mirror.rackspace.com/archlinux/ rackspace.com
359
360choose selected || goto select_mirror_country
361iseq ${selected} back && goto select_mirror_country ||
362set mirrorurl ${selected}
363goto main
364
365
366:select_mirror_url_AU
367set countryname Australia
368
369menu Arch Linux Netboot: Select Mirror
370item back back
371item
372item --gap Available mirrors in ${countryname}
373item http://archlinux.mirror.digitalpacific.com.au/ digitalpacific.com.au
374item http://ftp.iinet.net.au/pub/archlinux/ iinet.net.au
375item http://mirror.internode.on.net/pub/archlinux/ internode.on.net
376item http://archlinux.melbourneitmirror.net/ melbourneitmirror.net
377item http://ftp.swin.edu.au/archlinux/ swin.edu.au
378
379choose selected || goto select_mirror_country
380iseq ${selected} back && goto select_mirror_country ||
381set mirrorurl ${selected}
382goto main
383
384
385:select_mirror_url_AT
386set countryname Austria
387
388menu Arch Linux Netboot: Select Mirror
389item back back
390item
391item --gap Available mirrors in ${countryname}
392item http://mirror.digitalnova.at/archlinux/ digitalnova.at
393item http://mirror.easyname.at/archlinux/ easyname.at
394item http://mirror1.htu.tugraz.at/archlinux/ htu.tugraz.at
395item http://mirror.reisenbauer.ee/archlinux/ reisenbauer.ee
396
397choose selected || goto select_mirror_country
398iseq ${selected} back && goto select_mirror_country ||
399set mirrorurl ${selected}
400goto main
401
402
403:select_mirror_url_BD
404set countryname Bangladesh
405
406menu Arch Linux Netboot: Select Mirror
407item back back
408item
409item --gap Available mirrors in ${countryname}
410item http://mirror.xeonbd.com/archlinux/ xeonbd.com
411
412choose selected || goto select_mirror_country
413iseq ${selected} back && goto select_mirror_country ||
414set mirrorurl ${selected}
415goto main
416
417
418:select_mirror_url_BY
419set countryname Belarus
420
421menu Arch Linux Netboot: Select Mirror
422item back back
423item
424item --gap Available mirrors in ${countryname}
425item http://ftp.byfly.by/pub/archlinux/ byfly.by
426item http://mirror.datacenter.by/pub/archlinux/ datacenter.by
427
428choose selected || goto select_mirror_country
429iseq ${selected} back && goto select_mirror_country ||
430set mirrorurl ${selected}
431goto main
432
433
434:select_mirror_url_BE
435set countryname Belgium
436
437menu Arch Linux Netboot: Select Mirror
438item back back
439item
440item --gap Available mirrors in ${countryname}
441item http://archlinux.cu.be/ archlinux.cu.be
442item http://archlinux.mirror.kangaroot.net/ kangaroot.net
443
444choose selected || goto select_mirror_country
445iseq ${selected} back && goto select_mirror_country ||
446set mirrorurl ${selected}
447goto main
448
449
450:select_mirror_url_BA
451set countryname Bosnia and Herzegovina
452
453menu Arch Linux Netboot: Select Mirror
454item back back
455item
456item --gap Available mirrors in ${countryname}
457item http://burek.archlinux.ba/ global.net.ba
458item http://archlinux.mirror.ba/ mirror.ba
459
460choose selected || goto select_mirror_country
461iseq ${selected} back && goto select_mirror_country ||
462set mirrorurl ${selected}
463goto main
464
465
466:select_mirror_url_BR
467set countryname Brazil
468
469menu Arch Linux Netboot: Select Mirror
470item back back
471item
472item --gap Available mirrors in ${countryname}
473item http://br.mirror.archlinux-br.org/ archlinux-br.org
474item http://archlinux.c3sl.ufpr.br/ c3sl.ufpr.br
475item http://linorg.usp.br/archlinux/ linorg.usp.br
476item http://pet.inf.ufsc.br/mirrors/archlinux/ pet.inf.ufsc.br
477item http://archlinux.pop-es.rnp.br/ pop-es.rnp.br
478item http://mirror.ufam.edu.br/archlinux/ ufam.edu.br
479
480choose selected || goto select_mirror_country
481iseq ${selected} back && goto select_mirror_country ||
482set mirrorurl ${selected}
483goto main
484
485
486:select_mirror_url_BG
487set countryname Bulgaria
488
489menu Arch Linux Netboot: Select Mirror
490item back back
491item
492item --gap Available mirrors in ${countryname}
493item http://mirror.host.ag/archlinux/ host.ag
494item http://mirrors.uni-plovdiv.net/archlinux/ uni-plovdiv.net
495
496choose selected || goto select_mirror_country
497iseq ${selected} back && goto select_mirror_country ||
498set mirrorurl ${selected}
499goto main
500
501
502:select_mirror_url_CA
503set countryname Canada
504
505menu Arch Linux Netboot: Select Mirror
506item back back
507item
508item --gap Available mirrors in ${countryname}
509item http://mirror.cedille.club/archlinux/ cedille.club
510item http://archlinux.mirror.colo-serv.net/ colo-serv.net
511item http://mirror.csclub.uwaterloo.ca/archlinux/ csclub.uwaterloo.ca
512item http://mirror.its.dal.ca/archlinux/ its.dal.ca
513item http://muug.ca/mirror/archlinux/ muug.ca
514item http://archlinux.mirror.rafal.ca/ rafal.ca
515item http://mirror.sergal.org/archlinux/ sergal.org
516
517choose selected || goto select_mirror_country
518iseq ${selected} back && goto select_mirror_country ||
519set mirrorurl ${selected}
520goto main
521
522
523:select_mirror_url_CL
524set countryname Chile
525
526menu Arch Linux Netboot: Select Mirror
527item back back
528item
529item --gap Available mirrors in ${countryname}
530item http://mirror.archlinux.cl/ archlinux.cl
531
532choose selected || goto select_mirror_country
533iseq ${selected} back && goto select_mirror_country ||
534set mirrorurl ${selected}
535goto main
536
537
538:select_mirror_url_CN
539set countryname China
540
541menu Arch Linux Netboot: Select Mirror
542item back back
543item
544item --gap Available mirrors in ${countryname}
545item http://mirrors.163.com/archlinux/ 163.com
546item http://mirror.lzu.edu.cn/archlinux/ lzu.edu.cn
547item http://mirrors.neusoft.edu.cn/archlinux/ neusoft.edu.cn
548item http://mirrors.shu.edu.cn/archlinux/ shu.edu.cn
549item http://mirrors.tuna.tsinghua.edu.cn/archlinux/ tuna.tsinghua.edu.cn
550item http://mirrors.ustc.edu.cn/archlinux/ ustc.edu.cn
551item http://mirrors.xjtu.edu.cn/archlinux/ xjtu.edu.cn
552item http://mirrors.zju.edu.cn/archlinux/ zju.edu.cn
553
554choose selected || goto select_mirror_country
555iseq ${selected} back && goto select_mirror_country ||
556set mirrorurl ${selected}
557goto main
558
559
560:select_mirror_url_CO
561set countryname Colombia
562
563menu Arch Linux Netboot: Select Mirror
564item back back
565item
566item --gap Available mirrors in ${countryname}
567item http://mirror.upb.edu.co/archlinux/ upb.edu.co
568item http://mirror.venturasystems.tech/archlinux/ venturasystems.tech
569
570choose selected || goto select_mirror_country
571iseq ${selected} back && goto select_mirror_country ||
572set mirrorurl ${selected}
573goto main
574
575
576:select_mirror_url_HR
577set countryname Croatia
578
579menu Arch Linux Netboot: Select Mirror
580item back back
581item
582item --gap Available mirrors in ${countryname}
583item http://archlinux.iskon.hr/ iskon.hr
584
585choose selected || goto select_mirror_country
586iseq ${selected} back && goto select_mirror_country ||
587set mirrorurl ${selected}
588goto main
589
590
591:select_mirror_url_CZ
592set countryname Czechia
593
594menu Arch Linux Netboot: Select Mirror
595item back back
596item
597item --gap Available mirrors in ${countryname}
598item http://mirror.dkm.cz/archlinux/ dkm.cz
599item http://ftp.fi.muni.cz/pub/linux/arch/ fi.muni.cz
600item http://ftp.linux.cz/pub/linux/arch/ fi.muni.cz
601item http://gluttony.sin.cvut.cz/arch/ gluttony.sin.cvut.cz
602item http://mirrors.nic.cz/archlinux/ nic.cz
603item http://ftp.sh.cvut.cz/arch/ sh.cvut.cz
604item http://mirror.vpsfree.cz/archlinux/ vpsfree.cz
605
606choose selected || goto select_mirror_country
607iseq ${selected} back && goto select_mirror_country ||
608set mirrorurl ${selected}
609goto main
610
611
612:select_mirror_url_DK
613set countryname Denmark
614
615menu Arch Linux Netboot: Select Mirror
616item back back
617item
618item --gap Available mirrors in ${countryname}
619item http://mirrors.dotsrc.org/archlinux/ dotsrc.org
620item http://ftp.klid.dk/ftp/archlinux/ klid.dk
621item http://mirror.one.com/archlinux/ one.com
622
623choose selected || goto select_mirror_country
624iseq ${selected} back && goto select_mirror_country ||
625set mirrorurl ${selected}
626goto main
627
628
629:select_mirror_url_EC
630set countryname Ecuador
631
632menu Arch Linux Netboot: Select Mirror
633item back back
634item
635item --gap Available mirrors in ${countryname}
636item http://mirror.cedia.org.ec/archlinux/ cedia.org.ec
637item http://mirror.espoch.edu.ec/archlinux/ espoch.edu.ec
638item http://mirror.uta.edu.ec/archlinux/ uta.edu.ec
639
640choose selected || goto select_mirror_country
641iseq ${selected} back && goto select_mirror_country ||
642set mirrorurl ${selected}
643goto main
644
645
646:select_mirror_url_FI
647set countryname Finland
648
649menu Arch Linux Netboot: Select Mirror
650item back back
651item
652item --gap Available mirrors in ${countryname}
653item http://arch.mirror.far.fi/ far.fi
654
655choose selected || goto select_mirror_country
656iseq ${selected} back && goto select_mirror_country ||
657set mirrorurl ${selected}
658goto main
659
660
661:select_mirror_url_FR
662set countryname France
663
664menu Arch Linux Netboot: Select Mirror
665item back back
666item
667item --gap Available mirrors in ${countryname}
668item http://archlinux.de-labrusse.fr/ archlinux.de-labrusse.fr
669item http://mirror.archlinux.ikoula.com/archlinux/ archlinux.ikoula.com
670item http://archlinux.vi-di.fr/ archlinux.vi-di.fr
671item http://mirror.armbrust.me/archlinux/ armbrust.me
672item http://mirrors.arnoldthebat.co.uk/archlinux/ arnoldthebat.co.uk
673item http://archlinux.mirrors.benatherton.com/ benatherton.com
674item http://mirror.ibcp.fr/pub/archlinux/ ibcp.fr
675item http://mirror.lastmikoi.net/archlinux/ lastmikoi.net
676item http://archlinux.mailtunnel.eu/ mailtunnel.eu
677item http://mir.archlinux.fr/ mir.archlinux.fr
678item http://archlinux.mirrors.ovh.net/archlinux/ ovh.net
679item http://archlinux.mirror.pkern.at/ pkern.at
680item http://archlinux.polymorf.fr/ polymorf.fr
681item http://mirrors.standaloneinstaller.com/archlinux/ standaloneinstaller.com
682item http://arch.tamcore.eu/ tamcore.eu
683item http://ftp.u-strasbg.fr/linux/distributions/archlinux/ u-strasbg.fr
684item http://arch.yourlabs.org/ yourlabs.org
685
686choose selected || goto select_mirror_country
687iseq ${selected} back && goto select_mirror_country ||
688set mirrorurl ${selected}
689goto main
690
691
692:select_mirror_url_DE
693set countryname Germany
694
695menu Arch Linux Netboot: Select Mirror
696item back back
697item
698item --gap Available mirrors in ${countryname}
699item http://mirror.23media.de/archlinux/ 23media.de
700item http://artfiles.org/archlinux.org/ artfiles.org
701item http://arch.eckner.net/archlinux/ eckner.net
702item http://mirror.f4st.host/archlinux/ f4st.host
703item http://ftp.fau.de/archlinux/ fau.de
704item http://mirror.gnomus.de/ gnomus.de
705item http://www.gutscheindrache.com/mirror/archlinux/ gutscheindrache.com
706item http://ftp.gwdg.de/pub/linux/archlinux/ gwdg.de
707item http://mirror.hactar.xyz/ hactar.xyz
708item http://archlinux.honkgong.info/ honkgong.info
709item http://ftp.hosteurope.de/mirror/ftp.archlinux.org/ hosteurope.de
710item http://ftp-stud.hs-esslingen.de/pub/Mirrors/archlinux/ hs-esslingen.de
711item http://archlinux.mirror.iphh.net/ iphh.net
712item http://repo.itmettke.de/archlinux/ itmettke.de
713item http://arch.jensgutermuth.de/ jensgutermuth.de
714item http://k42.ch/mirror/archlinux/ k42.ch
715item http://mirror.fra10.de.leaseweb.net/archlinux/ leaseweb.net
716item http://mirror.metalgamer.eu/archlinux/ metalgamer.eu
717item http://mirror.michael-eckert.net/archlinux/ michael-eckert.net
718item http://mirrors.n-ix.net/archlinux/ n-ix.net
719item http://mirror.netcologne.de/archlinux/ netcologne.de
720item http://mirrors.niyawe.de/archlinux/ niyawe.de
721item http://archlinux.nullpointer.io/ nullpointer.io
722item http://mirror.pseudoform.org/ pseudoform.org
723item http://ftp.halifax.rwth-aachen.de/archlinux/ rwth-aachen.de
724item http://linux.rz.rub.de/archlinux/ rz.rub.de
725item http://mirror.selfnet.de/archlinux/ selfnet.de
726item http://ftp.spline.inf.fu-berlin.de/mirrors/archlinux/ spline.inf.fu-berlin.de
727item http://archlinux.thaller.ws/ thaller.ws
728item http://archlinux.thelinuxnetworx.rocks/ thelinuxnetworx.rocks
729item http://mirror.thomaskilian.net/archlinux/ thomaskilian.net
730item http://ftp.tu-chemnitz.de/pub/linux/archlinux/ tu-chemnitz.de
731item http://mirror.ubrco.de/archlinux/ ubrco.de
732item http://ftp.uni-bayreuth.de/linux/archlinux/ uni-bayreuth.de
733item http://ftp.uni-hannover.de/archlinux/ uni-hannover.de
734item http://ftp.uni-kl.de/pub/linux/archlinux/ uni-kl.de
735item http://mirror.united-gameserver.de/archlinux/ united-gameserver.de
736item http://ftp.wrz.de/pub/archlinux/ wrz.de
737item http://archlinux.eu.mirror.zoidplex.net/ zoidplex.net
738
739choose selected || goto select_mirror_country
740iseq ${selected} back && goto select_mirror_country ||
741set mirrorurl ${selected}
742goto main
743
744
745:select_mirror_url_GR
746set countryname Greece
747
748menu Arch Linux Netboot: Select Mirror
749item back back
750item
751item --gap Available mirrors in ${countryname}
752item http://ftp.cc.uoc.gr/mirrors/linux/archlinux/ cc.uoc.gr
753item http://foss.aueb.gr/mirrors/linux/archlinux/ foss.aueb.gr
754item http://mirrors.myaegean.gr/linux/archlinux/ myaegean.gr
755item http://ftp.ntua.gr/pub/linux/archlinux/ ntua.gr
756item http://ftp.otenet.gr/linux/archlinux/ otenet.gr
757
758choose selected || goto select_mirror_country
759iseq ${selected} back && goto select_mirror_country ||
760set mirrorurl ${selected}
761goto main
762
763
764:select_mirror_url_HK
765set countryname Hong Kong
766
767menu Arch Linux Netboot: Select Mirror
768item back back
769item
770item --gap Available mirrors in ${countryname}
771item http://mirrors.kurnode.com/archlinux/ kurnode.com
772item http://mirror.xtom.com.hk/archlinux/ xtom.com.hk
773
774choose selected || goto select_mirror_country
775iseq ${selected} back && goto select_mirror_country ||
776set mirrorurl ${selected}
777goto main
778
779
780:select_mirror_url_HU
781set countryname Hungary
782
783menu Arch Linux Netboot: Select Mirror
784item back back
785item
786item --gap Available mirrors in ${countryname}
787item http://ftp.energia.mta.hu/pub/mirrors/ftp.archlinux.org/ energia.mta.hu
788item http://arch.mthq.org/mirror/ mthq.org
789
790choose selected || goto select_mirror_country
791iseq ${selected} back && goto select_mirror_country ||
792set mirrorurl ${selected}
793goto main
794
795
796:select_mirror_url_IS
797set countryname Iceland
798
799menu Arch Linux Netboot: Select Mirror
800item back back
801item
802item --gap Available mirrors in ${countryname}
803item http://mirror.system.is/arch/ system.is
804
805choose selected || goto select_mirror_country
806iseq ${selected} back && goto select_mirror_country ||
807set mirrorurl ${selected}
808goto main
809
810
811:select_mirror_url_IN
812set countryname India
813
814menu Arch Linux Netboot: Select Mirror
815item back back
816item
817item --gap Available mirrors in ${countryname}
818item http://mirror.cse.iitk.ac.in/archlinux/ cse.iitk.ac.in
819item http://ftp.iitm.ac.in/archlinux/ iitm.ac.in
820
821choose selected || goto select_mirror_country
822iseq ${selected} back && goto select_mirror_country ||
823set mirrorurl ${selected}
824goto main
825
826
827:select_mirror_url_ID
828set countryname Indonesia
829
830menu Arch Linux Netboot: Select Mirror
831item back back
832item
833item --gap Available mirrors in ${countryname}
834item http://mirror.poliwangi.ac.id/archlinux/ poliwangi.ac.id
835item http://suro.ubaya.ac.id/archlinux/ suro.ubaya.ac.id
836
837choose selected || goto select_mirror_country
838iseq ${selected} back && goto select_mirror_country ||
839set mirrorurl ${selected}
840goto main
841
842
843:select_mirror_url_IR
844set countryname Iran
845
846menu Arch Linux Netboot: Select Mirror
847item back back
848item
849item --gap Available mirrors in ${countryname}
850item http://repo.iut.ac.ir/repo/archlinux/ iut.ac.ir
851item http://linuxmirrors.ir/pub/archlinux/ linuxmirrors.ir
852item http://repo.sadjad.ac.ir/arch/ sadjad.ac.ir
853
854choose selected || goto select_mirror_country
855iseq ${selected} back && goto select_mirror_country ||
856set mirrorurl ${selected}
857goto main
858
859
860:select_mirror_url_IE
861set countryname Ireland
862
863menu Arch Linux Netboot: Select Mirror
864item back back
865item
866item --gap Available mirrors in ${countryname}
867item http://ftp.heanet.ie/mirrors/ftp.archlinux.org/ heanet.ie
868
869choose selected || goto select_mirror_country
870iseq ${selected} back && goto select_mirror_country ||
871set mirrorurl ${selected}
872goto main
873
874
875:select_mirror_url_IL
876set countryname Israel
877
878menu Arch Linux Netboot: Select Mirror
879item back back
880item
881item --gap Available mirrors in ${countryname}
882item http://mirror.isoc.org.il/pub/archlinux/ isoc.org.il
883
884choose selected || goto select_mirror_country
885iseq ${selected} back && goto select_mirror_country ||
886set mirrorurl ${selected}
887goto main
888
889
890:select_mirror_url_IT
891set countryname Italy
892
893menu Arch Linux Netboot: Select Mirror
894item back back
895item
896item --gap Available mirrors in ${countryname}
897item http://mi.mirror.garr.it/mirrors/archlinux/ garr.it
898item http://mirrors.prometeus.net/archlinux/ prometeus.net
899item http://archlinux.students.cs.unibo.it/ students.cs.unibo.it
900
901choose selected || goto select_mirror_country
902iseq ${selected} back && goto select_mirror_country ||
903set mirrorurl ${selected}
904goto main
905
906
907:select_mirror_url_JP
908set countryname Japan
909
910menu Arch Linux Netboot: Select Mirror
911item back back
912item
913item --gap Available mirrors in ${countryname}
914item http://ftp.tsukuba.wide.ad.jp/Linux/archlinux/ ftp.tsukuba.wide.ad.jp
915item http://ftp.jaist.ac.jp/pub/Linux/ArchLinux/ jaist.ac.jp
916item http://archlinux.asia-east.mirror.zoidplex.net/ zoidplex.net
917
918choose selected || goto select_mirror_country
919iseq ${selected} back && goto select_mirror_country ||
920set mirrorurl ${selected}
921goto main
922
923
924:select_mirror_url_KZ
925set countryname Kazakhstan
926
927menu Arch Linux Netboot: Select Mirror
928item back back
929item
930item --gap Available mirrors in ${countryname}
931item http://mirror.neolabs.kz/archlinux/ neolabs.kz
932
933choose selected || goto select_mirror_country
934iseq ${selected} back && goto select_mirror_country ||
935set mirrorurl ${selected}
936goto main
937
938
939:select_mirror_url_LV
940set countryname Latvia
941
942menu Arch Linux Netboot: Select Mirror
943item back back
944item
945item --gap Available mirrors in ${countryname}
946item http://archlinux.koyanet.lv/archlinux/ koyanet.lv
947
948choose selected || goto select_mirror_country
949iseq ${selected} back && goto select_mirror_country ||
950set mirrorurl ${selected}
951goto main
952
953
954:select_mirror_url_LT
955set countryname Lithuania
956
957menu Arch Linux Netboot: Select Mirror
958item back back
959item
960item --gap Available mirrors in ${countryname}
961item http://mirrors.atviras.lt/archlinux/ atviras.lt
962
963choose selected || goto select_mirror_country
964iseq ${selected} back && goto select_mirror_country ||
965set mirrorurl ${selected}
966goto main
967
968
969:select_mirror_url_LU
970set countryname Luxembourg
971
972menu Arch Linux Netboot: Select Mirror
973item back back
974item
975item --gap Available mirrors in ${countryname}
976item http://archlinux.mirror.root.lu/ root.lu
977
978choose selected || goto select_mirror_country
979iseq ${selected} back && goto select_mirror_country ||
980set mirrorurl ${selected}
981goto main
982
983
984:select_mirror_url_MK
985set countryname Macedonia
986
987menu Arch Linux Netboot: Select Mirror
988item back back
989item
990item --gap Available mirrors in ${countryname}
991item http://arch.softver.org.mk/archlinux/ arch.softver.org.mk
992item http://mirror.t-home.mk/archlinux/ t-home.mk
993
994choose selected || goto select_mirror_country
995iseq ${selected} back && goto select_mirror_country ||
996set mirrorurl ${selected}
997goto main
998
999
1000:select_mirror_url_NL
1001set countryname Netherlands
1002
1003menu Arch Linux Netboot: Select Mirror
1004item back back
1005item
1006item --gap Available mirrors in ${countryname}
1007item http://mirror.i3d.net/pub/archlinux/ i3d.net
1008item http://mirror.koddos.net/archlinux/ koddos.net
1009item http://mirror.ams1.nl.leaseweb.net/archlinux/ leaseweb.net
1010item http://mirror.neostrada.nl/archlinux/ neostrada.nl
1011item http://mirror.netrouting.net/archlinux/ netrouting.net
1012item http://ftp.nluug.nl/os/Linux/distr/archlinux/ nluug.nl
1013item http://ftp.snt.utwente.nl/pub/os/linux/archlinux/ snt.utwente.nl
1014item http://archlinux.mirror.wearetriple.com/ wearetriple.com
1015
1016choose selected || goto select_mirror_country
1017iseq ${selected} back && goto select_mirror_country ||
1018set mirrorurl ${selected}
1019goto main
1020
1021
1022:select_mirror_url_NC
1023set countryname New Caledonia
1024
1025menu Arch Linux Netboot: Select Mirror
1026item back back
1027item
1028item --gap Available mirrors in ${countryname}
1029item http://mirror.lagoon.nc/pub/archlinux/ lagoon.nc
1030item http://archlinux.nautile.nc/archlinux/ nautile.nc
1031
1032choose selected || goto select_mirror_country
1033iseq ${selected} back && goto select_mirror_country ||
1034set mirrorurl ${selected}
1035goto main
1036
1037
1038:select_mirror_url_NZ
1039set countryname New Zealand
1040
1041menu Arch Linux Netboot: Select Mirror
1042item back back
1043item
1044item --gap Available mirrors in ${countryname}
1045item http://mirror.smith.geek.nz/archlinux/ smith.geek.nz
1046
1047choose selected || goto select_mirror_country
1048iseq ${selected} back && goto select_mirror_country ||
1049set mirrorurl ${selected}
1050goto main
1051
1052
1053:select_mirror_url_NO
1054set countryname Norway
1055
1056menu Arch Linux Netboot: Select Mirror
1057item back back
1058item
1059item --gap Available mirrors in ${countryname}
1060item http://mirror.archlinux.no/ archlinux.no
1061item http://archlinux.uib.no/ archlinux.uib.no
1062item http://mirror.neuf.no/archlinux/ neuf.no
1063
1064choose selected || goto select_mirror_country
1065iseq ${selected} back && goto select_mirror_country ||
1066set mirrorurl ${selected}
1067goto main
1068
1069
1070:select_mirror_url_PH
1071set countryname Philippines
1072
1073menu Arch Linux Netboot: Select Mirror
1074item back back
1075item
1076item --gap Available mirrors in ${countryname}
1077item http://mirror.rise.ph/archlinux/ rise.ph
1078
1079choose selected || goto select_mirror_country
1080iseq ${selected} back && goto select_mirror_country ||
1081set mirrorurl ${selected}
1082goto main
1083
1084
1085:select_mirror_url_PL
1086set countryname Poland
1087
1088menu Arch Linux Netboot: Select Mirror
1089item back back
1090item
1091item --gap Available mirrors in ${countryname}
1092item http://mirror.chmuri.net/archmirror/ chmuri.net
1093item http://arch.midov.pl/arch/ midov.pl
1094item http://mirror.onet.pl/pub/mirrors/archlinux/ onet.pl
1095item http://piotrkosoft.net/pub/mirrors/ftp.archlinux.org/ piotrkosoft.net
1096item http://ftp.vectranet.pl/archlinux/ vectranet.pl
1097
1098choose selected || goto select_mirror_country
1099iseq ${selected} back && goto select_mirror_country ||
1100set mirrorurl ${selected}
1101goto main
1102
1103
1104:select_mirror_url_PT
1105set countryname Portugal
1106
1107menu Arch Linux Netboot: Select Mirror
1108item back back
1109item
1110item --gap Available mirrors in ${countryname}
1111item http://glua.ua.pt/pub/archlinux/ glua.ua.pt
1112item http://ftp.rnl.tecnico.ulisboa.pt/pub/archlinux/ rnl.tecnico.ulisboa.pt
1113
1114choose selected || goto select_mirror_country
1115iseq ${selected} back && goto select_mirror_country ||
1116set mirrorurl ${selected}
1117goto main
1118
1119
1120:select_mirror_url_QA
1121set countryname Qatar
1122
1123menu Arch Linux Netboot: Select Mirror
1124item back back
1125item
1126item --gap Available mirrors in ${countryname}
1127item http://mirror.qnren.qa/archlinux/ qnren.qa
1128
1129choose selected || goto select_mirror_country
1130iseq ${selected} back && goto select_mirror_country ||
1131set mirrorurl ${selected}
1132goto main
1133
1134
1135:select_mirror_url_RO
1136set countryname Romania
1137
1138menu Arch Linux Netboot: Select Mirror
1139item back back
1140item
1141item --gap Available mirrors in ${countryname}
1142item http://mirror.archlinux.ro/archlinux/ archlinux.ro
1143item http://archlinux.mirrors.linux.ro/ linux.ro
1144item http://mirrors.m247.ro/archlinux/ m247.ro
1145item http://mirrors.nav.ro/archlinux/ nav.ro
1146item http://mirrors.nxthost.com/archlinux/ nxthost.com
1147
1148choose selected || goto select_mirror_country
1149iseq ${selected} back && goto select_mirror_country ||
1150set mirrorurl ${selected}
1151goto main
1152
1153
1154:select_mirror_url_RU
1155set countryname Russia
1156
1157menu Arch Linux Netboot: Select Mirror
1158item back back
1159item
1160item --gap Available mirrors in ${countryname}
1161item http://mirror.aur.rocks/ aur.rocks
1162item http://mirror.rol.ru/archlinux/ rol.ru
1163item http://mirror.truenetwork.ru/archlinux/ truenetwork.ru
1164item http://mirror.yandex.ru/archlinux/ yandex.ru
1165item http://archlinux.zepto.cloud/ zepto.cloud
1166
1167choose selected || goto select_mirror_country
1168iseq ${selected} back && goto select_mirror_country ||
1169set mirrorurl ${selected}
1170goto main
1171
1172
1173:select_mirror_url_RS
1174set countryname Serbia
1175
1176menu Arch Linux Netboot: Select Mirror
1177item back back
1178item
1179item --gap Available mirrors in ${countryname}
1180item http://mirror.pmf.kg.ac.rs/archlinux/ pmf.kg.ac.rs
1181
1182choose selected || goto select_mirror_country
1183iseq ${selected} back && goto select_mirror_country ||
1184set mirrorurl ${selected}
1185goto main
1186
1187
1188:select_mirror_url_SC
1189set countryname Seychelles
1190
1191menu Arch Linux Netboot: Select Mirror
1192item back back
1193item
1194item --gap Available mirrors in ${countryname}
1195item http://mirror.mileswilson.net/arch/ mileswilson.net
1196
1197choose selected || goto select_mirror_country
1198iseq ${selected} back && goto select_mirror_country ||
1199set mirrorurl ${selected}
1200goto main
1201
1202
1203:select_mirror_url_SG
1204set countryname Singapore
1205
1206menu Arch Linux Netboot: Select Mirror
1207item back back
1208item
1209item --gap Available mirrors in ${countryname}
1210item http://mirror.0x.sg/archlinux/ 0x.sg
1211item http://download.nus.edu.sg/mirror/arch/ download.nus.edu.sg
1212item http://mirror.nus.edu.sg/archlinux/ nus.edu.sg
1213
1214choose selected || goto select_mirror_country
1215iseq ${selected} back && goto select_mirror_country ||
1216set mirrorurl ${selected}
1217goto main
1218
1219
1220:select_mirror_url_SK
1221set countryname Slovakia
1222
1223menu Arch Linux Netboot: Select Mirror
1224item back back
1225item
1226item --gap Available mirrors in ${countryname}
1227item http://mirror.lnx.sk/pub/linux/archlinux/ lnx.sk
1228item http://tux.rainside.sk/archlinux/ rainside.sk
1229
1230choose selected || goto select_mirror_country
1231iseq ${selected} back && goto select_mirror_country ||
1232set mirrorurl ${selected}
1233goto main
1234
1235
1236:select_mirror_url_SI
1237set countryname Slovenia
1238
1239menu Arch Linux Netboot: Select Mirror
1240item back back
1241item
1242item --gap Available mirrors in ${countryname}
1243item http://archimonde.ts.si/archlinux/ archimonde.ts.si
1244
1245choose selected || goto select_mirror_country
1246iseq ${selected} back && goto select_mirror_country ||
1247set mirrorurl ${selected}
1248goto main
1249
1250
1251:select_mirror_url_ZA
1252set countryname South Africa
1253
1254menu Arch Linux Netboot: Select Mirror
1255item back back
1256item
1257item --gap Available mirrors in ${countryname}
1258item http://za.mirror.archlinux-br.org/ archlinux-br.org
1259item http://ftp.wa.co.za/pub/archlinux/ ftp.wa.co.za
1260item http://mirror.is.co.za/mirror/archlinux.org/ is.co.za
1261item http://mirror.wbs.co.za/archlinux/ wbs.co.za
1262
1263choose selected || goto select_mirror_country
1264iseq ${selected} back && goto select_mirror_country ||
1265set mirrorurl ${selected}
1266goto main
1267
1268
1269:select_mirror_url_KR
1270set countryname South Korea
1271
1272menu Arch Linux Netboot: Select Mirror
1273item back back
1274item
1275item --gap Available mirrors in ${countryname}
1276item http://ftp.kaist.ac.kr/ArchLinux/ ftp.kaist.ac.kr
1277item http://ftp.lanet.kr/pub/archlinux/ lanet.kr
1278item http://mirror.premi.st/archlinux/ premi.st
1279
1280choose selected || goto select_mirror_country
1281iseq ${selected} back && goto select_mirror_country ||
1282set mirrorurl ${selected}
1283goto main
1284
1285
1286:select_mirror_url_ES
1287set countryname Spain
1288
1289menu Arch Linux Netboot: Select Mirror
1290item back back
1291item
1292item --gap Available mirrors in ${countryname}
1293item http://osl.ugr.es/archlinux/ osl.ugr.es
1294item http://ftp.rediris.es/mirror/archlinux/ rediris.es
1295
1296choose selected || goto select_mirror_country
1297iseq ${selected} back && goto select_mirror_country ||
1298set mirrorurl ${selected}
1299goto main
1300
1301
1302:select_mirror_url_SE
1303set countryname Sweden
1304
1305menu Arch Linux Netboot: Select Mirror
1306item back back
1307item
1308item --gap Available mirrors in ${countryname}
1309item http://ftp.acc.umu.se/mirror/archlinux/ acc.umu.se
1310item http://archlinux.dynamict.se/ dynamict.se
1311item http://ftp.lysator.liu.se/pub/archlinux/ lysator.liu.se
1312item http://ftp.myrveln.se/pub/linux/archlinux/ myrveln.se
1313
1314choose selected || goto select_mirror_country
1315iseq ${selected} back && goto select_mirror_country ||
1316set mirrorurl ${selected}
1317goto main
1318
1319
1320:select_mirror_url_CH
1321set countryname Switzerland
1322
1323menu Arch Linux Netboot: Select Mirror
1324item back back
1325item
1326item --gap Available mirrors in ${countryname}
1327item http://pkg.adfinis-sygroup.ch/archlinux/ adfinis-sygroup.ch
1328item http://mirror.puzzle.ch/archlinux/ mirror.puzzle.ch
1329
1330choose selected || goto select_mirror_country
1331iseq ${selected} back && goto select_mirror_country ||
1332set mirrorurl ${selected}
1333goto main
1334
1335
1336:select_mirror_url_TW
1337set countryname Taiwan
1338
1339menu Arch Linux Netboot: Select Mirror
1340item back back
1341item
1342item --gap Available mirrors in ${countryname}
1343item http://archlinux.cs.nctu.edu.tw/ nctu.edu.tw
1344item http://shadow.ind.ntou.edu.tw/archlinux/ ntou.edu.tw
1345item http://ftp.tku.edu.tw/Linux/ArchLinux/ tku.edu.tw
1346item http://ftp.yzu.edu.tw/Linux/archlinux/ yzu.edu.tw
1347
1348choose selected || goto select_mirror_country
1349iseq ${selected} back && goto select_mirror_country ||
1350set mirrorurl ${selected}
1351goto main
1352
1353
1354:select_mirror_url_TH
1355set countryname Thailand
1356
1357menu Arch Linux Netboot: Select Mirror
1358item back back
1359item
1360item --gap Available mirrors in ${countryname}
1361item http://mirror.adminbannok.com/archlinux/ adminbannok.com
1362item http://mirror.kku.ac.th/archlinux/ kku.ac.th
1363item http://mirror2.totbb.net/archlinux/ totbb.net
1364
1365choose selected || goto select_mirror_country
1366iseq ${selected} back && goto select_mirror_country ||
1367set mirrorurl ${selected}
1368goto main
1369
1370
1371:select_mirror_url_TR
1372set countryname Turkey
1373
1374menu Arch Linux Netboot: Select Mirror
1375item back back
1376item
1377item --gap Available mirrors in ${countryname}
1378item http://ftp.linux.org.tr/archlinux/ linux.org.tr
1379
1380choose selected || goto select_mirror_country
1381iseq ${selected} back && goto select_mirror_country ||
1382set mirrorurl ${selected}
1383goto main
1384
1385
1386:select_mirror_url_UA
1387set countryname Ukraine
1388
1389menu Arch Linux Netboot: Select Mirror
1390item back back
1391item
1392item --gap Available mirrors in ${countryname}
1393item http://archlinux.ip-connect.vn.ua/ ip-connect.vn.ua
1394item http://mirrors.nix.org.ua/linux/archlinux/ nix.org.ua
1395
1396choose selected || goto select_mirror_country
1397iseq ${selected} back && goto select_mirror_country ||
1398set mirrorurl ${selected}
1399goto main
1400
1401
1402:select_mirror_url_GB
1403set countryname United Kingdom
1404
1405menu Arch Linux Netboot: Select Mirror
1406item back back
1407item
1408item --gap Available mirrors in ${countryname}
1409item http://mirror.bytemark.co.uk/archlinux/ bytemark.co.uk
1410item http://mirrors.manchester.m247.com/arch-linux/ manchester.m247.com
1411item http://www.mirrorservice.org/sites/ftp.archlinux.org/ mirrorservice.org
1412item http://arch.serverspace.co.uk/arch/ serverspace.co.uk
1413item http://archlinux.mirrors.uk2.net/ uk2.net
1414item http://mirrors.ukfast.co.uk/sites/archlinux.org/ ukfast.co.uk
1415
1416choose selected || goto select_mirror_country
1417iseq ${selected} back && goto select_mirror_country ||
1418set mirrorurl ${selected}
1419goto main
1420
1421
1422:select_mirror_url_US
1423set countryname United States
1424
1425menu Arch Linux Netboot: Select Mirror
1426item back back
1427item
1428item --gap Available mirrors in ${countryname}
1429item http://mirrors.acm.wpi.edu/archlinux/ acm.wpi.edu
1430item http://mirrors.advancedhosters.com/archlinux/ advancedhosters.com
1431item http://mirrors.aggregate.org/archlinux/ aggregate.org
1432item http://il.us.mirror.archlinux-br.org/ archlinux-br.org
1433item http://ca.us.mirror.archlinux-br.org/ archlinux-br.org
1434item http://archlinux.surlyjake.com/archlinux/ archlinux.surlyjake.com
1435item http://arlm.tyzoid.com/ arlm.tyzoid.com
1436item http://mirror.as65535.net/archlinux/ as65535.net
1437item http://mirrors.cat.pdx.edu/archlinux/ cat.pdx.edu
1438item http://mirror.cc.columbia.edu/pub/linux/archlinux/ cc.columbia.edu
1439item http://arch.mirror.constant.com/ constant.com
1440item http://mirror.cs.pitt.edu/archlinux/ cs.pitt.edu
1441item http://mirror.cs.vt.edu/pub/ArchLinux/ cs.vt.edu
1442item http://distro.ibiblio.org/archlinux/ distro.ibiblio.org
1443item http://mirror.epiphyte.network/archlinux/ epiphyte.network
1444item http://mirror.es.its.nyu.edu/archlinux/ es.its.nyu.edu
1445item http://mirrors.gigenet.com/archlinux/ gigenet.com
1446item http://mirror.grig.io/archlinux/ grig.io
1447item http://www.gtlib.gatech.edu/pub/archlinux/ gtlib.gatech.edu
1448item http://mirror.hackingand.coffee/arch/ hackingand.coffee
1449item http://mirrors.kernel.org/archlinux/ kernel.org
1450item http://mirror.wdc1.us.leaseweb.net/archlinux/ leaseweb.net
1451item http://mirror.sfo12.us.leaseweb.net/archlinux/ leaseweb.net
1452item http://mirror.dal10.us.leaseweb.net/archlinux/ leaseweb.net
1453item http://mirrors.liquidweb.com/archlinux/ liquidweb.com
1454item http://mirror.lty.me/archlinux/ lty.me
1455item http://mirrors.lug.mtu.edu/archlinux/ lug.mtu.edu
1456item http://mirror.math.princeton.edu/pub/archlinux/ math.princeton.edu
1457item http://mirror.metrocast.net/archlinux/ metrocast.net
1458item http://mirror.kaminski.io/archlinux/ mirror.kaminski.io
1459item http://mirrors.ocf.berkeley.edu/archlinux/ ocf.berkeley.edu
1460item http://ftp.osuosl.org/pub/archlinux/ osuosl.org
1461item http://arch.mirrors.pair.com/ pair.com
1462item http://mirrors.rit.edu/archlinux/ rit.edu
1463item http://mirrors.rutgers.edu/archlinux/ rutgers.edu
1464item http://mirrors.sorengard.com/archlinux/ sorengard.com
1465item http://arch.mirror.square-r00t.net/ square-r00t.net
1466item http://mirror.umd.edu/archlinux/ umd.edu
1467item http://mirror.vtti.vt.edu/archlinux/ vtti.vt.edu
1468item http://mirrors.xmission.com/archlinux/ xmission.com
1469item http://mirror.yellowfiber.net/archlinux/ yellowfiber.net
1470item http://archlinux.us-east.mirror.zoidplex.net/ zoidplex.net
1471item http://archlinux.us-central.mirror.zoidplex.net/ zoidplex.net
1472item http://archlinux.us-west.mirror.zoidplex.net/ zoidplex.net
1473
1474choose selected || goto select_mirror_country
1475iseq ${selected} back && goto select_mirror_country ||
1476set mirrorurl ${selected}
1477goto main
1478
1479
1480:select_mirror_url_VN
1481set countryname Vietnam
1482
1483menu Arch Linux Netboot: Select Mirror
1484item back back
1485item
1486item --gap Available mirrors in ${countryname}
1487item http://f.archlinuxvn.org/archlinux/ archlinuxvn.org
1488
1489choose selected || goto select_mirror_country
1490iseq ${selected} back && goto select_mirror_country ||
1491set mirrorurl ${selected}
1492goto main
1493
1494
1495:set_options
1496echo -n Boot options: ${} && read extrabootoptions ||
1497goto main
1498
1499:boot
1500echo Booting Arch Linux x86_64 ${release} from ${mirrorurl}
1501echo
1502kernel ${mirrorurl}iso/${release}/arch/boot/x86_64/vmlinuz || goto failed_download
1503imgverify vmlinuz ${mirrorurl}iso/${release}/arch/boot/x86_64/vmlinuz.ipxe.sig || goto failed_verify
1504initrd ${mirrorurl}iso/${release}/arch/boot/intel_ucode.img || goto failed_download
1505imgverify intel_ucode.img ${mirrorurl}iso/${release}/arch/boot/intel_ucode.img.ipxe.sig || goto failed_verify
1506initrd ${mirrorurl}iso/${release}/arch/boot/x86_64/archiso.img || goto failed_download
1507imgverify archiso.img ${mirrorurl}iso/${release}/arch/boot/x86_64/archiso.img.ipxe.sig || goto failed_verify
1508imgargs vmlinuz initrd=intel_ucode.img initrd=archiso.img archiso_http_srv=${mirrorurl}iso/${release}/ archisobasedir=arch verify=y ${extrabootoptions}
1509boot || goto failed_boot
1510
1511:failed_download
1512echo
1513echo Failed to download a file.
1514goto failed
1515
1516:failed_verify
1517echo
1518echo Failed to verify a file.
1519goto failed
1520
1521:failed_boot
1522echo
1523echo Boot failed.
1524goto failed
1525
1526:failed
1527echo Press a key to return to the menu.
1528prompt
1529imgfree
1530goto main