]> git.ipfire.org Git - people/shoehn/ipfire.org.git/commitdiff
BIO: Make this work for pxelinux.
authorMichael Tremer <michael.tremer@ipfire.org>
Fri, 24 May 2013 17:18:30 +0000 (19:18 +0200)
committerMichael Tremer <michael.tremer@ipfire.org>
Fri, 24 May 2013 17:18:30 +0000 (19:18 +0200)
webapp/backend/netboot.py
webapp/handlers_boot.py

index cd5b6b0c8828f56cf8f64bed34e03fb48fc39c0b..190ba2709cf1abeb62b9b28e9731b4e37c38d634 100644 (file)
@@ -46,19 +46,20 @@ class NetBoot(object):
        def get_menu(self, level=0):
                menu = []
 
-               for m in self.db.query("SELECT * FROM boot_menu WHERE level = %d ORDER by level,prio" % level):
+               for m in self.db.query("SELECT * FROM boot_menu WHERE level = %s ORDER by level,prio", level):
                        m = MenuEntry(m)
 
                        if m.type == "header":
                                m.submenu = self.get_menu(m.submenu_level)
 
                        elif m.type == "config":
-                               m._data.update(self.db.get("SELECT title, description FROM boot WHERE id = %s" % m.item))
+                               c = self.db.get("SELECT * FROM boot WHERE id = %s", m.item)
+                               if c:
+                                       m._data.update(c)
 
                        menu.append(m)
 
                return menu
 
        def get_config(self, id):
-               id = int(id)
                return self.db.get("SELECT * FROM boot WHERE id = %s", id)
index 93e8d18ec87357dd897aafe593f9a8184a86802d..5220837f449c1d9c0bbd0d950a37aef487ebf394 100644 (file)
@@ -110,7 +110,15 @@ class MenuCfgHandler(BootBaseHandler):
                                lines.append(ident + "\ttext help")
                                lines.append(word_wrap(entry.description))
                                lines.append(ident + "\tendtext")
-                       lines.append(ident + "\tkernel /config/%s/boot.gpxe" % entry.item)
+
+                       config = self.netboot.get_config(entry.item)
+                       if not config: return ""
+
+                       lines.append(ident + "\tkernel %s" % config.image1)
+                       if config.image2:
+                               lines.append(ident + "\tinitrd %s" % config.image2)
+                       if config.args:
+                               lines.append(ident + "\tappend %s" % config.args)
 
                return "\n".join(lines + [""])