Annotation of wikisrc/projects/project/sysinst-enhancements.mdwn, revision 1.3

1.1       jmmv        1: [[!template id=project
                      2: 
                      3: title="Sysinst enhancements"
                      4: 
                      5: contact="""
                      6: [tech-install](mailto:tech-install@NetBSD.org)
                      7: """
                      8: 
                      9: mentors="""
1.3     ! wiki       10: [Martin Husemann](mailto:martin@NetBSD.org)
1.1       jmmv       11: """
                     12: 
1.2       jmmv       13: category="userland"
                     14: difficulty="easy"
1.1       jmmv       15: duration="3 months"
                     16: 
                     17: description="""
                     18: The goal of this project is to enhance the NetBSD system installer (sysinst) to provide additional support for (in order):
                     19: 
                     20: * installation on multiple disks
                     21: * installation on RAID
1.3     ! wiki       22: * installation on GPT
1.1       jmmv       23: * installation on cgd
                     24: * installation on LVM
                     25: * other enhancements
                     26: 
1.3     ! wiki       27: The installer currently supports installing the system to any available single disk. It is possible to select which parts (distribution sets) of the system to install, and also to customise the disk partition layout. Sysinst can also use vnode pseudo disks, so can be tested without the need to re-install the host system.
1.1       jmmv       28: 
                     29: The first goal is to add the support for multiple disks to sysinst. When this is finished, it will be possible to partition multiple disks, add filesystem mount points across the multiple disks, and to select the boot disk.
                     30: 
                     31: The second goal is to add support for creating and installing on to RAID (levels 0, 1 and 1+0) partitions. Note, that it is currently possible to install on to an existing RAID parition, but not to create one. When installing to RAID 1 or RAID 1+0, it should be possible to install the boot code to all of the mirror disks.
                     32: 
1.3     ! wiki       33: The third goal is to add support for formatting and partitioning a disk with GPT instead of disklabel.
1.1       jmmv       34: 
1.3     ! wiki       35: The fourth goal is to add support for creating and installing on to cgd (encrypted) partitions. The initial support will not be for the boot partition, but other partitions should be supported.
        !            36: 
        !            37: The fifth goal is to add support for creating and installing on to LVM Volume Groups and Logical Volumes. This should be similar to the RAID goal, above.
1.1       jmmv       38: 
                     39: The other enhancements that might be possible are (not in priority order):
                     40: 
                     41: #### user interface
                     42: * customise colours
                     43: * add "back" and "forward" menu options
                     44: * run parts of the installer independently (e.g. disk partitioning, set installation)
                     45: 
                     46: #### cgd enhancements
                     47: * add the ability to encrypt the whole disk and to enter the decryption key at boot time
                     48: 
                     49: #### automated test setup
                     50: * add the ability to install Anita for automated testing 
                     51: 
                     52: The candidate must have:
                     53: 
                     54: * familiarity with the system installer. You should have used sysinst to install the system.
                     55: * familiarity with C programming. The system installer program consists of C code.
                     56: * a test system, preferably with a 2nd bootable device.
                     57: 
                     58: The following would also be useful:
                     59: 
                     60: * familiarity with NetBSD.
                     61: * familiarity with user interface programming using curses.
                     62: 
                     63: ### References:
                     64: 
                     65: * [sysinst source (opengrok)](http://cvsweb.netbsd.org/bsdweb.cgi/src/distrib/utils/sysinst/)
                     66: * [vnconfig manual page](http://netbsd.gw.com/cgi-bin/man-cgi?vnconfig++NetBSD-current)
                     67: * [raidctl manual page](http://netbsd.gw.com/cgi-bin/man-cgi?raidctl++NetBSD-current)
                     68: * [cgdconfig manual page](http://netbsd.gw.com/cgi-bin/man-cgi?cgdconfig++NetBSD-current)
                     69: * [LVM on NetBSD](http://www.netbsd.org/docs/guide/en/chap-lvm.html)
                     70: * [Anita automated testing](http://www.gson.org/netbsd/anita/)
                     71: """
                     72: ]]
                     73: 
                     74: [[!tag gsoc]]

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