blob: e58def941608c20aa1c3d58703d3af6308995098 [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
15item --gap -- ------------------------- System Info ------------------------------------
16item --gap -- MAC: ${net0/mac}, Serial Number: ${serial}, Chipset: ${net0/chip}
17item --gap -- Manufacturer: ${manufacturer}, Product: ${product}
18item --gap -- UUID: ${uuid}
19item --gap -- ------------------------- Network Info ------------------------------------
20item --gap -- IP: ${net0/ip}, Netmask: ${net0/netmask}, Gateway: ${net0/gateway}
21item --gap -- DNS Servers: ${net0/dns}, Domain: ${net0/domain}
22item --gap -- DHCP Server: ${net0/dhcp-server}
23item --gap -- ------------------------- Operating systems ------------------------------
24item --key u ub1804 Ubuntu 18.04 Installer
25item --key u ub1804a Ubuntu 18.04 Installer (fully automatic)
26item --gap -- ------------------------- Diagnostics ------------------------------------
27item --key m memtest Memtest
28item --gap -- ------------------------- Other ------------------------------------------
29item --key c configure Configuration Menu
30item --key s shell iPXE Shell
31item --key r reboot Reboot
32item --key x exit Exit iPXE and continue system boot
33choose --timeout ${menu_timeout} --default ${menu_default} selected || goto cancel
34set menu-timeout 0
35goto ${selected}
36
37# other functions
38:cancel
39echo Menu canceled, dropping to iPXE shell
40goto shell
41
42:configure
43config
44set menu-timeout 0
45set submenu-timeout 0
46goto start
47
48:shell
49echo Type 'exit' to get the back to the menu
50shell
51set menu-timeout 0
52set submenu-timeout 0
53goto start
54
55:failed
56echo Booting failed, dropping to shell
57goto shell
58
59:reboot
60reboot
61
62:exit
63exit
64
65# diagnostics
66:memtest
67echo Booting Memtest
68kernel ${http_server_url}/memtest/memdisk
69initrd ${http_server_url}/memtest/memtest.iso
70imgargs memdisk iso raw
71boot || goto failed
72
73# installers
74
75# Ubuntu 18.04
76:ub1804
77echo Booting Ubuntu 18.04 Installer
78kernel ${http_server_url}/ubuntu1804/linux
79initrd ${http_server_url}/ubuntu1804/initrd.gz
80# imgargs {{ pxeboot_ubuntu1804_linux_args }}
81boot || goto failed
82
83# Ubuntu 18.04 autoinstall
84# https://ipxe.org/appnote/debian_preseed
85:ub1804a
86echo Booting Ubuntu 18.04 Installer
Zack Williamsdb394142020-11-11 22:52:34 -070087kernel ${http_server_url}/ubuntu1804/linux initrd=initrd.gz initrd=preseed.cfg
Zack Williams5b5d9a72020-11-06 13:59:06 -070088initrd ${http_server_url}/ubuntu1804/initrd.gz
89initrd ${http_server_url}/ubuntu1804/${serial}_preseed.cfg preseed.cfg
90# imgargs {{ pxeboot_ubuntu1804_linux_args }}
91boot || goto failed