diff --git a/todo.md b/todo.md index c888d89..a5a62fc 100644 --- a/todo.md +++ b/todo.md @@ -6,6 +6,7 @@ * main.sh * ./services + * main * tftpd-hpa * plugin.sh * config.sh @@ -16,12 +17,13 @@ * iscsi / tgt * lighthttpd * ./menues - * default + * ./pxelinux * plugin.sh * config.sh * ./templates * ./build - * branded-menue + * ./ipxe + * ./custom-made * ./plugins * Knoppix * plugin.sh @@ -43,9 +45,45 @@ * build - build all enabled plugins: trigger downloads, file processing * build-all - build even disabled plugins * start / stop / restart - handle services +* points all plugins to source global variables from ./services/main (could be changed!) +* provides global variables: + * IP / Hostname + +### ./services + * make services modular + * plugin.sh + * manages all actions: downloads, file processing, template parsing + * config.sh + * holds plugin specific variables + * ./main + * configure settings: + * variables + * tftp root dir + * hook: pxelinux or ipxe menus? so plugins could provide matching menue entries + * ./tftp-hpa and other services: + * templates for config files ### ./menues - * + * make modular menues + * branding + * which menue to use: menu.c32 or vesamenu.c32, even use iPXE menues (may be broken by plugins) + * create menu sections: (maybe a kind of hook for plugin-types?) + * put plugins into sections + * types: livesystem, rescue, tools, installer, etc. + +### ./plugins + * plugin contains all needed files + * plugin.sh + * manages all actions: downloads, file processing, template parsing + * config.sh + * plugin name + * enabled: y/n + * type: rescue, os, installer (must be one of the menue hooks) + * depends: nfs, samba, etc. + * plugin specific variables and settings + + + * Modular pxelinux menu: