summaryrefslogtreecommitdiffstats
path: root/server/ipxe/registration.ipxe
blob: 621921d4d8058bf672209ebff71c4dac95a9b852 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#!ipxe

# Wallpaper
set crosscert http://ca.ipxe.org/auto/
#set img https://ife-server.com/b4db0y/ipxeWallpaper4.png || shell
#set img tftp://bas.stfu-kthx.net/ipxeWallpaper4.png || shell
#set img tftp://10.8.102.124/ipxeWallpaper3_scale.png || shell
#console --picture ${img} --x 800 --y 600 || shell

:start
menu Initializing client registration
item --key a automatic Automatic Registration
item --key c customname Automatic Registration (Custom Name)
item --key m manual Manual Registration
item --key k key Replace Secure Boot Keys
item --key l localboot Localboot
item --key r reboot Reboot
item --key p poweroff Power Off
item --key s sh [Shell]
item --key u update Reload Menufile
choose --default automatic --timeout 25000 target && goto ${target} || goto automatic

:localboot
exit0 ||
exit1 ||
goto start

:automatic
params
param ipxe true
param automatic true
param client { "type": "CLIENT", "uuid": "${uuid}", "purpose": "Pool PC", "networks": [{ "ip": "${net0/ip}", "mac": "${net0/mac}" }] }
chain https://bas.intra.uni-freiburg.de/api/registration/clients##params

:customname
echo Enter client name
read clientname
params
param ipxe true
param client { "name": "${clientname}", "type": "CLIENT", "uuid": "${uuid}", "purpose": "Pool PC", "networks": [{ "ip": "${net0/ip}", "mac": "${net0/mac}" }] }
chain https://bas.intra.uni-freiburg.de/api/registration/clients##params

:manual
params
param id 0
chain https://bas.intra.uni-freiburg.de/api/registration/group##params ||
goto start

:key
chain -ar http://132.230.4.6/tbk/ReplaceKeysWithOwnKeys.efi

:reboot
reboot

:poweroff
poweroff

:sh
login
#echo Enter the password to access the shell
#read pw
#iseq ${pw} shell || goto start
#clear pw
iseq ${password} sh || goto start
clear username
clear password
shell

:update
chain -ar registration.ipxe