Annotation of wikisrc/projects/project/sysinst-xinterface.mdwn, revision 1.3

1.1       jmmv        1: [[!template id=project
                      3: title="Sysinst alternative interface"
                      5: contact="""
                      6: [tech-install](
                      7: """
                      9: mentors="""
                     10: [Marc Balmer](, [Martin Husemann](
                     11: """
1.2       jmmv       13: category="userland"
                     14: difficulty="medium"
1.1       jmmv       15: duration="3 months"
                     17: description="""
                     18: The goal of this project is to provide an alternative version of the NetBSD system installer with a simple, X based graphical user interface.
                     20: The installer currently uses a "homegrown" (similar to CUA) text based interface, thus being easy to use over serial console as well as on a framebuffer console.
                     22: The current installer code is partly written in plain C, but in big parts uses C fragments embedded into its own definition language, preprocessed by the "menuc" tool into plain C code and linked against libterminfo.
                     24: During this project, the "menuc" tool is modified to optionally generate a different version of the C code, which then is linked against standard X libraries. The C stub fragments sprinkled throughout the menu definitions need to be modified to be reusable for both (text and X) versions. Where needed the fragments can just call C functions, which have different implementations (selected via a new ifdef).
                     26: Since the end result should be able to run off an enhanced install CD, the selection of widgets used for the GUI is limited. Only base X libraries are available. A look & feel similar to current xdm would be a good start.
                     28: Developement can be done on an existing system, testing does not require actuall installation on real hardware.
                     30: An optional extension of the project is to modify the creation of one or more port's install CD to make use of the new xsysinst.
1.3     ! mspo       32: Milestones include:
        !            33: * modify the "menuc" tool to support X
        !            34: * keep text/serial console installing
        !            35: * demonstrate a GUI install
        !            36: * demonstrate fallback to the text installer
        !            37: 
1.1       jmmv       38: The candidate must have:
                     40: * familiarity with the system installer. You should have used sysinst to install the system.
                     41: * familiarity with C and X programming.
                     43: The following would also be useful:
                     45: * familiarity with NetBSD.
                     46: * familiarity with user interface programming using in-tree X widgets.
                     48: #### References:
                     50: * [sysinst source]( ([opengrok](
                     51: * [vnconfig manual page](
                     52: """
                     53: ]]
                     55: [[!tag gsoc]]

CVSweb for NetBSD wikisrc <> software: FreeBSD-CVSweb