fix(windows/build): drop oscdimg -bootdata inner quotes (PS arg mangling)
All checks were successful
Build SilverMetal Enhanced - Windows ISO / build (pull_request) Successful in 3m24s
All checks were successful
Build SilverMetal Enhanced - Windows ISO / build (pull_request) Successful in 3m24s
Stages 1-5 pass; oscdimg failed with Error 123 because PowerShell doubled the embedded quotes in -bootdata. Work paths have no spaces, so omit the inner quotes around etfsboot.com/efisys.bin entirely. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -144,9 +144,12 @@ function Invoke-Repack {
|
||||
$etfs = Join-Path $isoRoot 'boot\etfsboot.com'
|
||||
$efi = Join-Path $isoRoot 'efi\microsoft\boot\efisys.bin'
|
||||
if (-not (Test-Path $efi)) { throw "missing UEFI boot image: $efi" }
|
||||
$bootdata = '2#p0,e,b"{0}"#pEF,e,b"{1}"' -f $etfs, $efi
|
||||
# Work paths have no spaces (SYSTEM TEMP / runner temp), so omit oscdimg's
|
||||
# inner quotes around the boot images -- otherwise PowerShell mangles the
|
||||
# native -bootdata arg into doubled quotes (oscdimg Error 123).
|
||||
$bootdata = "2#p0,e,b$etfs#pEF,e,b$efi"
|
||||
if (Test-Path $OutputIso) { Remove-Item $OutputIso -Force }
|
||||
& $oscdimg -m -o -u2 -udfver102 -l"SILVERMETAL" "-bootdata:$bootdata" $isoRoot $OutputIso
|
||||
& $oscdimg -m -o -u2 -udfver102 -lSILVERMETAL "-bootdata:$bootdata" $isoRoot $OutputIso
|
||||
if ($LASTEXITCODE -ne 0) { throw "oscdimg failed ($LASTEXITCODE)" }
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user