3 @REM # Copyright
(c
) 2010 - 2011, Intel Corporation. All rights reserved.
<BR
>
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.
15 @REM
Set up environment at first.
17 @
set BASETOOLS_DIR
=%WORKSPACE_TOOLS_PATH%\Bin\Win32
18 @
set BOOTSECTOR_BIN_DIR
=%WORKSPACE%\DuetPkg\BootSector
\bin
22 @
call %WORKSPACE%\DuetPkg\GetVariables.bat
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
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%
39 @
if "%1"=="floppy" goto CreateFloppy
40 @
if "%1"=="file" goto CreateFile
41 @
if "%1"=="usb" goto CreateUsb
42 @
if "%1"=="ide" goto CreateIde
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
59 %BASETOOLS_DIR%\Genbootsector.exe
-o
%EFI_BOOT_DISK% -i FDBs
-1.com
62 copy %BUILD_DIR%\FV\EfiLdr
%EFI_BOOT_DISK%
63 mkdir %EFI_BOOT_DISK%\efi
\boot
64 @
if "%PROCESSOR%"=="IA32" goto CreateBootFileForIA32
65 @
if "%PROCESSOR%"=="X64" goto CreateBootFileForX64
69 @
if NOT "%3"=="FAT12" goto WrongFATType
70 @
echo Start to create file
boot disk ...
71 @
echo Create
boot sector ...
72 %BASETOOLS_DIR%\Genbootsector.exe
-i
%EFI_BOOT_DISK% -o FDBs.com
73 copy %BOOTSECTOR_BIN_DIR%\Bootsect.com FDBs
-1.com
74 %BASETOOLS_DIR%\Bootsectimage.exe
-g FDBs.com FDBs
-1.com
-f
76 %BASETOOLS_DIR%\Genbootsector.exe
-o
%EFI_BOOT_DISK% -i FDBs
-1.com
82 @
echo Start to create usb
boot disk ...
83 @
if "%3"=="FAT16" goto CreateUsb_FAT16
84 @
if "%3"=="FAT32" goto CreateUsb_FAT32
85 @
if "%3"=="FAT12" goto WrongFATType
88 @
if "%STEP%"=="2" goto CreateUsb_FAT16_step2
89 @
echo Format %EFI_BOOT_DISK% ...
90 @
echo.
> FormatCommandInput.txt
91 @
format /FS
:FAT /v
:%DISK_LABEL% /q
%EFI_BOOT_DISK% < FormatCommandInput.txt
> NUL
92 @
del FormatCommandInput.txt
93 @
echo Create
boot sector ...
94 @
%BASETOOLS_DIR%\Genbootsector.exe
-i
%EFI_BOOT_DISK% -o UsbBs16.com
95 @
copy %BOOTSECTOR_BIN_DIR%\Bs16.com Bs16
-1.com
96 @
%BASETOOLS_DIR%\Bootsectimage.exe
-g UsbBs16.com Bs16
-1.com
-f
97 @
%BASETOOLS_DIR%\Genbootsector.exe
-o
%EFI_BOOT_DISK% -i Bs16
-1.com
99 @
%BASETOOLS_DIR%\Genbootsector.exe
-m
-o
%EFI_BOOT_DISK% -i
%BOOTSECTOR_BIN_DIR%\Mbr.com
101 @
echo PLEASE UNPLUG USB
, THEN PLUG IT AGAIN
!
104 :CreateUsb_FAT16_step2
105 @
copy %BUILD_DIR%\FV\EfiLdr16
%EFI_BOOT_DISK%
106 @
mkdir %EFI_BOOT_DISK%\efi
\boot
107 @
if "%PROCESSOR%"=="IA32" goto CreateBootFileForIA32
108 @
if "%PROCESSOR%"=="X64" goto CreateBootFileForX64
112 @
if "%STEP%"=="2" goto CreateUsb_FAT32_step2
113 @
echo Format %EFI_BOOT_DISK% ...
114 @
echo.
> FormatCommandInput.txt
115 @
format /FS
:FAT32 /v
:%DISK_LABEL% /q
%EFI_BOOT_DISK% < FormatCommandInput.txt
> NUL
116 @
del FormatCommandInput.txt
117 @
echo Create
boot sector ...
118 @
%BASETOOLS_DIR%\Genbootsector.exe
-i
%EFI_BOOT_DISK% -o UsbBs32.com
119 @
copy %BOOTSECTOR_BIN_DIR%\Bs32.com Bs32
-1.com
120 @
%BASETOOLS_DIR%\Bootsectimage.exe
-g UsbBs32.com Bs32
-1.com
-f
122 @
%BASETOOLS_DIR%\Genbootsector.exe
-o
%EFI_BOOT_DISK% -i Bs32
-1.com
124 @
%BASETOOLS_DIR%\Genbootsector.exe
-m
-o
%EFI_BOOT_DISK% -i
%BOOTSECTOR_BIN_DIR%\Mbr.com
126 @
echo PLEASE UNPLUG USB
, THEN PLUG IT AGAIN
!
129 :CreateUsb_FAT32_step2
130 @
copy %BUILD_DIR%\FV\EfiLdr20
%EFI_BOOT_DISK%
131 @
mkdir %EFI_BOOT_DISK%\efi
\boot
132 @
if "%PROCESSOR%"=="IA32" goto CreateBootFileForIA32
133 @
if "%PROCESSOR%"=="X64" goto CreateBootFileForX64
139 :CreateBootFileForIA32
140 copy %WORKSPACE%\EdkShellBinPkg\MinimumShell\IA32\
Shell.efi
%EFI_BOOT_DISK%\efi
\boot
\bootia
32.efi
/y
143 :CreateBootFileForX64
144 copy %WORKSPACE%\EdkShellBinPkg\MinimumShell\X64\
Shell.efi
%EFI_BOOT_DISK%\efi
\boot
\bootx
64.efi
/y
148 @
echo Wrong FAT
type %3 for %1
152 @
echo Error
! Wrong architecture.
156 @
echo "Usage: CreateBootDisk [usb|floppy|ide] DiskNumber [FAT12|FAT16|FAT32] [IA32|X64]"