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

1.1       jmmv        1: [[!template id=project
                      2: 
                      3: title="Sysinst alternative interface"
                      4: 
                      5: contact="""
                      6: [tech-install](mailto:tech-install@NetBSD.org)
                      7: """
                      8: 
                      9: mentors="""
                     10: [Marc Balmer](mailto:mbalmer@NetBSD.org), [Martin Husemann](mailto:martin@NetBSD.org)
                     11: """
                     12: 
1.2     ! jmmv       13: category="userland"
        !            14: difficulty="medium"
1.1       jmmv       15: duration="3 months"
                     16: 
                     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.
                     19: 
                     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.
                     21: 
                     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.
                     23: 
                     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).
                     25: 
                     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.
                     27: 
                     28: Developement can be done on an existing system, testing does not require actuall installation on real hardware.
                     29: 
                     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.
                     31: 
                     32: The candidate must have:
                     33: 
                     34: * familiarity with the system installer. You should have used sysinst to install the system.
                     35: * familiarity with C and X programming.
                     36: 
                     37: The following would also be useful:
                     38: 
                     39: * familiarity with NetBSD.
                     40: * familiarity with user interface programming using in-tree X widgets.
                     41: 
                     42: #### References:
                     43: 
                     44: * [sysinst source](http://cvsweb.netbsd.org/bsdweb.cgi/src/distrib/utils/sysinst/) ([opengrok](http://nxr.netbsd.org/xref/src/distrib/utils/sysinst/))
                     45: * [vnconfig manual page](http://netbsd.gw.com/cgi-bin/man-cgi?vnconfig++NetBSD-current)
                     46: """
                     47: ]]
                     48: 
                     49: [[!tag gsoc]]

CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb