]> git.proxmox.com Git - mirror_edk2.git/blobdiff - DuetPkg/CreateBootDisk.bat
Needed to fix defaulting / to be \ as it is required by EFI Simple File System.
[mirror_edk2.git] / DuetPkg / CreateBootDisk.bat
index 3e5272030add04f3c0ab9a6eb84dc87f8b7a6634..e4e1369cd448c08585ddb623c5c411355fe25471 100644 (file)
@@ -4,18 +4,25 @@
 \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
 \r
+@echo on\r
 \r
 @if "%1"=="" goto Help\r
 @if "%2"=="" goto Help\r
 @if "%3"=="" goto Help\r
+@if "%4"=="" goto NoArch\r
 @set EFI_BOOT_DISK=%2\r
+@if "%4"=="IA32" set PROCESSOR=IA32\r
+@if "%4"=="X64" set PROCESSOR=X64\r
+@if %PROCESSOR%=="" goto WrongArch\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
@@ -28,13 +35,14 @@ goto Help
 @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%\Bootsectimage.exe -g FDBs.com %BOOTSECTOR_BIN_DIR%\Bootsect.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 %BOOTSECTOR_BIN_DIR%\Bootsect.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
+@if "%PROCESSOR%"=="IA32" goto CreateBootFileForIA32\r
+@if "%PROCESSOR%"=="X64" goto CreateBootFileForX64\r
 @goto end\r
 \r
 :CreateFile\r
@@ -42,9 +50,9 @@ copy %WORKSPACE%\EdkShellBinPkg\bin\ia32\Shell.efi %EFI_BOOT_DISK%\efi\boot\boot
 @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
+%BASETOOLS_DIR%\Bootsectimage.exe -g FDBs.com %BOOTSECTOR_BIN_DIR%\Bootsect.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 %BOOTSECTOR_BIN_DIR%\Bootsect.com\r
 @echo Done.\r
 @goto end\r
 \r
@@ -55,16 +63,16 @@ copy %WORKSPACE%\EdkShellBinPkg\bin\ia32\Shell.efi %EFI_BOOT_DISK%\efi\boot\boot
 @if "%3"=="FAT12" goto WrongFATType\r
 \r
 :CreateUsb_FAT16\r
-@if "%4"=="step2" goto CreateUsb_FAT16_step2\r
+@if "%5"=="step2" 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
+@%BASETOOLS_DIR%\Bootsectimage.exe -g UsbBs16.com %BOOTSECTOR_BIN_DIR%\Bs16.com -f\r
+@%BASETOOLS_DIR%\Genbootsector.exe -o %EFI_BOOT_DISK% -i %BOOTSECTOR_BIN_DIR%\Bs16.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
@@ -72,21 +80,22 @@ copy %WORKSPACE%\EdkShellBinPkg\bin\ia32\Shell.efi %EFI_BOOT_DISK%\efi\boot\boot
 :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
+@if "%PROCESSOR%"=="IA32" goto CreateBootFileForIA32\r
+@if "%PROCESSOR%"=="X64" goto CreateBootFileForX64\r
 @goto end\r
 \r
 :CreateUsb_FAT32\r
-@if "%4"=="step2" goto CreateUsb_FAT32_step2\r
+@if "%5"=="step2" 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
+@%BASETOOLS_DIR%\Bootsectimage.exe -g UsbBs32.com %BOOTSECTOR_BIN_DIR%\Bs32.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 %BOOTSECTOR_BIN_DIR%\Bs32.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
@@ -94,17 +103,34 @@ copy %WORKSPACE%\EdkShellBinPkg\bin\ia32\Shell.efi %EFI_BOOT_DISK%\efi\boot\boot
 :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
+@if "%PROCESSOR%"=="IA32" goto CreateBootFileForIA32\r
+@if "%PROCESSOR%"=="X64" goto CreateBootFileForX64\r
 @goto end\r
 \r
 :CreateIde\r
 @goto end\r
 \r
+:CreateBootFileForIA32\r
+copy %WORKSPACE%\EdkShellBinPkg\MinimumShell\IA32\Shell.efi %EFI_BOOT_DISK%\efi\boot\bootia32.efi /y\r
+@goto end\r
+\r
+:CreateBootFileForX64\r
+copy %WORKSPACE%\EdkShellBinPkg\MinimumShell\X64\Shell.efi %EFI_BOOT_DISK%\efi\boot\bootx64.efi /y\r
+@goto end\r
+\r
 :WrongFATType\r
 @echo Wrong FAT type %3 for %1\r
 @goto end\r
 \r
+:NoArch\r
+@echo Error! Please specific the architecture.\r
+@goto Help\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