Difference between revisions of "First Stage GUI Setup"

From ReactOS Wiki
Jump to: navigation, search
m (fixed in 0.4.11)
 
(13 intermediate revisions by 8 users not shown)
Line 1: Line 1:
current developers: [[User:Maku|Matthias Kupfer]], [[User:Lentin|Dmitry Chapyshev]], [[User:Frik85|Klemens Friedl]]
 
 
 
== Objective ==
 
== Objective ==
We want to replace the 1st stage textmode setup (usetup) as default setup by a 1st stage GUI setup. So we can join bootcd and livecd to one cd (like in Ubuntu), which provides functionality of livecd as well as setup-cd. The modes selected in freeloader should be:
+
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)
+
* [[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)
+
* GUI-Setup (booting a GUI similiar to [[LiveCD]] for the first stage of setup, usetup replacement),
* Text-Setup (booting the old textmode setup)
+
* Text-Setup (booting the old text-mode setup).
(Later LiveCD and GUI-Setup mode might be combined to one entry.)
+
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 {{rev|70607}} by Eric Kohl.
  
 
== Steps ==
 
== Steps ==
Line 19: Line 18:
 
=== Setup Type / Action ===
 
=== Setup Type / Action ===
  
* Install ReactOS <font style="color:green">Done</font>
+
* Install [[ReactOS]] <font style="color:green">Done</font>
* Update ReactOS (not selectable at the moment)
+
* Update [[ReactOS]] (not selectable at the moment)
 
* Recovery tools (not reachable at the moment)
 
* Recovery tools (not reachable at the moment)
  
Line 31: Line 30:
 
=== Partition Tool ===
 
=== Partition Tool ===
  
Manage partitions (create, format, delete) to install ReactOS.<br />
+
Manage partitions (create, format, delete) to install [[ReactOS]].<br />
 
Select and use RAID or SCSI hard disk drivers<br />
 
Select and use RAID or SCSI hard disk drivers<br />
Support for FAT32 and later NTFS, EXT2, etc. Installation folder in "advanced options"-dialog<br />
+
Support for [[File_Systems#FAT32|FAT32]] and later [[File_Systems#NTFS|NTFS]], [[File_Systems#EXT2|EXT2]], etc. Installation folder in "advanced options"-dialog<br />
 
Setup boot loader (install, configure)<br />
 
Setup boot loader (install, configure)<br />
 +
 +
These features can be shared by both the text-mode, and the GUI setup programs, if they are shared via a "setup-library".
  
 
=== Summary ===
 
=== Summary ===
Line 40: Line 41:
 
List all properties of selected installation to check the setup before the installation process starts
 
List all properties of selected installation to check the setup before the installation process starts
  
=== Install ReactOS ===
+
=== Install [[ReactOS]] ===
  
 
Create/prepare partitions<br />
 
Create/prepare partitions<br />
Line 59: Line 60:
 
Following thing(s) need to be fixed before we can continue:
 
Following thing(s) need to be fixed before we can continue:
  
* [http://www.reactos.org/bugzilla/show_bug.cgi?id=3886 Missing function of SetupDi* routines]
+
* <s>[https://jira.reactos.org/browse/CORE-3579 Missing function of SetupDi* routines]</s>
 +
 
 +
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).
 +
 
 +
==See Also==
 +
* [[ReactOS Welcome Wizard]]
 +
* [[LiveCD]]
 +
* [[LiveUSB]]
 +
 
 +
[[Category:ReactOS Components]]

Latest revision as of 22:25, 23 May 2019

Objective

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 r70607 by Eric Kohl.

Steps

Language and Keyboard selection

Select system and setup language Done
Select keyboard layout Done

preview of first page of setup

Setup Type / Action

  • Install ReactOS Done
  • Update ReactOS (not selectable at the moment)
  • Recovery tools (not reachable at the moment)

Device Settings

Computer type Done
Display settings Done
Keyboard type Done

Partition Tool

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".

Summary

List all properties of selected installation to check the setup before the installation process starts

Install ReactOS

Create/prepare partitions
Copying files
Installing hives
Installing boot loader

First stage setup successful dialog

Reboot to resume with second stage Done

Unattended setup

Read settings from file and setup system without user interaction

Issues

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).

See Also