A layman's guide - Unattended installation

From ReactOS Wiki
Revision as of 10:48, 25 May 2021 by Oldman (talk | contribs) (Unattended.inf)
Jump to: navigation, search

Index to the layman's guides


This guide will show you what you need to do to be able to install ReactOS without needing constant input from you (unattended installation).

All that you need to do, is to alter unattended.inf with your own values, you can do this before you compile the source code (see A layman's guide - How to compile ReactOS) or by altering unattended.inf from an already created ISO (see A layman's guide - Altering files in an ISO).

There are just a few things that you will require before starting:

  • The screen resolution and refresh rate for the target computer's monitor.
  • The keyboard of the target computer (see the section Keyboard Layouts below).
  • Your time zone (see the section Time zone codes below).

When you have the above values, you can alter unattended.inf, but please read the next section for further information.

Unattended.inf

The unattended.inf file can be found in the source at \reactos\boot\bootdata\bootcd\.

Example: E:\ReactOS_Development\Source\reactos\boot\bootdata\bootcd\unattended.inf.

It can also be found in the ISO at \reactos.

The following shows the unattended.inf file, split into sections with some suggestions.

[Unattend]
Signature = "$ReactOS$"

Leave this as is.

; Set UnattendSetupEnabled to yes in order to get unattended setup working
; yes - unattend setup enabled
; no - unattend setup disabled
UnattendSetupEnabled = no

You must change UnattendSetupEnabled to yes.

; Install to \Device\Harddisk0\Partition1\ReactOS
DestinationDiskNumber = 0
DestinationPartitionNumber = 1
InstallationDirectory=ReactOS

This should be left as is for normal installations.

; MBRInstallType=0  skips MBR installation
; MBRInstallType=1  install MBR on floppy
; MBRInstallType=2  install MBR on hdd
MBRInstallType=2

This should be left as is, unless you have reason to change it.

FullName="MyName"
;OrgName="MyOrg"
ComputerName="MYCOMPUTERNAME"
;AdminPassword="MyPassword"

You can put your own preferences here (remove the semicolon (;) to activate), but if you are only testing; is it worth it.

; TimeZone is set GMT as default
TimeZoneIndex=85

Set TimeZoneIndex= to your own country's time zone (see the section Time zone codes below).

; enable this setting to disable daylight saving changes
; DisableAutoDaylightTimeSet = 1

Remove the semicolon (;) if you do not want automatic adjustment to or from summer time.

; enable this setting to format the selected partition
; 1 - format enabled
; 0 - format disabled
FormatPartition=1

Change this to FormatPartition=0 if you do not want the partition formatted.

; enable this setting to automatically create a partition
; during installation
; 1 - enabled
; 0 - disabled
AutoPartition = 1

Set this as required.

; choose default file system type
; 0 - FAT
; 1 - BtrFS
FsType = 0

Currently (until a bug is fixed) FAT is the only option here.

; enable this setting to disable Gecko install
; yes - disabled
; no  - enabled
DisableGeckoInst = no

Change this as required, but if your network card is not supported by one of the default drivers, then you could have a stoppage if it is left at no.

; set this option to automatically
; specify language in 2nd mode setup
; see hivesys.inf for available languages
LocaleID = 409

Change LocaleID = to your own language (see the section Keyboard Layouts below). 409 is US English.

; set product option
; 0: ReactOS Server
; 1: ReactOS Workstation
ProductOption = 0

Change this as required.

; enable this section to automatically launch programs
; after 3rd boot
;
; [GuiRunOnce]
; %SystemRoot%\system32\cmd.exe
; Enable the next line (+ the GuiRunOnce section) to enable the lautus theme
; "rundll32.exe shell32.dll,Control_RunDLL desk.cpl desk,@Appearance /Action:ActivateMSTheme /file:%SYSTEMROOT%\Resources\themes\lautus\lautus.msstyles"

This is probably best left disabled.

; enable this section to change resolution / bpp
; setting a value to 0 or skipping it will leave it unchanged
; [Display]
; BitsPerPel = 32
; XResolution = 1440
; YResolution = 900
; VRefresh = 0

You will need to find these values for your hardware, but this is an example:
[Display]
BitsPerPel = 32
XResolution = 1024
YResolution = 768
VRefresh = 60

Time zone codes

Time zone names and code numbers have been taken from ReactOS's hivesft.inf. They are in numerical order and not in alphabetical order, so you will have to search for your time zone name.

Index Time Zone Index Time Zone Index Time Zone
0 Dateline Standard Time 1 Samoa Standard Time 2 Hawaiian Standard Time
3 Alaskan Standard Time 4 Pacific Standard Time 10 Mountain Standard Time
13 Mountain Standard Time (Mexico) 15 US Mountain Standard Time 20 Central Standard Time
25 Canada Central Standard Time 30 Central Standard Time (Mexico) 33 Central America Standard Time
35 Eastern Standard Time 40 US Eastern Standard Time 45 SA Pacific Standard Time
50 Atlantic Standard Time 55 SA Western Standard Time 56 Pacific SA Standard Time
60 Newfoundland Standard Time 65 E. South America Standard Time 70 SA Eastern Standard Time
73 Greenland Standard Time 75 Mid-Atlantic Standard Time 80 Azores Standard Time
83 Cape Verde Standard Time 85 GMT Standard Time 90 Greenwich Standard Time
95 Central Europe Standard Time 100 Central European Standard Time 105 Romance Standard Time
110 W. Europe Standard Time 115 E. Europe Standard Time 120 Egypt Standard Time
125 FLE Standard Time 130 GTB Standard Time 135 Israel Standard Time
140 South Africa Standard Time 142 Belarus Standard Time 143 Kaliningrad Standard Time
145 Russian Standard Time 150 Arab Standard Time 155 E. Africa Standard Time
158 Arabic Standard Time 160 Iran Standard Time 165 Arabian Standard Time
170 Caucasus Standard Time 172 Russia Time Zone 3 175 Afghanistan Standard Time
180 Ekaterinburg Standard Time 185 West Asia Standard Time 190 India Standard Time
193 Nepal Standard Time 194 Sri Lanka Standard Time 195 Central Asia Standard Time
201 Omsk Standard Time 203 Myanmar Standard Time 204 N. Central Asia Standard Time
205 SE Asia Standard Time 207 North Asia Standard Time 208 Tomsk Standard Time
210 China Standard Time 215 Singapore Standard Time 220 Taipei Standard Time
225 W. Australia Standard Time 226 Ulaanbaatar Standard Time 227 North Asia East Standard Time
230 Korea Standard Time 235 Tokyo Standard Time 240 Yakutsk Standard Time
245 AUS Central Standard Time 250 Cen. Australia Standard Time 255 AUS Eastern Standard Time
260 E. Australia Standard Time 265 Tasmania Standard Time 270 Vladivostok Standard Time
275 West Pacific Standard Time 280 Central Pacific Standard Time 282 Russia Time Zone 10
283 Magadan Standard Time 285 Fiji Standard Time 288 Russia Time Zone 11
290 New Zealand Standard Time 300 Tonga Standard Time

Keyboard Layouts

The keyboard codes are in the following eight digit format:

00000401 (ARABIC_101) - 00010401 (ARABIC_102). You will only need the portion highlighted in bold.

Some codes I have included a leading zero, just to be safe; this zero may not be necessary.

These keyboard codes have been taken from hivesys.inf in ReactOS the source.

The keyboard names that are highlighted in orange, appear to be unimplemented (they are commented out in the hivesys.inf file).

Code Keyboard Code Keyboard Code Keyboard
401 ARABIC_101 10401 ARABIC_102 20401 ARABIC_102_AZERTY
402 BULGARIAN_BDS 20402 BULGARIAN_PHONETIC 30402 BULGARIAN_PHONETIC_BDS
405 CZECH 10405 CZECH_QWERTY 406 DANISH
30407 GERMAN_ERGO 20407 GERMAN_NEO 10407 GERMAN_RISTOME
407 GERMAN 807 SWISS_GERMAN 408 GREEK
409 US 809 UK 1809 IRISH
10409 US_DVORAK 11009 CANADIAN_MULTILINGUAL 20409 US_INTERNATIONAL
30409 US_DVORAK_LEFT 40409 US_DVORAK_RIGHT 50409 US_ARABIC
040a SPANISH 080a LATIN_AMERICAN 040b FINNISH
040c FRENCH 080c BELGIAN_FRENCH 0c0c CANADIAN_FRENCH
100c SWISS_FRENCH 040d HEBREW 040e HUNGARIAN
040f ICELANDIC "Icelandic" 410 ITALIAN 411 JAPANESE
412 KOREAN 413 DUTCH 813 BELGIAN_DUTCH
414 NORWEGIAN 415 POLISH_PROGRAMMERS 10415 POLISH_214
10416 PORTUGUESE_BRAZILIAN 816 PORTUGUESE 418 ROMANIAN_LEGACY
10418 ROMANIAN_STANDARD 419 RUSSIAN 10419 RUSSIAN_TYPEWRITER
041a CROATIAN 081a SERBIAN_LATIN 0c1a SERBIAN_CYRILLIC
041b SLOVAK 1041b SLOVAK_QWERTY 041c ALBANIAN
041d SWEDISH 041e THAI_KEDMANEE 1041e THAI_PATTACHOTE
2041e THAI_KEDMANEE_NON_SHIFTLOCK 3041e THAI_PATTACHOTE_NON_SHIFTLOCK 041f TURKISH_Q
1041f TURKISH_F 422 UKRAINIAN 10422 UKRAINIAN_STUDENT
423 BELARUSIAN 425 ESTONIAN 426 LATVIAN
10426 LATVIAN_QUERTY 10427 LITHUANIAN 042a VIETNAMESE
042b ARMENIAN_EASTERN 1042b ARMENIAN_WESTERN 042c AZERI_LATIN
082c AZERI_CYRILLIC 042f MACEDONIAN 437 GEORGIAN
438 FAEROESE 439 DEVANAGARI 043f KAZAKH
843 UZBEK_CYRILLIC 444 TATAR 445 BENGALI
845 "Bengali" 447 GUJARATI 044c MALAYALAM
044d ASSAMESE 455 BURMESE 048f "Esperanto"

Installation notes

Use the ISO in the same way as you would a normal ISO. If there is no operating system installed on the target partition, then you can just leave it to do it's work, but if you already have a operating system installed on the target partition, you will have to wait until it shows the message about pressing any key to continue. If you fail to press a key it will boot into the already installed OS.

When it has finished installing, it will be at the desktop ready for use, unless there is hardware without drivers, then you will have the Hardware Wizard window open and waiting for input.


Index to the layman's guides

See also Create an unattended Installation CD