-@REM\r
+@REM ## @file\r
+@REM #\r
+@REM # Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved.<BR>\r
+@REM #\r
+@REM # This program and the accompanying materials\r
+@REM # are licensed and made available under the terms and conditions of the BSD License\r
+@REM # which accompanies this distribution. The full text of the license may be found at\r
+@REM # http://opensource.org/licenses/bsd-license.php\r
+@REM # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+@REM # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+@REM #\r
+@REM #\r
+@REM ##\r
\r
-@REM Set up environment at fisrt.\r
+@REM Set up environment at first.\r
\r
@set BASETOOLS_DIR=%WORKSPACE_TOOLS_PATH%\Bin\Win32\r
-@set BUILD_DIR=%WORKSPACE%\Build\DuetPkg\DEBUG_MYTOOLS\r
+@set BOOTSECTOR_BIN_DIR=%WORKSPACE%\DuetPkg\BootSector\bin\r
@set DISK_LABEL=DUET\r
-@echo on\r
+@set PROCESSOR=""\r
+@set STEP=1\r
+@call %WORKSPACE%\DuetPkg\GetVariables.bat\r
\r
+@echo on\r
\r
@if "%1"=="" goto Help\r
@if "%2"=="" goto Help\r
@if "%3"=="" goto Help\r
+@if "%4"=="" goto Set_BootDisk\r
+@if "%4"=="step2" (@set STEP=2) else @set TARGET_ARCH=%4\r
+@if "%5"=="step2" @set STEP=2\r
+:Set_BootDisk\r
@set EFI_BOOT_DISK=%2\r
+@if "%TARGET_ARCH%"=="IA32" set PROCESSOR=IA32\r
+@if "%TARGET_ARCH%"=="X64" set PROCESSOR=X64\r
+@if %PROCESSOR%=="" goto WrongArch\r
+@set BUILD_DIR=%WORKSPACE%\Build\DuetPkg%PROCESSOR%\%TARGET%_%TOOL_CHAIN_TAG%\r
+\r
@if "%1"=="floppy" goto CreateFloppy\r
@if "%1"=="file" goto CreateFile\r
@if "%1"=="usb" goto CreateUsb\r
@if "%1"=="ide" goto CreateIde\r
+\r
goto Help\r
\r
:CreateFloppy\r
@format /v:%DISK_LABEL% /q %EFI_BOOT_DISK% < FormatCommandInput.txt > NUL\r
@del FormatCommandInput.txt\r
@echo Create boot sector ...\r
-%BASETOOLS_DIR%\Genbootsector.exe -i %EFI_BOOT_DISK% -o FDBs.com\r
-%BASETOOLS_DIR%\Bootsectimage.exe -g FDBs.com %BUILD_DIR%\IA32\DuetPkg\BootSector\BootSector\OUTPUT\Bootsect.com -f\r
+@%BASETOOLS_DIR%\Genbootsector.exe -i %EFI_BOOT_DISK% -o FDBs.com\r
+@copy %BOOTSECTOR_BIN_DIR%\Bootsect.com FDBs-1.com\r
+@%BASETOOLS_DIR%\Bootsectimage.exe -g FDBs.com FDBs-1.com -f\r
@REM @del FDBS.com\r
-%BASETOOLS_DIR%\Genbootsector.exe -o %EFI_BOOT_DISK% -i %BUILD_DIR%\IA32\DuetPkg\BootSector\BootSector\OUTPUT\Bootsect.com\r
+@%BASETOOLS_DIR%\Genbootsector.exe -o %EFI_BOOT_DISK% -i FDBs-1.com \r
+@del FDBs-1.com\r
@echo Done.\r
-copy %BUILD_DIR%\FV\EfiLdr %EFI_BOOT_DISK%\r
-mkdir %EFI_BOOT_DISK%\efi\boot\r
-copy %WORKSPACE%\EdkShellBinPkg\bin\ia32\Shell.efi %EFI_BOOT_DISK%\efi\boot\bootia32.efi /y\r
-@goto end\r
+@copy %BUILD_DIR%\FV\EfiLdr %EFI_BOOT_DISK%\r
+@goto CreateBootFile\r
\r
:CreateFile\r
@if NOT "%3"=="FAT12" goto WrongFATType\r
@echo Start to create file boot disk ...\r
@echo Create boot sector ...\r
%BASETOOLS_DIR%\Genbootsector.exe -i %EFI_BOOT_DISK% -o FDBs.com\r
-%BASETOOLS_DIR%\Bootsectimage.exe -g FDBs.com %BUILD_DIR%\IA32\DuetPkg\BootSector\BootSector\OUTPUT\Bootsect.com -f\r
+@copy %BOOTSECTOR_BIN_DIR%\Bootsect.com FDBs-1.com\r
+@%BASETOOLS_DIR%\Bootsectimage.exe -g FDBs.com FDBs-1.com -f\r
@REM @del FDBS.com\r
-%BASETOOLS_DIR%\Genbootsector.exe -o %EFI_BOOT_DISK% -i %BUILD_DIR%\IA32\DuetPkg\BootSector\BootSector\OUTPUT\Bootsect.com\r
+@%BASETOOLS_DIR%\Genbootsector.exe -o %EFI_BOOT_DISK% -i FDBs-1.com \r
+@del FDBs-1.com\r
@echo Done.\r
@goto end\r
\r
@if "%3"=="FAT12" goto WrongFATType\r
\r
:CreateUsb_FAT16\r
-@if "%4"=="step2" goto CreateUsb_FAT16_step2\r
+@if "%STEP%"=="2" goto CreateUsb_FAT16_step2\r
@echo Format %EFI_BOOT_DISK% ...\r
@echo.> FormatCommandInput.txt\r
@format /FS:FAT /v:%DISK_LABEL% /q %EFI_BOOT_DISK% < FormatCommandInput.txt > NUL\r
@del FormatCommandInput.txt\r
@echo Create boot sector ...\r
@%BASETOOLS_DIR%\Genbootsector.exe -i %EFI_BOOT_DISK% -o UsbBs16.com\r
-@%BASETOOLS_DIR%\Bootsectimage.exe -g UsbBs16.com %BUILD_DIR%\IA32\DuetPkg\BootSector\BootSector\OUTPUT\Bs16.com -f\r
-@%BASETOOLS_DIR%\Genbootsector.exe -o %EFI_BOOT_DISK% -i %BUILD_DIR%\IA32\DuetPkg\BootSector\BootSector\OUTPUT\Bs16.com\r
-@%BASETOOLS_DIR%\Genbootsector.exe -m -o %EFI_BOOT_DISK% -i %BUILD_DIR%\IA32\DuetPkg\BootSector\BootSector\OUTPUT\Mbr.com\r
+@copy %BOOTSECTOR_BIN_DIR%\Bs16.com Bs16-1.com \r
+@%BASETOOLS_DIR%\Bootsectimage.exe -g UsbBs16.com Bs16-1.com -f \r
+@%BASETOOLS_DIR%\Genbootsector.exe -o %EFI_BOOT_DISK% -i Bs16-1.com\r
+@del Bs16-1.com\r
+@%BASETOOLS_DIR%\Genbootsector.exe -m -o %EFI_BOOT_DISK% -i %BOOTSECTOR_BIN_DIR%\Mbr.com\r
@echo Done.\r
@echo PLEASE UNPLUG USB, THEN PLUG IT AGAIN!\r
@goto end\r
\r
:CreateUsb_FAT16_step2\r
@copy %BUILD_DIR%\FV\EfiLdr16 %EFI_BOOT_DISK%\r
-@mkdir %EFI_BOOT_DISK%\efi\boot\r
-@copy %WORKSPACE%\EdkShellBinPkg\bin\ia32\Shell.efi %EFI_BOOT_DISK%\efi\boot\bootia32.efi /y\r
-@goto end\r
+@goto CreateBootFile\r
\r
:CreateUsb_FAT32\r
-@if "%4"=="step2" goto CreateUsb_FAT32_step2\r
+@if "%STEP%"=="2" goto CreateUsb_FAT32_step2\r
@echo Format %EFI_BOOT_DISK% ...\r
@echo.> FormatCommandInput.txt\r
@format /FS:FAT32 /v:%DISK_LABEL% /q %EFI_BOOT_DISK% < FormatCommandInput.txt > NUL\r
@del FormatCommandInput.txt\r
@echo Create boot sector ...\r
@%BASETOOLS_DIR%\Genbootsector.exe -i %EFI_BOOT_DISK% -o UsbBs32.com\r
-@%BASETOOLS_DIR%\Bootsectimage.exe -g UsbBs32.com %BUILD_DIR%\IA32\DuetPkg\BootSector\BootSector\OUTPUT\Bs32.com -f\r
+@copy %BOOTSECTOR_BIN_DIR%\Bs32.com Bs32-1.com \r
+@%BASETOOLS_DIR%\Bootsectimage.exe -g UsbBs32.com Bs32-1.com -f \r
@del UsbBs32.com\r
-@%BASETOOLS_DIR%\Genbootsector.exe -o %EFI_BOOT_DISK% -i %BUILD_DIR%\IA32\DuetPkg\BootSector\BootSector\OUTPUT\Bs32.com\r
-@%BASETOOLS_DIR%\Genbootsector.exe -m -o %EFI_BOOT_DISK% -i %BUILD_DIR%\IA32\DuetPkg\BootSector\BootSector\OUTPUT\Mbr.com\r
+@%BASETOOLS_DIR%\Genbootsector.exe -o %EFI_BOOT_DISK% -i Bs32-1.com\r
+@del Bs32-1.com\r
+@%BASETOOLS_DIR%\Genbootsector.exe -m -o %EFI_BOOT_DISK% -i %BOOTSECTOR_BIN_DIR%\Mbr.com\r
@echo Done.\r
@echo PLEASE UNPLUG USB, THEN PLUG IT AGAIN!\r
@goto end \r
\r
:CreateUsb_FAT32_step2\r
@copy %BUILD_DIR%\FV\EfiLdr20 %EFI_BOOT_DISK%\r
-@mkdir %EFI_BOOT_DISK%\efi\boot\r
-@copy %WORKSPACE%\EdkShellBinPkg\bin\ia32\Shell.efi %EFI_BOOT_DISK%\efi\boot\bootia32.efi /y\r
-@goto end\r
+@goto CreateBootFile\r
\r
:CreateIde\r
@goto end\r
\r
+:CreateBootFile\r
+@mkdir %EFI_BOOT_DISK%\efi\boot\r
+copy %WORKSPACE%\ShellBinPkg\UefiShell\%PROCESSOR%\Shell.efi %EFI_BOOT_DISK%\efi\boot\boot%PROCESSOR%.efi /y\r
+@goto end\r
+\r
:WrongFATType\r
@echo Wrong FAT type %3 for %1\r
@goto end\r
\r
+:WrongArch\r
+@echo Error! Wrong architecture.\r
+@goto Help\r
+\r
:Help\r
-@echo "Usage: CreateBootDisk [usb|floppy|ide] DiskNumber [FAT12|FAT16|FAT32]"\r
+@echo "Usage: CreateBootDisk [usb|floppy|ide] DiskNumber [FAT12|FAT16|FAT32] [IA32|X64]"\r
:end\r
-@echo on
\ No newline at end of file
+@echo on\r