VirtualBox

source: vbox/trunk/src/VBox/Main/UnattendedTemplates/os2_cid_install.cmd

Last change on this file was 98103, checked in by vboxsync, 16 months ago

Copyright year updates by scm.

  • Property svn:eol-style set to CRLF
  • Property svn:keywords set to Author Date Id Revision
File size: 15.2 KB
Line 
1@ECHO OFF
2REM $Id: os2_cid_install.cmd 98103 2023-01-17 14:15:46Z vboxsync $
3REM REM @fileREM
4REM VirtualBox CID Installation - main driver script for boot CD/floppy.
5REM
6
7REM
8REM Copyright (C) 2004-2023 Oracle and/or its affiliates.
9REM
10REM This file is part of VirtualBox base platform packages, as
11REM available from https://www.virtualbox.org.
12REM
13REM This program is free software; you can redistribute it and/or
14REM modify it under the terms of the GNU General Public License
15REM as published by the Free Software Foundation, in version 3 of the
16REM License.
17REM
18REM This program is distributed in the hope that it will be useful, but
19REM WITHOUT ANY WARRANTY; without even the implied warranty of
20REM MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
21REM General Public License for more details.
22REM
23REM You should have received a copy of the GNU General Public License
24REM along with this program; if not, see <https://www.gnu.org/licenses>.
25REM
26REM SPDX-License-Identifier: GPL-3.0-only
27REM
28
29REM Check the phase argument and jump to the right section of the file.
30if "%1" == "PHASE1" goto phase1
31if "%1" == "PHASE2" goto phase2
32if "%1" == "PHASE3" goto phase3
33@echo ** error: invalid or missing parameter. Expected PHASE1, PHASE2 or PHASE3 as the first parameter to the script.
34pause
35cmd.exe
36exit /b 1
37
38REM
39REM Phase 1 - Base system installation.
40REM
41:phase1
42SET CDROM=S:
43
44@echo on
45@echo .
46@echo Step 1.1 - Partition the disk.
47@echo .
48cd %CDROM%\os2image\disk_6
49%CDROM%
50
51lvm.exe /NEWMBR:1 && goto lvm_newmbr_ok
52@echo ** error: Writing a new MBR on disk 1 failed.
53goto lvm_failed
54:lvm_newmbr_ok
55
56@REM Depends the default drive name being "[ D1 ]". However it's cosmetical,
57@REM so we don't complain if this fails.
58lvm.exe "/SETNAME:DRIVE,[ D1 ],BootDrive"
59
60lvm.exe /CREATE:PARTITION,OS2Boot,1,1024,PRIMARY,BOOTABLE && goto lvm_create_partition_ok
61@echo ** error: Creating boot partition on disk 1 failed.
62goto lvm_failed
63:lvm_create_partition_ok
64
65lvm.exe /CREATE:VOLUME,COMPATIBILITY,BOOTOS2,C:,OS2Boot,1,OS2Boot && goto lvm_create_volume_ok
66@echo ** error: Creating boot volume on disk 1 failed.
67goto lvm_failed
68:lvm_create_volume_ok
69
70lvm.exe /SETSTARTABLE:VOLUME,OS2Boot && goto lvm_set_startable_ok
71@echo ** error: Setting boot volume on disk 1 startable failed.
72goto lvm_failed
73:lvm_set_startable_ok
74
75@REM Depending on the freespace automatically getting the name "[ FS1 ]".
76lvm.exe "/CREATE:PARTITION,Data,1,LOGICAL,NotBootable,[ FS1 ]" && goto lvm_create_data_partition_ok
77@echo ** error: Creating data partition on disk 1 failed.
78goto lvm_failed
79:lvm_create_data_partition_ok
80
81lvm.exe /CREATE:VOLUME,LVM,D:,Data,1,Data && goto lvm_create_data_volume_ok
82@echo ** error: Creating data volume on disk 1 failed.
83goto lvm_failed
84:lvm_create_data_volume_ok
85
86REM pause
87lvm.exe /QUERY
88REM CMD.EXE
89goto done_step1_1
90
91:lvm_failed
92@echo .
93@echo An LVM operation failed (see above).
94@echo The process requires a blank disk with no partitions. Starting LVM
95@echo so you can manually correct this.
96@echo .
97pause
98lvm.exe
99%CDROM%\cid\exe\os2\setboot.exe /B
100exit
101
102:done_step1_1
103
104:step1_2
105@echo .
106@echo Step 1.2 - Format the volumes.
107@echo .
108cd %CDROM%\os2image\disk_3
109%CDROM%
110
111FORMAT.COM C: /FS:HPFS /V:OS2Boot < %CDROM%\VBoxCID\YES.TXT && goto format_boot_ok
112@echo ** error: Formatting C: failed.
113pause
114:format_boot_ok
115
116FORMAT.COM D: /FS:JFS /V:Data < %CDROM%\VBoxCID\YES.TXT && goto format_data_ok
117@echo ** error: Formatting D: failed.
118pause
119:format_data_ok
120
121cd \
122
123:step1_3
124@echo .
125@echo Step 1.3 - Putting response files and CID tools on C:
126@echo .
127mkdir C:\VBoxCID
128mkdir C:\OS2
129copy %CDROM%\cid\exe\os2\*.* C:\VBoxCID
130copy %CDROM%\cid\dll\os2\*.* C:\VBoxCID
131copy %CDROM%\os2image\disk_2\inst32.dll C:\VBoxCID
132copy %CDROM%\VBoxCID\*.* C:\VBoxCID && goto copy_1_ok
133@echo ** error: Copying CID stuff from CDROM to C: failed (#1).
134pause
135:copy_1_ok
136copy %CDROM%\VBoxCID.CMD C:\VBoxCID && goto copy_2_ok
137@echo ** error: Copying CID stuff from CDROM to C: failed (#2).
138pause
139:copy_2_ok
140
141:step1_4
142@echo .
143@echo Step 1.4 - Start OS/2 CID installation.
144@echo .
145SET REMOTE_INSTALL_STATE=CAS_WARP4
146cd C:\OS2
147C:
148@REM Treat 0xfe00 as a success status. It seems to mean that a reboot is required.
149C:\VBoxCID\OS2_UTIL.EXE --as-zero 0xfe00 -- C:\VBoxCID\SEMAINT.EXE /S:%CDROM%\os2image /B:C: /L1:C:\VBoxCID\1.4.1-Maint.log /T:C:\OS2 && goto semaint_ok
150C:\VBoxCID\OS2_UTIL.EXE --file-to-backdoor C:\VBoxCID\1.4.1-Maint.log
151pause
152:semaint_ok
153REM CMD.EXE
154
155cd C:\VBoxCID
156C:
157@REM Treat 0xff02 as a success status. It seems to mean that a reboot is required.
158C:\VBoxCID\OS2_UTIL.EXE --as-zero 0xff02 -- C:\VBoxCID\SEINST.EXE /S:%CDROM%\os2image /B:C: /L1:C:\VBoxCID\1.4.2-CIDInst.log /R:C:\VBoxCID\OS2.RSP /T:A:\ && goto seinst_ok
159C:\VBoxCID\OS2_UTIL.EXE --file-to-backdoor C:\VBoxCID\1.4.2-CIDInst.log
160pause
161:seinst_ok
162REM CMD.EXE
163
164:step1_5
165@echo .
166@echo Step 1.5 - Make C: bootable.
167@echo .
168C:
169cd C:\OS2
170SYSINSTX.COM C: && goto sysinstx_ok
171pause
172:sysinstx_ok
173
174@echo Copying over patched OS2LDR from A:
175attrib -R -H -S C:\OS2LDR
176copy C:\OS2LDR C:\OS2LDR.Phase1
177del C:\OS2LDR
178copy A:\OS2LDR C:\OS2LDR && goto copy_os2ldr_ok
179pause
180:copy_os2ldr_ok
181attrib +R +H +S C:\OS2LDR
182
183@REM This copy is for the end of phase 2 as someone replaces it.
184copy A:\OS2LDR C:\VBoxCID && goto copy_os2ldr_2_ok
185pause
186:copy_os2ldr_2_ok
187attrib +r C:\VBoxCID\OS2LDR
188
189@echo Enabling Alt-F2 driver logging during boot.
190@echo > "C:\ALTF2ON.$$$"
191
192@echo Install startup.cmd for phase2.
193@echo C:\VBoxCID\OS2_UTIL.EXE --tee-to-backdoor --tee-to-file C:\VBoxCID\Phase2.log --append -- C:\OS2\CMD.EXE /C C:\VBoxCID\VBoxCID.CMD PHASE2> C:\STARTUP.CMD && goto phase2_startup_ok
194pause
195:phase2_startup_ok
196
197copy C:\CONFIG.SYS C:\VBoxCID\Phase1-end-config.sys
198
199REM now reboot.
200goto reboot
201
202
203REM
204REM Phase 2 - Install GRADD drivers (VGA is horribly slow).
205REM
206:phase2
207SET CDROM=E:
208IF EXIST "%CDROM%\VBoxCID.CMD" goto phase2_found_cdrom
209SET CDROM=D:
210IF EXIST "%CDROM%\VBoxCID.CMD" goto phase2_found_cdrom
211SET CDROM=F:
212IF EXIST "%CDROM%\VBoxCID.CMD" goto phase2_found_cdrom
213SET CDROM=G:
214IF EXIST "%CDROM%\VBoxCID.CMD" goto phase2_found_cdrom
215SET CDROM=H:
216IF EXIST "%CDROM%\VBoxCID.CMD" goto phase2_found_cdrom
217SET CDROM=S:
218IF EXIST "%CDROM%\VBoxCID.CMD" goto phase2_found_cdrom
219@echo ** error: Unable to find the CDROM drive
220pause
221CMD
222SET CDROM=E:
223:phase2_found_cdrom
224cd C:\VBoxCID
225C:
226
227@echo on
228
229:step2_1
230@echo .
231@echo Step 2.1 - Install the video driver.
232@echo .
233@REM Treat 0xfe00 as a success status. It seems to mean that a reboot is required.
234C:\VBoxCID\OS2_UTIL.EXE --as-zero 0xfe00 -- C:\OS2\INSTALL\DspInstl.EXE /PD:C:\OS2\INSTALL\GENGRADD.DSC /S:%CDROM%\OS2IMAGE /T:C: /RES:1024X768X16777216 /U && goto dspinstl_ok
235C:\VBoxCID\OS2_UTIL.EXE --file-to-backdoor C:\OS2\INSTALL\DSPINSTL.LOG
236C:\VBoxCID\OS2_UTIL.EXE --file-to-backdoor C:\OS2\INSTALL\GRADD.LOG
237pause
238:dspinstl_ok
239
240@REM TODO: Error: 1 Error getting current desktop mode
241@REM UPDATE: This is probably not working because SVGA.EXE doesn't want to play along with our graphics adapter,
242@REM so it looks like there is no simple way of changing the resolution or select a better monitor.
243call VCfgCID.CMD /L1:C:\VBoxCID\2.1-Video.log /L2:C:\VBoxCID\2.1-Video-2.log /RES:1024X768X16777216 /MON:548
244goto vcfgcid_ok
245C:\VBoxCID\OS2_UTIL.EXE --file-to-backdoor C:\VBoxCID\2.1-Video.log
246pause
247:vcfgcid_ok
248cd C:\VBoxCID
249C:
250
251:step2_2
252@echo Install startup.cmd for phase3.
253ren C:\STARTUP.CMD C:\VBoxCID\Phase2-end-startup.cmd
254copy C:\CONFIG.SYS C:\VBoxCID\Phase2-end-config.sys
255@echo C:\VBoxCID\OS2_UTIL.EXE --tee-to-backdoor --tee-to-file C:\VBoxCID\Phase3.log --append -- C:\OS2\CMD.EXE /C C:\VBoxCID\VBoxCID.CMD PHASE3> C:\STARTUP.CMD && goto phase3_startup_ok
256pause
257:phase3_startup_ok
258
259REM now reboot.
260goto reboot
261
262
263REM
264REM Phase 2 - The rest of the installation running of the base install with fast GRADD drivers.
265REM
266:phase3
267SET CDROM=E:
268IF EXIST "%CDROM%\VBoxCID.CMD" goto phase3_found_cdrom
269SET CDROM=D:
270IF EXIST "%CDROM%\VBoxCID.CMD" goto phase3_found_cdrom
271SET CDROM=F:
272IF EXIST "%CDROM%\VBoxCID.CMD" goto phase3_found_cdrom
273SET CDROM=G:
274IF EXIST "%CDROM%\VBoxCID.CMD" goto phase3_found_cdrom
275SET CDROM=H:
276IF EXIST "%CDROM%\VBoxCID.CMD" goto phase3_found_cdrom
277SET CDROM=S:
278IF EXIST "%CDROM%\VBoxCID.CMD" goto phase3_found_cdrom
279@echo ** error: Unable to find the CDROM drive
280pause
281CMD
282SET CDROM=E:
283:phase3_found_cdrom
284cd C:\VBoxCID
285C:
286
287@echo on
288
289:step3_1
290@echo .
291@echo Step 3.1 - Install multimedia.
292@echo .
293cd C:\mmtemp
294C:
295@REM Does not have any /L, /L1, or /L2 options. Fixed log file: C:\MINSTALL.LOG.
296@REM Treat 0xfe00 as a success status. It seems to mean that a reboot is required.
297C:\VBoxCID\OS2_UTIL.EXE --as-zero 0xfe00 -- MInstall.EXE /M /R:C:\VBoxCID\MMOS2.RSP && goto mmos2_ok
298C:\VBoxCID\OS2_UTIL.EXE --file-to-backdoor C:\MINSTALL.LOG
299pause
300:mmos2_ok
301cd C:\VBoxCID
302
303:step3_2
304@echo .
305@echo Step 3.2 - Install features.
306@echo .
307@REM Treat 0xfe00 as a success status. It seems to mean that a reboot is required.
308C:\VBoxCID\OS2_UTIL.EXE --as-zero 0xfe00 -- CLIFI.EXE /A:C /B:C: /S:%CDROM%\os2image\fi /R:C:\OS2\INSTALL\FIBASE.RSP /L1:C:\VBoxCID\3.2-FeatureInstaller.log /R2:C:\VBoxCID\OS2.RSP
309@REM does not exit with status 0 on success.
310goto features_ok
311C:\VBoxCID\OS2_UTIL.EXE --file-to-backdoor C:\VBoxCID\3.2-FeatureInstaller.log
312pause
313:features_ok
314
315:step3_3
316@echo .
317@echo Step 3.3 - Install MPTS.
318@echo .
319@REM If we want to use non-standard drivers like the intel ones, copy the .NIF- and
320@REM .OS2-files to C:\IBMCOM\MACS before launching the installer (needs creating first).
321@REM Note! Does not accept /L2:.
322@REM Note! Omitting /TU:C in hope that it solves the lan install failure (no netbeui configured in mpts).
323CD %CDROM%\CID\SERVER\MPTS
324%CDROM%
325@REM Treat 0xfe00 as a success status. It seems to mean that a reboot is required.
326C:\VBoxCID\OS2_UTIL.EXE --as-zero 0xfe00 -- %CDROM%\CID\SERVER\MPTS\MPTS.EXE /R:C:\VBoxCID\MPTS.RSP /S:%CDROM%\CID\SERVER\MPTS /T:C: /L1:C:\VBoxCID\3.3-Mpts.log && goto mpts_ok
327C:\VBoxCID\OS2_UTIL.EXE --file-to-backdoor C:\VBoxCID\3.3-Mpts.log
328pause
329:mpts_ok
330CD %CDROM%\
331C:
332
333:step3_4
334@echo .
335@echo Step 3.4 - Install TCP/IP.
336@echo .
337CD %CDROM%\CID\SERVER\TCPAPPS
338%CDROM%
339@REM Treat 0xfe00 as a success status. It seems to mean that a reboot is required.
340C:\VBoxCID\OS2_UTIL.EXE --as-zero 0xfe00 -- CLIFI.EXE /A:C /B:C: /S:%CDROM%\CID\SERVER\TCPAPPS\INSTALL /R:%CDROM%\CID\SERVER\TCPAPPS\INSTALL\TCPINST.RSP /L1:C:\VBoxCID\3.4-tcp.log /L2:C:\VBoxCID\3.4-tcp-2.log && goto tcp_ok
341C:\VBoxCID\OS2_UTIL.EXE --file-to-backdoor C:\VBoxCID\3.4-tcp.log
342pause
343:tcp_ok
344CD %CDROM%\
345C:
346
347CD %CDROM%\CID\SERVER\TCPAPPS\INSTALL
348%CDROM%
349C:\VBoxCID\OS2_UTIL.EXE -- %CDROM%\CID\SERVER\TCPAPPS\INSTALL\makecmd.exe C:\TCPIP en_US C:\MPTS && goto makecmd_ok
350pause
351:makecmd_ok
352cd %CDROM%\
353
354:step3_5
355@echo .
356@echo Step 3.5 - Install IBM LAN Requestor/Peer.
357@echo .
358SET REMOTE_INSTALL_STATE=CAS_OS/2 Peer
359CD %CDROM%\CID\SERVER\IBMLS
360%CDROM%
361C:\VBoxCID\OS2_UTIL.EXE -- %CDROM%\CID\SERVER\IBMLS\LANINSTR.EXE /REQ /R:C:\VBoxCID\IBMLan.rsp /L1:C:\VBoxCID\3.5-IBMLan.log /L2:C:\VBoxCID\3.5-IBMLan-2.log && goto ibmlan_ok
362C:\VBoxCID\OS2_UTIL.EXE --file-to-backdoor C:\VBoxCID\3.5-IBMLan.log
363:ibmlan_ok
364CD %CDROM%\
365C:
366
367:step3_6
368@echo .
369@echo Step 3.6 - Install Netscape.
370@echo .
371CD C:\VBoxCID
372C:
373%CDROM%
374@REM Skipping as it hangs after a "Message file not found." error. (The DPATH amendment doesn't help.) Logs give no clue.
375@REM The install works fine after the phase3 reboot. Next log message then is "NS46EXIT QLTOBMCONVERT en_US, rc=0x0000",
376@REM so maybe it is related to the LANG environment variable or Locale? Hmm. LANG seems to be set...
377goto netscape_ok
378SET DPATH=%DPATH%;C:\NETSCAPE\SIUTIL;C:\NETSCAPE\PROGRAM;
379IF "x%LANG%x" == "xx" THEN SET LANG=en_US
380C:\VBoxCID\OS2_UTIL.EXE -- %CDROM%\CID\SERVER\NETSCAPE\INSTALL.EXE /X /A:I /TU:C: /C:%CDROM%\CID\SERVER\NETSCAPE\NS46.ICF /S:%CDROM%\CID\SERVER\NETSCAPE /R:C:\VBoxCID\Netscape.RSP /L1:C:\VBoxCID\3.6-Netscape.log /L2:C:\VBoxCID\3.6-Netscape-2.log && goto netscape_ok
381C:\VBoxCID\OS2_UTIL.EXE --file-to-backdoor C:\VBoxCID\3.6-Netscape.log
382pause
383:netscape_ok
384CD %CDROM%\
385C:
386
387:step3_7
388@echo .
389@echo Step 3.7 - Install feature installer.
390@echo .
391@REM No /L2: support.
392@REM The /NN option is to make it not fail if netscape is missing.
393C:\VBoxCID\OS2_UTIL.EXE -- C:\OS2\INSTALL\WSFI\FiSetup.EXE /B:C: /S:C:\OS2\INSTALL\WSFI\FISETUP /NN /L1:C:\VBoxCID\3.7-FiSetup.log && goto fisetup_ok
394C:\VBoxCID\OS2_UTIL.EXE --file-to-backdoor C:\VBoxCID\3.7-FiSetup.log
395pause
396:fisetup_ok
397
398:step3_8
399@echo .
400@echo Step 3.8 - Install the test execution service (TXS).
401@echo .
402@@VBOX_COND_IS_INSTALLING_TEST_EXEC_SERVICE@@
403mkdir C:\VBoxValKit
404mkdir D:\TestArea
405copy %CDROM%\VBoxValidationKit\*.* C:\VBoxValKit && goto valkit_copy_1_ok
406pause
407:valkit_copy_1_ok
408copy %CDROM%\VBoxValidationKit\os2\x86\*.* C:\VBoxValKit && goto valkit_copy_2_ok
409pause
410:valkit_copy_2_ok
411@@VBOX_COND_ELSE@@
412@echo Not requested. Skipping.
413@@VBOX_COND_END@@
414
415:step3_9
416@echo .
417@echo Step 3.9 - Install final startup.cmd and copy over OS2LDR again.
418@echo .
419attrib -r -h -s C:\STARTUP.CMD
420copy C:\VBoxCID\STARTUP.CMD C:\ && goto final_startup_ok
421pause
422:final_startup_ok
423
424attrib -r -h -s C:\OS2LDR
425if not exist C:\VBoxCID\OS2LDR pause
426if not exist C:\VBoxCID\OS2LDR goto final_os2ldr_ok
427copy C:\OS2LDR C:\OS2LDR.Phase2
428del C:\OS2LDR
429copy C:\VBoxCID\OS2LDR C:\OS2LDR && goto final_os2ldr_ok
430pause
431:final_os2ldr_ok
432attrib +r +h +s C:\OS2LDR
433
434:step3_10
435@REM Putting this after placing the final Startup.cmd so we can test the
436@REM installer's ability to parse and modify it.
437@echo .
438@echo Step 3.10 - Install guest additions.
439@echo .
440@@VBOX_COND_IS_INSTALLING_ADDITIONS@@
441%CDROM%\VBoxAdditions\OS2\VBoxOs2AdditionsInstall.exe --do-install && goto addition_install_ok
442pause
443:addition_install_ok
444@@VBOX_COND_ELSE@@
445@echo Not requested. Skipping.
446@@VBOX_COND_END@@
447
448:step3_11
449@echo .
450@echo Step 3.11 - Cleanup
451@echo .
452del /N C:\*.bio
453del /N C:\*.i13
454del /N C:\*.snp
455del /N C:\CONFIG.ADD
456mkdir C:\MMTEMP 2>nul
457del /N C:\MMTEMP\*.*
458@REM This is only needed if we don't install mmos2:
459@REM for %%i in (acpadd2 azt16dd azt32dd csbsaud es1688dd es1788dd es1868dd es1888dd es688dd jazzdd mvprobdd mvprodd sb16d2 sbawed2 sbd2 sbp2d2 sbpd2) do del /N C:\MMTEMP\OS2\DRIVERS\%%i\*.*
460@REM for %%i in (acpadd2 azt16dd azt32dd csbsaud es1688dd es1788dd es1868dd es1888dd es688dd jazzdd mvprobdd mvprodd sb16d2 sbawed2 sbd2 sbp2d2 sbpd2) do rmdir C:\MMTEMP\OS2\DRIVERS\%%i
461@REM rmdir C:\MMTEMP\OS2\DRIVERS
462@REM rmdir C:\MMTEMP\OS2
463rmdir C:\MMTEMP
464copy C:\CONFIG.SYS C:\VBoxCID || goto skip_sys_cleanup
465del /N C:\*.SYS
466copy C:\VBoxCID\CONFIG.SYS C:\
467:skip_sys_cleanup
468
469:step3_12
470@@VBOX_COND_HAS_POST_INSTALL_COMMAND@@
471@echo .
472@echo Step 3.12 - Custom actions: "@@VBOX_INSERT_POST_INSTALL_COMMAND@@"
473@echo .
474cd C:\VBoxCID
475C:
476@@VBOX_INSERT_POST_INSTALL_COMMAND@@
477@@VBOX_COND_END@@
478
479copy C:\CONFIG.SYS C:\VBoxCID\Phase3-end-config.sys
480
481
482REM
483REM Reboot (common to both phases).
484REM
485:reboot
486@echo .
487@echo Reboot (%1)
488@echo .
489cd C:\OS2
490C:
491
492@REM @echo debug
493@REM CMD.EXE
494
495SETBOOT /IBD:C
496pause
497CMD.EXE
498
Note: See TracBrowser for help on using the repository browser.

© 2023 Oracle
ContactPrivacy policyTerms of Use