summaryrefslogtreecommitdiffstats
path: root/server/api/ipxe.js
diff options
context:
space:
mode:
Diffstat (limited to 'server/api/ipxe.js')
-rw-r--r--server/api/ipxe.js54
1 files changed, 54 insertions, 0 deletions
diff --git a/server/api/ipxe.js b/server/api/ipxe.js
new file mode 100644
index 0000000..3e8dd9a
--- /dev/null
+++ b/server/api/ipxe.js
@@ -0,0 +1,54 @@
+/* global __appdir */
+var path = require('path')
+var shell = require(path.join(__appdir, 'lib', 'shell'))
+
+module.exports.get = {
+ build: function (req, res) {
+ shell.buildIpxe(req, res)
+ },
+ loadScript: function (req, res) {
+ res.setHeader('content-type', 'text/plain')
+ res.status(200).send(`#!ipxe
+dhcp
+
+:start
+menu Please choose a webserver to load the ipxe menu:
+item pxelnx PxeLinux
+item c32boot C32Boot
+item exit Exit
+item exit0 Exit0
+item exit1 Exit1
+item sh [Shell]
+choose target && goto \${target}
+
+:exit
+exit
+:exit0
+exit 0
+:exit1
+exit 1
+:pxelnx
+# set 210:string https://bas.stfu-kthx.net:8888/
+# chain \${210:string}pxelinux.0 || goto start
+# chain https://bas.stfu-kthx.net:8888/pxelinux.0
+# set next-server bas-stfu-kthx.net:8888
+# set 209:string https://bas.stfu-kthx.net:8888/pxelinux.cfg
+# imgload pxelinux.0
+set net0/next-server 192.52.3.91 ||
+set netX/next-server 192.52.3.91 ||
+set next-server 192.52.3.91 ||
+# set 209:string pxelinux.cfg/default
+# set 210:string bas.stfu-kthx.net
+# shell ||
+boot tftp://bas.stfu-kthx.net/pxelinux.0 || goto start
+:c32boot
+set net0/next-server 192.52.3.91 ||
+set netX/next-server 192.52.3.91 ||
+set next-server 192.52.3.91 ||
+boot tftp://bas.stfu-kthx.net/chain.c32 || goto start
+
+:sh
+shell
+goto start`)
+ }
+}