1@REM ## @file 2@REM # 3@REM # Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved.<BR> 4@REM # 5@REM # This program and the accompanying materials 6@REM # are licensed and made available under the terms and conditions of the BSD License 7@REM # which accompanies this distribution. The full text of the license may be found at 8@REM # http://opensource.org/licenses/bsd-license.php 9@REM # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 10@REM # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 11@REM # 12@REM # 13@REM ## 14 15@REM Set up environment at first. 16 17@set BASETOOLS_DIR=%WORKSPACE_TOOLS_PATH%\Bin\Win32 18@set BOOTSECTOR_BIN_DIR=%WORKSPACE%\DuetPkg\BootSector\bin 19@set DISK_LABEL=DUET 20@set PROCESSOR="" 21@set STEP=1 22@call %WORKSPACE%\DuetPkg\GetVariables.bat 23 24@echo on 25 26@if "%1"=="" goto Help 27@if "%2"=="" goto Help 28@if "%3"=="" goto Help 29@if "%4"=="" goto Set_BootDisk 30@if "%4"=="step2" (@set STEP=2) else @set TARGET_ARCH=%4 31@if "%5"=="step2" @set STEP=2 32:Set_BootDisk 33@set EFI_BOOT_DISK=%2 34@if "%TARGET_ARCH%"=="IA32" set PROCESSOR=IA32 35@if "%TARGET_ARCH%"=="X64" set PROCESSOR=X64 36@if %PROCESSOR%=="" goto WrongArch 37@set BUILD_DIR=%WORKSPACE%\Build\DuetPkg%PROCESSOR%\%TARGET%_%TOOL_CHAIN_TAG% 38 39@if "%1"=="floppy" goto CreateFloppy 40@if "%1"=="file" goto CreateFile 41@if "%1"=="usb" goto CreateUsb 42@if "%1"=="ide" goto CreateIde 43 44goto Help 45 46:CreateFloppy 47@if NOT "%3"=="FAT12" goto WrongFATType 48@echo Start to create floppy boot disk ... 49@echo Format %EFI_BOOT_DISK% ... 50@echo.> FormatCommandInput.txt 51@echo.n>> FormatCommandInput.txt 52@format /v:%DISK_LABEL% /q %EFI_BOOT_DISK% < FormatCommandInput.txt > NUL 53@del FormatCommandInput.txt 54@echo Create boot sector ... 55@%BASETOOLS_DIR%\Genbootsector.exe -i %EFI_BOOT_DISK% -o FDBs.com 56@copy %BOOTSECTOR_BIN_DIR%\Bootsect.com FDBs-1.com 57@%BASETOOLS_DIR%\Bootsectimage.exe -g FDBs.com FDBs-1.com -f 58@REM @del FDBS.com 59@%BASETOOLS_DIR%\Genbootsector.exe -o %EFI_BOOT_DISK% -i FDBs-1.com 60@del FDBs-1.com 61@echo Done. 62@copy %BUILD_DIR%\FV\EfiLdr %EFI_BOOT_DISK% 63@goto CreateBootFile 64 65:CreateFile 66@if NOT "%3"=="FAT12" goto WrongFATType 67@echo Start to create file boot disk ... 68@echo Create boot sector ... 69%BASETOOLS_DIR%\Genbootsector.exe -i %EFI_BOOT_DISK% -o FDBs.com 70@copy %BOOTSECTOR_BIN_DIR%\Bootsect.com FDBs-1.com 71@%BASETOOLS_DIR%\Bootsectimage.exe -g FDBs.com FDBs-1.com -f 72@REM @del FDBS.com 73@%BASETOOLS_DIR%\Genbootsector.exe -o %EFI_BOOT_DISK% -i FDBs-1.com 74@del FDBs-1.com 75@echo Done. 76@goto end 77 78:CreateUsb 79@echo Start to create usb boot disk ... 80@if "%3"=="FAT16" goto CreateUsb_FAT16 81@if "%3"=="FAT32" goto CreateUsb_FAT32 82@if "%3"=="FAT12" goto WrongFATType 83 84:CreateUsb_FAT16 85@if "%STEP%"=="2" goto CreateUsb_FAT16_step2 86@echo Format %EFI_BOOT_DISK% ... 87@echo.> FormatCommandInput.txt 88@format /FS:FAT /v:%DISK_LABEL% /q %EFI_BOOT_DISK% < FormatCommandInput.txt > NUL 89@del FormatCommandInput.txt 90@echo Create boot sector ... 91@%BASETOOLS_DIR%\Genbootsector.exe -i %EFI_BOOT_DISK% -o UsbBs16.com 92@copy %BOOTSECTOR_BIN_DIR%\Bs16.com Bs16-1.com 93@%BASETOOLS_DIR%\Bootsectimage.exe -g UsbBs16.com Bs16-1.com -f 94@%BASETOOLS_DIR%\Genbootsector.exe -o %EFI_BOOT_DISK% -i Bs16-1.com 95@del Bs16-1.com 96@%BASETOOLS_DIR%\Genbootsector.exe -m -o %EFI_BOOT_DISK% -i %BOOTSECTOR_BIN_DIR%\Mbr.com 97@echo Done. 98@echo PLEASE UNPLUG USB, THEN PLUG IT AGAIN! 99@goto end 100 101:CreateUsb_FAT16_step2 102@copy %BUILD_DIR%\FV\EfiLdr16 %EFI_BOOT_DISK% 103@goto CreateBootFile 104 105:CreateUsb_FAT32 106@if "%STEP%"=="2" goto CreateUsb_FAT32_step2 107@echo Format %EFI_BOOT_DISK% ... 108@echo.> FormatCommandInput.txt 109@format /FS:FAT32 /v:%DISK_LABEL% /q %EFI_BOOT_DISK% < FormatCommandInput.txt > NUL 110@del FormatCommandInput.txt 111@echo Create boot sector ... 112@%BASETOOLS_DIR%\Genbootsector.exe -i %EFI_BOOT_DISK% -o UsbBs32.com 113@copy %BOOTSECTOR_BIN_DIR%\Bs32.com Bs32-1.com 114@%BASETOOLS_DIR%\Bootsectimage.exe -g UsbBs32.com Bs32-1.com -f 115@del UsbBs32.com 116@%BASETOOLS_DIR%\Genbootsector.exe -o %EFI_BOOT_DISK% -i Bs32-1.com 117@del Bs32-1.com 118@%BASETOOLS_DIR%\Genbootsector.exe -m -o %EFI_BOOT_DISK% -i %BOOTSECTOR_BIN_DIR%\Mbr.com 119@echo Done. 120@echo PLEASE UNPLUG USB, THEN PLUG IT AGAIN! 121@goto end 122 123:CreateUsb_FAT32_step2 124@copy %BUILD_DIR%\FV\EfiLdr20 %EFI_BOOT_DISK% 125@goto CreateBootFile 126 127:CreateIde 128@goto end 129 130:CreateBootFile 131@mkdir %EFI_BOOT_DISK%\efi\boot 132copy %WORKSPACE%\ShellBinPkg\UefiShell\%PROCESSOR%\Shell.efi %EFI_BOOT_DISK%\efi\boot\boot%PROCESSOR%.efi /y 133@goto end 134 135:WrongFATType 136@echo Wrong FAT type %3 for %1 137@goto end 138 139:WrongArch 140@echo Error! Wrong architecture. 141@goto Help 142 143:Help 144@echo "Usage: CreateBootDisk [usb|floppy|ide] DiskNumber [FAT12|FAT16|FAT32] [IA32|X64]" 145:end 146@echo on 147