[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Automated kernel configuration and installation tool



This is my proposal for Summer of Code 2007 sent to Debian Org

Project Title

Synopsis
  The intention of the project is to design and implement a user-friendly tool used to configure a new kernel, control its compilation process and install it in the operating system. The functionality and way of working with the intended program is going to resemble how APTITUDE works for applications.
The motivation for the project is that contemporary Linux distributions contain either simple kernel configuration tools that do not give enough power to the users or, on the contrary, tools that are too difficult to use for newbies. The new piece of software is going to fill the gap and provide users with a user-friendly and, at the same time, powerful tool.

Benefits to Debian
  Making Debian more usable and open to greater groups of users giving them more control over kernel administration, thus bringing it closer to perfection.

Deliverables
  A program generating kernel configuration files based on user choices made in the user interface similar to APTITUDE, allowing to edit those files and then running and controlling kernel compilation and its installation in the system.

Project Details
  The software's functionality is going to be divided into a number of modules. One of them is going to be a user interface based on NCURSES with possibility to reimplement in other graphical environments. It is going to provide the user with choices of modules, suggest including proper kernel modules, disallow the user from making wrong choices. The program can load an existing configuration file and edit an already created configuration. Upgrading selected kernel modules is going to be possible, including automatic module version conflict detection.
The implementation will provide for extending the program with support for automatic download of proper kernel files from mirror servers.

Project Schedule
  The complete design and implementation all the aspects of the project is not going to possible in the three months timeframe. I could start working on this project full-time from end of semester near end of June. However, before that time preparations could take place including collecting information and concept design.
Proposed milestones:
 - Basic input (parsing) and output of configuration files - 1 week
 - Data structures allowing for efficient storing, accessing and tracking relationships between modules - 4 weeks
 - Graphical user interface, implementation based on code of APTITUDE - 4 weeks
 - Tweaking, testing and bug-fixing - 3 weeks

Reply to: