HelenOS installer
Create a set of applications that would install HelenOS on a hard disk from within HelenOS.
- Details
-
The installation should consist of several independent steps such as installing the boot loader, editing the partition table and creating and populating the target file system. The installer should interactively guide the user through the installation process and ask the user for details whenever more installation options emerge such as when there are more potential target disks detected or when the user might want to choose the type of or edit the partition table on the target disk or when there are more file systems to choose from. The installer can be a command line utility or it can use text pseudo graphics.
Even though the installer currently makes the biggest sense for the amd64 and ia32 platforms, the installer should anticipate future extending to other platforms supported by HelenOS. This basically means the installer architecture should allow for other installation methods, other partition table types and/or other file system creators to be added later.
This project is closely related to the following tickets that should be considered its integral parts:
#127 Partition editor
#129 Bootloader install
The installer should be able to install HelenOS on a system without any other operating system installed on it or add itself to some spare disk partition or disk and coexist with some other operating system installation. The idea is that after the installation it is possible to boot into the new HelenOS system created by the installer.
- What Gains and Benefits will this bring?
-
Traditionally, HelenOS is run in the form of a live CD image or a net-boot image or can even boot off a hard disk, but one cannot easily install it at the moment. Now that HelenOS has supported permanent storage, it makes sense to make another step towards to the long-term goal of becoming self-hosting.
- Difficulty
-
medium
- Required skills
-
A successful applicant will have good skills of programming in the C language and the ability to survive in a non-standard non-POSIX application environment.
- Documentation
-
- DeveloperDocs
- StringAPI
- See the mkfat application for an example of a file system creator.
- See the mbr_part and g_part servers for example of code that deals with various partition types.
- Possible mentors
-
HelenOS Core Team, Martin Decky, Jiri Svoboda
Change History
(12)
Component: |
unspecified → install
|
Description: |
modified (diff)
|
Description: |
modified (diff)
|
Description: |
modified (diff)
|
Description: |
modified (diff)
|
Description: |
modified (diff)
|
Keywords: |
gsoc10 gsoc11 added; gsoc removed
|
Keywords: |
gsoc10,gsoc11 → gsoc10, gsoc11
|
Milestone: |
→ 0.7.0
|
Resolution: |
→ fixed
|
Status: |
new → closed
|
Implemented in mainline,2451. This is a simple installer prototype. It is functional, but very simple. There is no user interaction. The target device is fixed (because we cannot build a core.img yet). The target device must be empty prior to installation. The result of installation is a 'live hard disk', because, same as the live CD, it boots from a ram disk and does not have any persistent file system mounted by default.