First Stage GUI Setup
We want to offer, as an alternative to the 1st stage text-mode setup (usetup) as default setup, a 1st stage GUI setup so we can join bootcd and LiveCD to one CD (like in Ubuntu), which provides both the functionality of LiveCD as well as setup-cd. The modes selected in FreeLoader should be:
- LiveCD (booting a Live-System without touching any hard disk),
- GUI-Setup (booting a GUI similiar to LiveCD for the first stage of setup, usetup replacement),
- Text-Setup (booting the old text-mode setup).
It can be possible to combine both LiveCD and GUI-Setup modes into one entry, in which case, a GUI selector can be used to ask the user whether to test the LiveCD, or to perform the installation. Note: This GUI selector has been introduced in revision 70607 by Eric Kohl.
Language and Keyboard selection
Select system and setup language Done
Select keyboard layout Done
Setup Type / Action
- Install ReactOS Done
- Update ReactOS (not selectable at the moment)
- Recovery tools (not reachable at the moment)
Computer type Done
Display settings Done
Keyboard type Done
Manage partitions (create, format, delete) to install ReactOS.
Select and use RAID or SCSI hard disk drivers
Support for FAT32 and later NTFS, EXT2, etc. Installation folder in "advanced options"-dialog
Setup boot loader (install, configure)
These features can be shared by both the text-mode, and the GUI setup programs, if they are shared via a "setup-library".
List all properties of selected installation to check the setup before the installation process starts
Installing boot loader
First stage setup successful dialog
Reboot to resume with second stage Done
Read settings from file and setup system without user interaction
Following thing(s) need to be fixed before we can continue:
On the other hand, I'm looking for a(n elegant) solution to update the language of the installer during runtime. Especially how to reload and setup dialog resources after "SetThreadLocale". ANSWER: See how it is currently done for the LiveCD.
Installing hives should be done in an offline fashion (we set up the contents of the hives for the ReactOS installation that is being performed, not for the ReactOS installation instance that is currently running during setup, aka. the one in the LiveCD). Therefore the setupapi functions cannot be used as they are.
Installing the boot loader should be performed in a multi-boot-friendly way. Support for FreeLdr is mandatory, but one has to think about how to do it for a UEFI platform (when we'll support them).