From baf050eba44227da65dbb59095fef395ce1ce2e2 Mon Sep 17 00:00:00 2001 From: Homes32 Date: Sat, 8 Feb 2025 10:08:55 -0600 Subject: [PATCH] VMWare - Configure a Serial Port via Named Pipe for Kernel Debugging --- Projects/PhoenixPE/Testing/VMWare.script | 30 ++++++++++++++---------- 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/Projects/PhoenixPE/Testing/VMWare.script b/Projects/PhoenixPE/Testing/VMWare.script index b4508b5..b99d6a8 100644 --- a/Projects/PhoenixPE/Testing/VMWare.script +++ b/Projects/PhoenixPE/Testing/VMWare.script @@ -32,15 +32,15 @@ Title=VMware Author=Homes32 Description=Run your ISO in VMware Player/Workstation -Version=1.1.3.0 +Version=1.1.4.0 Level=9 Selected=False Mandatory=False NoWarning=False -Date=2024-06-28 +Date=2025-02-08 [Variables] -%VMPath%=%ProjectTemp%\VMware +%VMPath%="%ProjectTemp%\VMware" %VMCfg%="%VMPath%\%ProjectTitle%.vmx" [Process] @@ -136,9 +136,9 @@ If,%cmb_numProc%,Equal,Auto,Begin System,GetEnv,"NUMBER_OF_PROCESSORS",%numProcessors% If,%numProcessors%,Equal,"",Set,%numProcessors%,1 Else,Begin - // Assign the VM half of the total CPU's, reserving the other half for the host system. IntDiv used to prevent error if NUM_OF_PROCESSORS returns an odd number. - Math,IntDiv,%numProcessors%,%remainder%,%numProcessors%,2 - Set,%remainder%,Nil + // Assign the VM half of the total CPU's, reserving the other half for the host system. IntDiv used to prevent error if NUM_OF_PROCESSORS returns an odd number. + Math,IntDiv,%numProcessors%,%remainder%,%numProcessors%,2 + Set,%remainder%,Nil End End Else,Set,%numProcessors%,%cmb_numProc% @@ -175,7 +175,7 @@ If,Not,%cmb_NetworkAdapter%,Equal,Disabled,Begin Else,If,%cmb_NetworkAdapter%,Equal,"AMD 79C970",TXTAddLine,%VMCfg%,"Ethernet0.virtualDev = #$qvlance#$q",Append Else,If,%cmb_NetworkAdapter%,Equal,"VMXNET 3",TXTAddLine,%VMCfg%,"Ethernet0.virtualDev = #$qvmxnet3#$q",Append Else,Halt,"INTERNAL LOGIC ERROR: No configuration has been defined for Network Adapter [%cmb_NetworkAdapter%]" - //TXTAddLine,%VMCfg%,Ethernet0.virtualDev=#$qvmxnet#$q,Append + //TXTAddLine,%VMCfg%,Ethernet0.virtualDev=#$qvmxnet#$q,Append End // Audio @@ -214,6 +214,12 @@ Else,Halt,"INTERNAL LOGIC ERROR: No configuration has been defined for Firmware // Trusted Platform Module (TPM) - This setting is not available in VMWare Player Pref. -- We should check and make sure Firmware is UEFI...) If,%cb_EnableTPM%,Equal,True,TxtAddLine,%VMCfg%,"managedvm.autoAddVTPM = #$qsoftware#$q",Append +// Configure a Serial Port via Named Pipe for Kernel Debugging +TxtAddLine,%VMCfg%,"serial0.fileType = #$qpipe#$q",Append +TxtAddLine,%VMCfg%,"serial0.fileName = #$q\\.\pipe\PhoenixPE#$q",Append +TxtAddLine,%VMCfg%,"serial0.yieldOnMsrRead = #$qTRUE#$q",Append +TxtAddLine,%VMCfg%,"serial0.present = #$qTRUE#$q",Append + // Shared Folder If,Not,%cmb_SharedFolder%,Equal,Disabled,Begin @@ -251,15 +257,15 @@ If,Not,%cmb_VirtualHDD%,Equal,Disabled,Begin If,%cmb_VirtualHDD%,Equal,"Empty 10GB NTFS Disk",Begin ExtractFile,%ScriptFile%,VHD,10GB-ntfs.vmdk,%VMPath% - TXTAddLine,%VMCfg%,"sata0:0.fileName = #$q%VMPath%\10GB-ntfs.vmdk#$q",Append + TXTAddLine,%VMCfg%,"sata0:0.fileName = #$q%VMPath%\10GB-ntfs.vmdk#$q",Append End Else,If,%cmb_VirtualHDD%,Equal,"Empty 10GB Linux Disk",Begin ExtractFile,%ScriptFile%,VHD,10GB-ext4.vmdk,%VMPath% - TXTAddLine,%VMCfg%,"sata0:0.fileName = #$q%VMPath%\10GB-ext4.vmdk#$q",Append + TXTAddLine,%VMCfg%,"sata0:0.fileName = #$q%VMPath%\10GB-ext4.vmdk#$q",Append End Else,If,%cmb_VirtualHDD%,Equal,"User Defined .vmdk",Begin If,ExistFile,%fb_VirtualHDD%,TXTAddLine,%VMCfg%,"sata0:0.fileName = #$q%fb_VirtualHDD%#$q",Append - Else,Halt,"Error: The virtual hard disk [%fb_VirtualHDD%] does not exist." + Else,Halt,"Error: The virtual hard disk [%fb_VirtualHDD%] does not exist." End Else,Halt,"INTERNAL LOGIC ERROR: No configuration exists for [%cmb_VirtualHDD%]" End @@ -377,9 +383,9 @@ System,SetLocal ReadInterface,Visible,%ScriptFile%,Interface,cmb_Firmware,%state% If,%state%,Equal,False,Begin If,Question,"WARNING!#$x#$xAdvanced options are intended for expert users only!#$x#$xModifying advanced options without knowing what you are doing can cause permanent damage to your project and may result in unexpected behavior and/or build failures.#$x#$xAre you sure you want to continue?",Begin - Set,%Toggle%,True + Set,%Toggle%,True WriteInterface,Resource,%ScriptFile%,Interface,btn_AdvancedOptions,Advanced_Exit_16.png - WriteInterface,Tooltip,%ScriptFile%,Interface,btn_AdvancedOptions,"Hide Advanced Options" + WriteInterface,Tooltip,%ScriptFile%,Interface,btn_AdvancedOptions,"Hide Advanced Options" End Else,Set,%Toggle%,False End