]> git.proxmox.com Git - mirror_edk2.git/blame - DuetPkg/CreateBootDisk.bat
BaseTools/UPT: Fix an issue of storing wrong PCD into XML file.
[mirror_edk2.git] / DuetPkg / CreateBootDisk.bat
CommitLineData
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 44goto 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
62copy %BUILD_DIR%\FV\EfiLdr %EFI_BOOT_DISK%\r
63mkdir %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
73copy %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
140copy %WORKSPACE%\EdkShellBinPkg\MinimumShell\IA32\Shell.efi %EFI_BOOT_DISK%\efi\boot\bootia32.efi /y\r
141@goto end\r
142\r
143:CreateBootFileForX64\r
144copy %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