Annotation of wikisrc/projects/project/sysinst-xinterface.mdwn, revision 1.1
1.1 ! jmmv 1: [[!template id=project
! 3: title="Sysinst alternative interface"
! 5: contact="""
! 6: [tech-install](mailto:tech-install@NetBSD.org)
! 7: """
! 9: mentors="""
! 10: [Marc Balmer](mailto:mbalmer@NetBSD.org), [Martin Husemann](mailto:martin@NetBSD.org)
! 11: """
! 13: duration="3 months"
! 15: description="""
! 16: The goal of this project is to provide an alternative version of the NetBSD system installer with a simple, X based graphical user interface.
! 18: 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.
! 20: 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.
! 22: 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).
! 24: 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.
! 26: Developement can be done on an existing system, testing does not require actuall installation on real hardware.
! 28: 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.
! 30: The candidate must have:
! 32: * familiarity with the system installer. You should have used sysinst to install the system.
! 33: * familiarity with C and X programming.
! 35: The following would also be useful:
! 37: * familiarity with NetBSD.
! 38: * familiarity with user interface programming using in-tree X widgets.
! 40: #### References:
! 42: * [sysinst source](http://cvsweb.netbsd.org/bsdweb.cgi/src/distrib/utils/sysinst/) ([opengrok](http://nxr.netbsd.org/xref/src/distrib/utils/sysinst/))
! 43: * [vnconfig manual page](http://netbsd.gw.com/cgi-bin/man-cgi?vnconfig++NetBSD-current)
! 44: """
! 45: ]]
! 47: [[!tag gsoc]]
! 48: [[!tag medium]]
! 49: [[!tag userland]]
CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb