summaryrefslogtreecommitdiffstats
path: root/src/VBox/Main/UnattendedTemplates/os2_cid_install.cmd
diff options
context:
space:
mode:
Diffstat (limited to 'src/VBox/Main/UnattendedTemplates/os2_cid_install.cmd')
-rw-r--r--src/VBox/Main/UnattendedTemplates/os2_cid_install.cmd498
1 files changed, 498 insertions, 0 deletions
diff --git a/src/VBox/Main/UnattendedTemplates/os2_cid_install.cmd b/src/VBox/Main/UnattendedTemplates/os2_cid_install.cmd
new file mode 100644
index 00000000..162245aa
--- /dev/null
+++ b/src/VBox/Main/UnattendedTemplates/os2_cid_install.cmd
@@ -0,0 +1,498 @@
+@ECHO OFF
+REM $Id: os2_cid_install.cmd $
+REM REM @fileREM
+REM VirtualBox CID Installation - main driver script for boot CD/floppy.
+REM
+
+REM
+REM Copyright (C) 2004-2022 Oracle and/or its affiliates.
+REM
+REM This file is part of VirtualBox base platform packages, as
+REM available from https://www.virtualbox.org.
+REM
+REM This program is free software; you can redistribute it and/or
+REM modify it under the terms of the GNU General Public License
+REM as published by the Free Software Foundation, in version 3 of the
+REM License.
+REM
+REM This program is distributed in the hope that it will be useful, but
+REM WITHOUT ANY WARRANTY; without even the implied warranty of
+REM MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+REM General Public License for more details.
+REM
+REM You should have received a copy of the GNU General Public License
+REM along with this program; if not, see <https://www.gnu.org/licenses>.
+REM
+REM SPDX-License-Identifier: GPL-3.0-only
+REM
+
+REM Check the phase argument and jump to the right section of the file.
+if "%1" == "PHASE1" goto phase1
+if "%1" == "PHASE2" goto phase2
+if "%1" == "PHASE3" goto phase3
+@echo ** error: invalid or missing parameter. Expected PHASE1, PHASE2 or PHASE3 as the first parameter to the script.
+pause
+cmd.exe
+exit /b 1
+
+REM
+REM Phase 1 - Base system installation.
+REM
+:phase1
+SET CDROM=S:
+
+@echo on
+@echo .
+@echo Step 1.1 - Partition the disk.
+@echo .
+cd %CDROM%\os2image\disk_6
+%CDROM%
+
+lvm.exe /NEWMBR:1 && goto lvm_newmbr_ok
+@echo ** error: Writing a new MBR on disk 1 failed.
+goto lvm_failed
+:lvm_newmbr_ok
+
+@REM Depends the default drive name being "[ D1 ]". However it's cosmetical,
+@REM so we don't complain if this fails.
+lvm.exe "/SETNAME:DRIVE,[ D1 ],BootDrive"
+
+lvm.exe /CREATE:PARTITION,OS2Boot,1,1024,PRIMARY,BOOTABLE && goto lvm_create_partition_ok
+@echo ** error: Creating boot partition on disk 1 failed.
+goto lvm_failed
+:lvm_create_partition_ok
+
+lvm.exe /CREATE:VOLUME,COMPATIBILITY,BOOTOS2,C:,OS2Boot,1,OS2Boot && goto lvm_create_volume_ok
+@echo ** error: Creating boot volume on disk 1 failed.
+goto lvm_failed
+:lvm_create_volume_ok
+
+lvm.exe /SETSTARTABLE:VOLUME,OS2Boot && goto lvm_set_startable_ok
+@echo ** error: Setting boot volume on disk 1 startable failed.
+goto lvm_failed
+:lvm_set_startable_ok
+
+@REM Depending on the freespace automatically getting the name "[ FS1 ]".
+lvm.exe "/CREATE:PARTITION,Data,1,LOGICAL,NotBootable,[ FS1 ]" && goto lvm_create_data_partition_ok
+@echo ** error: Creating data partition on disk 1 failed.
+goto lvm_failed
+:lvm_create_data_partition_ok
+
+lvm.exe /CREATE:VOLUME,LVM,D:,Data,1,Data && goto lvm_create_data_volume_ok
+@echo ** error: Creating data volume on disk 1 failed.
+goto lvm_failed
+:lvm_create_data_volume_ok
+
+REM pause
+lvm.exe /QUERY
+REM CMD.EXE
+goto done_step1_1
+
+:lvm_failed
+@echo .
+@echo An LVM operation failed (see above).
+@echo The process requires a blank disk with no partitions. Starting LVM
+@echo so you can manually correct this.
+@echo .
+pause
+lvm.exe
+%CDROM%\cid\exe\os2\setboot.exe /B
+exit
+
+:done_step1_1
+
+:step1_2
+@echo .
+@echo Step 1.2 - Format the volumes.
+@echo .
+cd %CDROM%\os2image\disk_3
+%CDROM%
+
+FORMAT.COM C: /FS:HPFS /V:OS2Boot < %CDROM%\VBoxCID\YES.TXT && goto format_boot_ok
+@echo ** error: Formatting C: failed.
+pause
+:format_boot_ok
+
+FORMAT.COM D: /FS:JFS /V:Data < %CDROM%\VBoxCID\YES.TXT && goto format_data_ok
+@echo ** error: Formatting D: failed.
+pause
+:format_data_ok
+
+cd \
+
+:step1_3
+@echo .
+@echo Step 1.3 - Putting response files and CID tools on C:
+@echo .
+mkdir C:\VBoxCID
+mkdir C:\OS2
+copy %CDROM%\cid\exe\os2\*.* C:\VBoxCID
+copy %CDROM%\cid\dll\os2\*.* C:\VBoxCID
+copy %CDROM%\os2image\disk_2\inst32.dll C:\VBoxCID
+copy %CDROM%\VBoxCID\*.* C:\VBoxCID && goto copy_1_ok
+@echo ** error: Copying CID stuff from CDROM to C: failed (#1).
+pause
+:copy_1_ok
+copy %CDROM%\VBoxCID.CMD C:\VBoxCID && goto copy_2_ok
+@echo ** error: Copying CID stuff from CDROM to C: failed (#2).
+pause
+:copy_2_ok
+
+:step1_4
+@echo .
+@echo Step 1.4 - Start OS/2 CID installation.
+@echo .
+SET REMOTE_INSTALL_STATE=CAS_WARP4
+cd C:\OS2
+C:
+@REM Treat 0xfe00 as a success status. It seems to mean that a reboot is required.
+C:\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
+C:\VBoxCID\OS2_UTIL.EXE --file-to-backdoor C:\VBoxCID\1.4.1-Maint.log
+pause
+:semaint_ok
+REM CMD.EXE
+
+cd C:\VBoxCID
+C:
+@REM Treat 0xff02 as a success status. It seems to mean that a reboot is required.
+C:\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
+C:\VBoxCID\OS2_UTIL.EXE --file-to-backdoor C:\VBoxCID\1.4.2-CIDInst.log
+pause
+:seinst_ok
+REM CMD.EXE
+
+:step1_5
+@echo .
+@echo Step 1.5 - Make C: bootable.
+@echo .
+C:
+cd C:\OS2
+SYSINSTX.COM C: && goto sysinstx_ok
+pause
+:sysinstx_ok
+
+@echo Copying over patched OS2LDR from A:
+attrib -R -H -S C:\OS2LDR
+copy C:\OS2LDR C:\OS2LDR.Phase1
+del C:\OS2LDR
+copy A:\OS2LDR C:\OS2LDR && goto copy_os2ldr_ok
+pause
+:copy_os2ldr_ok
+attrib +R +H +S C:\OS2LDR
+
+@REM This copy is for the end of phase 2 as someone replaces it.
+copy A:\OS2LDR C:\VBoxCID && goto copy_os2ldr_2_ok
+pause
+:copy_os2ldr_2_ok
+attrib +r C:\VBoxCID\OS2LDR
+
+@echo Enabling Alt-F2 driver logging during boot.
+@echo > "C:\ALTF2ON.$$$"
+
+@echo Install startup.cmd for phase2.
+@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
+pause
+:phase2_startup_ok
+
+copy C:\CONFIG.SYS C:\VBoxCID\Phase1-end-config.sys
+
+REM now reboot.
+goto reboot
+
+
+REM
+REM Phase 2 - Install GRADD drivers (VGA is horribly slow).
+REM
+:phase2
+SET CDROM=E:
+IF EXIST "%CDROM%\VBoxCID.CMD" goto phase2_found_cdrom
+SET CDROM=D:
+IF EXIST "%CDROM%\VBoxCID.CMD" goto phase2_found_cdrom
+SET CDROM=F:
+IF EXIST "%CDROM%\VBoxCID.CMD" goto phase2_found_cdrom
+SET CDROM=G:
+IF EXIST "%CDROM%\VBoxCID.CMD" goto phase2_found_cdrom
+SET CDROM=H:
+IF EXIST "%CDROM%\VBoxCID.CMD" goto phase2_found_cdrom
+SET CDROM=S:
+IF EXIST "%CDROM%\VBoxCID.CMD" goto phase2_found_cdrom
+@echo ** error: Unable to find the CDROM drive
+pause
+CMD
+SET CDROM=E:
+:phase2_found_cdrom
+cd C:\VBoxCID
+C:
+
+@echo on
+
+:step2_1
+@echo .
+@echo Step 2.1 - Install the video driver.
+@echo .
+@REM Treat 0xfe00 as a success status. It seems to mean that a reboot is required.
+C:\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
+C:\VBoxCID\OS2_UTIL.EXE --file-to-backdoor C:\OS2\INSTALL\DSPINSTL.LOG
+C:\VBoxCID\OS2_UTIL.EXE --file-to-backdoor C:\OS2\INSTALL\GRADD.LOG
+pause
+:dspinstl_ok
+
+@REM TODO: Error: 1 Error getting current desktop mode
+@REM UPDATE: This is probably not working because SVGA.EXE doesn't want to play along with our graphics adapter,
+@REM so it looks like there is no simple way of changing the resolution or select a better monitor.
+call VCfgCID.CMD /L1:C:\VBoxCID\2.1-Video.log /L2:C:\VBoxCID\2.1-Video-2.log /RES:1024X768X16777216 /MON:548
+goto vcfgcid_ok
+C:\VBoxCID\OS2_UTIL.EXE --file-to-backdoor C:\VBoxCID\2.1-Video.log
+pause
+:vcfgcid_ok
+cd C:\VBoxCID
+C:
+
+:step2_2
+@echo Install startup.cmd for phase3.
+ren C:\STARTUP.CMD C:\VBoxCID\Phase2-end-startup.cmd
+copy C:\CONFIG.SYS C:\VBoxCID\Phase2-end-config.sys
+@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
+pause
+:phase3_startup_ok
+
+REM now reboot.
+goto reboot
+
+
+REM
+REM Phase 2 - The rest of the installation running of the base install with fast GRADD drivers.
+REM
+:phase3
+SET CDROM=E:
+IF EXIST "%CDROM%\VBoxCID.CMD" goto phase3_found_cdrom
+SET CDROM=D:
+IF EXIST "%CDROM%\VBoxCID.CMD" goto phase3_found_cdrom
+SET CDROM=F:
+IF EXIST "%CDROM%\VBoxCID.CMD" goto phase3_found_cdrom
+SET CDROM=G:
+IF EXIST "%CDROM%\VBoxCID.CMD" goto phase3_found_cdrom
+SET CDROM=H:
+IF EXIST "%CDROM%\VBoxCID.CMD" goto phase3_found_cdrom
+SET CDROM=S:
+IF EXIST "%CDROM%\VBoxCID.CMD" goto phase3_found_cdrom
+@echo ** error: Unable to find the CDROM drive
+pause
+CMD
+SET CDROM=E:
+:phase3_found_cdrom
+cd C:\VBoxCID
+C:
+
+@echo on
+
+:step3_1
+@echo .
+@echo Step 3.1 - Install multimedia.
+@echo .
+cd C:\mmtemp
+C:
+@REM Does not have any /L, /L1, or /L2 options. Fixed log file: C:\MINSTALL.LOG.
+@REM Treat 0xfe00 as a success status. It seems to mean that a reboot is required.
+C:\VBoxCID\OS2_UTIL.EXE --as-zero 0xfe00 -- MInstall.EXE /M /R:C:\VBoxCID\MMOS2.RSP && goto mmos2_ok
+C:\VBoxCID\OS2_UTIL.EXE --file-to-backdoor C:\MINSTALL.LOG
+pause
+:mmos2_ok
+cd C:\VBoxCID
+
+:step3_2
+@echo .
+@echo Step 3.2 - Install features.
+@echo .
+@REM Treat 0xfe00 as a success status. It seems to mean that a reboot is required.
+C:\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
+@REM does not exit with status 0 on success.
+goto features_ok
+C:\VBoxCID\OS2_UTIL.EXE --file-to-backdoor C:\VBoxCID\3.2-FeatureInstaller.log
+pause
+:features_ok
+
+:step3_3
+@echo .
+@echo Step 3.3 - Install MPTS.
+@echo .
+@REM If we want to use non-standard drivers like the intel ones, copy the .NIF- and
+@REM .OS2-files to C:\IBMCOM\MACS before launching the installer (needs creating first).
+@REM Note! Does not accept /L2:.
+@REM Note! Omitting /TU:C in hope that it solves the lan install failure (no netbeui configured in mpts).
+CD %CDROM%\CID\SERVER\MPTS
+%CDROM%
+@REM Treat 0xfe00 as a success status. It seems to mean that a reboot is required.
+C:\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
+C:\VBoxCID\OS2_UTIL.EXE --file-to-backdoor C:\VBoxCID\3.3-Mpts.log
+pause
+:mpts_ok
+CD %CDROM%\
+C:
+
+:step3_4
+@echo .
+@echo Step 3.4 - Install TCP/IP.
+@echo .
+CD %CDROM%\CID\SERVER\TCPAPPS
+%CDROM%
+@REM Treat 0xfe00 as a success status. It seems to mean that a reboot is required.
+C:\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
+C:\VBoxCID\OS2_UTIL.EXE --file-to-backdoor C:\VBoxCID\3.4-tcp.log
+pause
+:tcp_ok
+CD %CDROM%\
+C:
+
+CD %CDROM%\CID\SERVER\TCPAPPS\INSTALL
+%CDROM%
+C:\VBoxCID\OS2_UTIL.EXE -- %CDROM%\CID\SERVER\TCPAPPS\INSTALL\makecmd.exe C:\TCPIP en_US C:\MPTS && goto makecmd_ok
+pause
+:makecmd_ok
+cd %CDROM%\
+
+:step3_5
+@echo .
+@echo Step 3.5 - Install IBM LAN Requestor/Peer.
+@echo .
+SET REMOTE_INSTALL_STATE=CAS_OS/2 Peer
+CD %CDROM%\CID\SERVER\IBMLS
+%CDROM%
+C:\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
+C:\VBoxCID\OS2_UTIL.EXE --file-to-backdoor C:\VBoxCID\3.5-IBMLan.log
+:ibmlan_ok
+CD %CDROM%\
+C:
+
+:step3_6
+@echo .
+@echo Step 3.6 - Install Netscape.
+@echo .
+CD C:\VBoxCID
+C:
+%CDROM%
+@REM Skipping as it hangs after a "Message file not found." error. (The DPATH amendment doesn't help.) Logs give no clue.
+@REM The install works fine after the phase3 reboot. Next log message then is "NS46EXIT QLTOBMCONVERT en_US, rc=0x0000",
+@REM so maybe it is related to the LANG environment variable or Locale? Hmm. LANG seems to be set...
+goto netscape_ok
+SET DPATH=%DPATH%;C:\NETSCAPE\SIUTIL;C:\NETSCAPE\PROGRAM;
+IF "x%LANG%x" == "xx" THEN SET LANG=en_US
+C:\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
+C:\VBoxCID\OS2_UTIL.EXE --file-to-backdoor C:\VBoxCID\3.6-Netscape.log
+pause
+:netscape_ok
+CD %CDROM%\
+C:
+
+:step3_7
+@echo .
+@echo Step 3.7 - Install feature installer.
+@echo .
+@REM No /L2: support.
+@REM The /NN option is to make it not fail if netscape is missing.
+C:\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
+C:\VBoxCID\OS2_UTIL.EXE --file-to-backdoor C:\VBoxCID\3.7-FiSetup.log
+pause
+:fisetup_ok
+
+:step3_8
+@echo .
+@echo Step 3.8 - Install the test execution service (TXS).
+@echo .
+@@VBOX_COND_IS_INSTALLING_TEST_EXEC_SERVICE@@
+mkdir C:\VBoxValKit
+mkdir D:\TestArea
+copy %CDROM%\VBoxValidationKit\*.* C:\VBoxValKit && goto valkit_copy_1_ok
+pause
+:valkit_copy_1_ok
+copy %CDROM%\VBoxValidationKit\os2\x86\*.* C:\VBoxValKit && goto valkit_copy_2_ok
+pause
+:valkit_copy_2_ok
+@@VBOX_COND_ELSE@@
+@echo Not requested. Skipping.
+@@VBOX_COND_END@@
+
+:step3_9
+@echo .
+@echo Step 3.9 - Install final startup.cmd and copy over OS2LDR again.
+@echo .
+attrib -r -h -s C:\STARTUP.CMD
+copy C:\VBoxCID\STARTUP.CMD C:\ && goto final_startup_ok
+pause
+:final_startup_ok
+
+attrib -r -h -s C:\OS2LDR
+if not exist C:\VBoxCID\OS2LDR pause
+if not exist C:\VBoxCID\OS2LDR goto final_os2ldr_ok
+copy C:\OS2LDR C:\OS2LDR.Phase2
+del C:\OS2LDR
+copy C:\VBoxCID\OS2LDR C:\OS2LDR && goto final_os2ldr_ok
+pause
+:final_os2ldr_ok
+attrib +r +h +s C:\OS2LDR
+
+:step3_10
+@REM Putting this after placing the final Startup.cmd so we can test the
+@REM installer's ability to parse and modify it.
+@echo .
+@echo Step 3.10 - Install guest additions.
+@echo .
+@@VBOX_COND_IS_INSTALLING_ADDITIONS@@
+%CDROM%\VBoxAdditions\OS2\VBoxOs2AdditionsInstall.exe --do-install && goto addition_install_ok
+pause
+:addition_install_ok
+@@VBOX_COND_ELSE@@
+@echo Not requested. Skipping.
+@@VBOX_COND_END@@
+
+:step3_11
+@echo .
+@echo Step 3.11 - Cleanup
+@echo .
+del /N C:\*.bio
+del /N C:\*.i13
+del /N C:\*.snp
+del /N C:\CONFIG.ADD
+mkdir C:\MMTEMP 2>nul
+del /N C:\MMTEMP\*.*
+@REM This is only needed if we don't install mmos2:
+@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\*.*
+@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
+@REM rmdir C:\MMTEMP\OS2\DRIVERS
+@REM rmdir C:\MMTEMP\OS2
+rmdir C:\MMTEMP
+copy C:\CONFIG.SYS C:\VBoxCID || goto skip_sys_cleanup
+del /N C:\*.SYS
+copy C:\VBoxCID\CONFIG.SYS C:\
+:skip_sys_cleanup
+
+:step3_12
+@@VBOX_COND_HAS_POST_INSTALL_COMMAND@@
+@echo .
+@echo Step 3.12 - Custom actions: "@@VBOX_INSERT_POST_INSTALL_COMMAND@@"
+@echo .
+cd C:\VBoxCID
+C:
+@@VBOX_INSERT_POST_INSTALL_COMMAND@@
+@@VBOX_COND_END@@
+
+copy C:\CONFIG.SYS C:\VBoxCID\Phase3-end-config.sys
+
+
+REM
+REM Reboot (common to both phases).
+REM
+:reboot
+@echo .
+@echo Reboot (%1)
+@echo .
+cd C:\OS2
+C:
+
+@REM @echo debug
+@REM CMD.EXE
+
+SETBOOT /IBD:C
+pause
+CMD.EXE
+