File:  [NetBSD Developer Wiki] / wikisrc / projects / project / sysinst-xinterface.mdwn
Revision 1.1: download - view: text, annotated - select for diffs
Sun Nov 6 01:59:12 2011 UTC (2 years, 5 months ago) by jmmv
Branches: MAIN
CVS tags: HEAD
Move existing project definitions from projects/gsoc_2011/ to
projects/project/ .

The goal for this reorganization is to remove any knowledge of the projects
classification from the file hierarchy: the classification goes into tags,
and projects indexes automatically list projects based on such tags.

Also, the current gsoc_2011 name was wrong anyway, because GSoC 2011 has
already concluded and projects would have had to move to a gsoc_2012 directory
anyway.

Lastly, yes, "projects/project/*" is slightly redundant.  But I want to keep
the project lists from the projects "database" clearly separated.

This is as proposed in www@.

[[!template id=project

title="Sysinst alternative interface"

contact="""
[tech-install](mailto:tech-install@NetBSD.org)
"""

mentors="""
[Marc Balmer](mailto:mbalmer@NetBSD.org), [Martin Husemann](mailto:martin@NetBSD.org)
"""

duration="3 months"

description="""
The goal of this project is to provide an alternative version of the NetBSD system installer with a simple, X based graphical user interface.

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.

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.

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).

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.

Developement can be done on an existing system, testing does not require actuall installation on real hardware.

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.

The candidate must have:

* familiarity with the system installer. You should have used sysinst to install the system.
* familiarity with C and X programming.

The following would also be useful:

* familiarity with NetBSD.
* familiarity with user interface programming using in-tree X widgets.

#### References:

* [sysinst source](http://cvsweb.netbsd.org/bsdweb.cgi/src/distrib/utils/sysinst/) ([opengrok](http://nxr.netbsd.org/xref/src/distrib/utils/sysinst/))
* [vnconfig manual page](http://netbsd.gw.com/cgi-bin/man-cgi?vnconfig++NetBSD-current)
"""
]]

[[!tag gsoc]]
[[!tag medium]]
[[!tag userland]]

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