Vishal Bhoj | 82c8071 | 2015-12-15 21:13:33 +0530 | [diff] [blame] | 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 |
|
| 44 | goto 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
|
| 132 | copy %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
|