This repository has been archived on 2024-03-03. You can view files and clone it, but cannot push or open issues or pull requests.
adlin/tftp/pxelinux.cfg/tpl.ipxe

46 lines
1.1 KiB
Plaintext

#!ipxe
console --x 1024 --y 768
cpair --foreground 7 --background 0 1
cpair --foreground 7 --background 6 2
cpair --foreground 7 --background 0 3
:start
menu Welcome {{ .username }} to the EPITA ADvanced LINux administration course!
item --key b challenge Enter Challenge
item
item --key o logout Not {{ .username }}? logout
item
item --key q poweroff Shutdown
choose selected || goto start
goto ${selected}
:shell
echo Type 'exit' to get the back to the menu
shell
goto start
:failed
echo Booting failed, dropping to shell
goto shell
:challenge
set cmdline initrd=challenge-initrd.img console=tty0 quiet
echo -n Kernel command line: ${}
read cmdline || goto start
kernel tftp://${next-server}/bzImage ${cmdline} adlin.login={{ .username }} adlin.key={{ .pkey }} adlin.ip={{ .ip }}
initrd tftp://${next-server}/s/{{ .initrd }}/challenge-initrd.img
boot || goto failed
goto start
:logout
kernel tftp://${next-server}/bzImage console=tty0 quiet initrd=login-initrd.img
initrd tftp://${next-server}/login-initrd.img
boot || goto failed
goto start
:poweroff
poweroff || goto failed
goto start