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