Fix problem with DISM driver injection into WinPE
Rework startnet to do nextserver from DHCP, have a better wait and retry mechanism git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@10675 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
This commit is contained in:
parent
bc98f3fb4c
commit
4c1d771f4c
@ -38,6 +38,7 @@ if [%ARCH%] EQU [amd64] copy c:\WinPE_%SUFFIX%\pxe\Boot\BCD.%SUFFIX% c:\WinPE_%
|
||||
|
||||
dism /mount-wim /wimfile:c:\WinPE_%SUFFIX%\pxe\Boot\winpe_%SUFFIX%.wim /index:1 /mountdir:c:\WinPE_%SUFFIX%\rootfs
|
||||
copy startnet.cmd c:\WinPE_%SUFFIX%\rootfs\Windows\system32
|
||||
copy getnextserver.exe c:\WinPE_%SUFFIX%\rootfs\Windows\system32
|
||||
copy "C:\Program Files\Windows AIK\Tools\%ARCH%\imagex.exe" c:\WinPE_%SUFFIX%\rootfs\Windows\system32
|
||||
dism /Image:c:\WinPE_%SUFFIX%\rootfs /add-package /packagepath:"C:\Program Files\Windows AIK\Tools\PETools\%ARCH%\WinPE_FPs\winpe-wmi.cab"
|
||||
dism /Image:c:\WinPE_%SUFFIX%\rootfs /add-package /packagepath:"C:\Program Files\Windows AIK\Tools\PETools\%ARCH%\WinPE_FPs\winpe-scripting.cab"
|
||||
@ -46,7 +47,7 @@ copy c:\WinPE_%SUFFIX%\rootfs\Windows\Boot\PXE\wdsmgfw.efi c:\WinPE_%SUFFIX%\pxe
|
||||
copy c:\WinPE_%SUFFIX%\rootfs\Windows\Boot\EFI\bootmgfw.efi c:\WinPE_%SUFFIX%\pxe\Boot\bootmgfw.efi
|
||||
copy c:\WinPE_%SUFFIX%\rootfs\Windows\Boot\EFI\bootmgr.efi c:\WinPE_%SUFFIX%\pxe\Boot\bootmgr.efi
|
||||
copy c:\WinPE_%SUFFIX%\rootfs\Windows\Boot\PXE\bootmgr.exe c:\WinPE_%SUFFIX%\pxe\
|
||||
for /r c:\drivers %%d in (*.inf) do dism /image c:\WinPE_%SUFFIX%\rootfs /add-driver /driver:%%d
|
||||
for /r c:\drivers %%d in (*.inf) do dism /image:c:\WinPE_%SUFFIX%\rootfs /add-driver /driver:%%d
|
||||
dism /Unmount-Wim /commit /mountdir:c:\WinPE_%SUFFIX%\rootfs
|
||||
|
||||
echo Upload c:\WinPE_%SUFFIX%\pxe to somewhere
|
||||
|
@ -9,11 +9,16 @@ echo "Dhcpv6DUID"=hex:00,04,%guid:~0,2%,%guid:~2,2%,%guid:~4,2%,%guid:~6,2%,%gui
|
||||
echo. >> duiduuid.reg
|
||||
regedit /s duiduuid.reg
|
||||
wpeinit
|
||||
ping -n 60 127.0.0.1 > NUL 2>&1
|
||||
start /min cmd
|
||||
for /f %%A IN ('getnextserver.exe') DO SET XCATD=%%A
|
||||
echo Waiting for xCAT server %XCATD% to become reachable (check WinPE network drivers if this does not proceeed)
|
||||
:noping
|
||||
ping -n 1 %XCATD% 2> NUL | find "TTL=" > NUL || goto :noping
|
||||
md \xcat
|
||||
for /f "delims=: tokens=2" %%c in ('ipconfig /all ^|find "DHCP Server"') do set XCATD=%%c
|
||||
for /f %%c in ('echo %XCATD%') do set XCATD=%%c
|
||||
net use i: \\%XCATD%\install
|
||||
echo Waiting for successful mount of \\%XCATD%\install (if this hangs, check that samba is running)
|
||||
:nomount
|
||||
net use i: \\%XCATD%\install || goto :nomount
|
||||
echo Successfully mounted \\%XCATD%\install, moving on to execute remote script
|
||||
for /f "delims=: tokens=2" %%c in ('ipconfig ^|find "IPv4 Address. . ."') do set NODEIP=%%c
|
||||
for /f %%c in ('echo %NODEIP%') do set NODEIP=%%c
|
||||
if exist i:\autoinst\%NODEIP%.cmd copy i:\autoinst\%NODEIP%.cmd x:\xcat\autoscript.cmd
|
||||
|
Loading…
Reference in New Issue
Block a user