Zach's 2008 Google Summer Of Code Page

There isn't much here yet. There will be more as time goes on, if I am accepted...

Proposed project: split sysinst into frontend and backend

Abstract

This project is to provide the NetBSD operating system with a flexible, customizable as well as automatable installation tool. The current utility, sysinst, suffers from both a high level of technicality and a need for user input at several stages during the installation process. This is unacceptable for both new users and those who would like to make many quick, identical installations, perhaps in a classroom. This project will split sysinst into a back end as well as a front end. The idea is that the back end can do a complete installation all at once based on a configuration file either created in advance or made on-the-fly at the time of installation. This updated utility will make NetBSD's installation process much more usable to novices and pros alike.

The project involves two main areas: the creation of an installation configuration file format and the splitting of sysinst into a front end and a back end. The first must be done so that installations can be described either generally or specifically, as well as in a human-readable form. The second must dissociate a significant amount of code that is at present tightly integrated, while still maintaining the same functionality. The project will deliver the file format standard, perhaps in the form of a man page, the new installation tool, and updated documentation on the tool itself.

The new tool will likely have the front end and the back end compiled together into one executable, with different command line switches to specify different tasks. This offers the flexibility of starting up the front end if one or more options are found to be ambiguous by the back end, or simply printing an error. The tool could also be run on a system other than the one that is being installed on to only create the configuration file. One particular aim in the project is to add in the desired functionality without expanding the executable size too much.

Sample sysinst.conf

Tentative Schedule


Back to main page 1