blob: 462696a161fa562aa1e8dfd2124d6f5c3c358e64 [file] [log] [blame]
Zack Williams5b5d9a72020-11-06 13:59:06 -07001#!ipxe
2{#
3SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
4SPDX-License-Identifier: Apache-2.0
5#}
6
7# variables
8set menu_timeout 10000
9set menu_default exit
10set http_server_url {{ pxeboot_web_server }}
11
12# menu
13:start
14menu ONF iPXE Boot Menu
Zack Williamsa5a10bc2021-04-06 11:58:44 -070015item --gap -- ------------------------- System and Network Info ------------------------
Zack Williams5b5d9a72020-11-06 13:59:06 -070016item --gap -- MAC: ${net0/mac}, Serial Number: ${serial}, Chipset: ${net0/chip}
17item --gap -- Manufacturer: ${manufacturer}, Product: ${product}
18item --gap -- UUID: ${uuid}
Zack Williams5b5d9a72020-11-06 13:59:06 -070019item --gap -- IP: ${net0/ip}, Netmask: ${net0/netmask}, Gateway: ${net0/gateway}
20item --gap -- DNS Servers: ${net0/dns}, Domain: ${net0/domain}
21item --gap -- DHCP Server: ${net0/dhcp-server}
22item --gap -- ------------------------- Operating systems ------------------------------
Zack Williamsa5a10bc2021-04-06 11:58:44 -070023item --key d deb10 Debian 10 Installer
24item --key f deb10f Debian 10 Installer (nonfree firmware)
Zack Williams5b5d9a72020-11-06 13:59:06 -070025item --key u ub1804 Ubuntu 18.04 Installer
Zack Williams6f70f4d2021-06-07 12:54:07 -070026item --key a ub1804as Ubuntu 18.04 Installer (fully automatic, serial)
27item --key a ub1804am Ubuntu 18.04 Installer (fully automatic, MAC)
Zack Williamsa5a10bc2021-04-06 11:58:44 -070028item --key t ub1804adt Ubuntu 18.04 Installer (fully automatic, debug, text)
29item --gap -- ------------------------- Utilities --------------------------------------
Zack Williams5b5d9a72020-11-06 13:59:06 -070030item --key m memtest Memtest
Zack Williams5b5d9a72020-11-06 13:59:06 -070031item --key c configure Configuration Menu
32item --key s shell iPXE Shell
33item --key r reboot Reboot
34item --key x exit Exit iPXE and continue system boot
35choose --timeout ${menu_timeout} --default ${menu_default} selected || goto cancel
36set menu-timeout 0
37goto ${selected}
38
39# other functions
40:cancel
41echo Menu canceled, dropping to iPXE shell
42goto shell
43
44:configure
45config
46set menu-timeout 0
47set submenu-timeout 0
48goto start
49
50:shell
51echo Type 'exit' to get the back to the menu
52shell
53set menu-timeout 0
54set submenu-timeout 0
55goto start
56
57:failed
58echo Booting failed, dropping to shell
59goto shell
60
61:reboot
62reboot
63
64:exit
65exit
66
67# diagnostics
68:memtest
69echo Booting Memtest
70kernel ${http_server_url}/memtest/memdisk
71initrd ${http_server_url}/memtest/memtest.iso
72imgargs memdisk iso raw
73boot || goto failed
74
75# installers
76
Zack Williamsa5a10bc2021-04-06 11:58:44 -070077# Debian 10
78:deb10
79echo Booting Debian 10 Installer
80kernel ${http_server_url}/debian10/linux
81initrd ${http_server_url}/debian10/initrd.gz
82boot || goto failed
83
84# Debian 10 with nonfree firmware
85:deb10f
86echo Booting Debian 10 Installer with nonfree firmware
87kernel ${http_server_url}/debian10/linux initrd=initrd.gz initrd=firmware.cpio.gz
88initrd ${http_server_url}/debian10/initrd.gz
89initrd ${http_server_url}/debian10/firmware.cpio.gz
90boot || goto failed
91
Zack Williams5b5d9a72020-11-06 13:59:06 -070092# Ubuntu 18.04
93:ub1804
94echo Booting Ubuntu 18.04 Installer
95kernel ${http_server_url}/ubuntu1804/linux
96initrd ${http_server_url}/ubuntu1804/initrd.gz
Zack Williams5b5d9a72020-11-06 13:59:06 -070097boot || goto failed
98
Zack Williams6f70f4d2021-06-07 12:54:07 -070099# Ubuntu 18.04 autoinstall, serial
Zack Williams5b5d9a72020-11-06 13:59:06 -0700100# https://ipxe.org/appnote/debian_preseed
Zack Williams6f70f4d2021-06-07 12:54:07 -0700101:ub1804as
102echo Booting Ubuntu 18.04 Installer (autoinstall, serial)
Zack Williamsdb394142020-11-11 22:52:34 -0700103kernel ${http_server_url}/ubuntu1804/linux initrd=initrd.gz initrd=preseed.cfg
Zack Williams5b5d9a72020-11-06 13:59:06 -0700104initrd ${http_server_url}/ubuntu1804/initrd.gz
105initrd ${http_server_url}/ubuntu1804/${serial}_preseed.cfg preseed.cfg
Zack Williams3fcd2c52021-03-02 21:44:52 -0700106boot || goto failed
107
Zack Williams6f70f4d2021-06-07 12:54:07 -0700108# Ubuntu 18.04 autoinstall, MAC
109# https://ipxe.org/appnote/debian_preseed
110:ub1804am
111echo Booting Ubuntu 18.04 Installer (autoinstall, MAC)
112kernel ${http_server_url}/ubuntu1804/linux initrd=initrd.gz initrd=preseed.cfg
113initrd ${http_server_url}/ubuntu1804/initrd.gz
114initrd ${http_server_url}/ubuntu1804/${net0/mac}_preseed.cfg preseed.cfg
115boot || goto failed
116
Zack Williams3fcd2c52021-03-02 21:44:52 -0700117# Ubuntu 18.04 autoinstall, text-mode, debug
118:ub1804adt
119echo Booting Ubuntu 18.04 Installer, text mode, debug
120kernel ${http_server_url}/ubuntu1804/linux initrd=initrd.gz initrd=preseed.cfg DEBIAN_FRONTEND=text BOOT_DEBUG=2
121initrd ${http_server_url}/ubuntu1804/initrd.gz
122initrd ${http_server_url}/ubuntu1804/${serial}_preseed.cfg preseed.cfg
Zack Williams5b5d9a72020-11-06 13:59:06 -0700123boot || goto failed