]> git.proxmox.com Git - mirror_edk2.git/blob - DuetPkg/CreateBootDisk.bat
Cleanup license header
[mirror_edk2.git] / DuetPkg / CreateBootDisk.bat
1 @REM ## @file
2 @REM #
3 @REM # Copyright (c) 2010, 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 fisrt.
16
17 @set BASETOOLS_DIR=%WORKSPACE_TOOLS_PATH%\Bin\Win32
18 @set BUILD_DIR=%WORKSPACE%\Build\DuetPkg\DEBUG_MYTOOLS
19 @set BOOTSECTOR_BIN_DIR=%WORKSPACE%\DuetPkg\BootSector\bin
20 @set DISK_LABEL=DUET
21 @set PROCESSOR=""
22
23 @echo on
24
25 @if "%1"=="" goto Help
26 @if "%2"=="" goto Help
27 @if "%3"=="" goto Help
28 @if "%4"=="" goto NoArch
29 @set EFI_BOOT_DISK=%2
30 @if "%4"=="IA32" set PROCESSOR=IA32
31 @if "%4"=="X64" set PROCESSOR=X64
32 @if %PROCESSOR%=="" goto WrongArch
33 @if "%1"=="floppy" goto CreateFloppy
34 @if "%1"=="file" goto CreateFile
35 @if "%1"=="usb" goto CreateUsb
36 @if "%1"=="ide" goto CreateIde
37
38 goto Help
39
40 :CreateFloppy
41 @if NOT "%3"=="FAT12" goto WrongFATType
42 @echo Start to create floppy boot disk ...
43 @echo Format %EFI_BOOT_DISK% ...
44 @echo.> FormatCommandInput.txt
45 @echo.n>> FormatCommandInput.txt
46 @format /v:%DISK_LABEL% /q %EFI_BOOT_DISK% < FormatCommandInput.txt > NUL
47 @del FormatCommandInput.txt
48 @echo Create boot sector ...
49 %BASETOOLS_DIR%\Genbootsector.exe -i %EFI_BOOT_DISK% -o FDBs.com
50 %BASETOOLS_DIR%\Bootsectimage.exe -g FDBs.com %BOOTSECTOR_BIN_DIR%\Bootsect.com -f
51 @REM @del FDBS.com
52 %BASETOOLS_DIR%\Genbootsector.exe -o %EFI_BOOT_DISK% -i %BOOTSECTOR_BIN_DIR%\Bootsect.com
53 @echo Done.
54 copy %BUILD_DIR%\FV\EfiLdr %EFI_BOOT_DISK%
55 mkdir %EFI_BOOT_DISK%\efi\boot
56 @if "%PROCESSOR%"=="IA32" goto CreateBootFileForIA32
57 @if "%PROCESSOR%"=="X64" goto CreateBootFileForX64
58 @goto end
59
60 :CreateFile
61 @if NOT "%3"=="FAT12" goto WrongFATType
62 @echo Start to create file boot disk ...
63 @echo Create boot sector ...
64 %BASETOOLS_DIR%\Genbootsector.exe -i %EFI_BOOT_DISK% -o FDBs.com
65 %BASETOOLS_DIR%\Bootsectimage.exe -g FDBs.com %BOOTSECTOR_BIN_DIR%\Bootsect.com -f
66 @REM @del FDBS.com
67 %BASETOOLS_DIR%\Genbootsector.exe -o %EFI_BOOT_DISK% -i %BOOTSECTOR_BIN_DIR%\Bootsect.com
68 @echo Done.
69 @goto end
70
71 :CreateUsb
72 @echo Start to create usb boot disk ...
73 @if "%3"=="FAT16" goto CreateUsb_FAT16
74 @if "%3"=="FAT32" goto CreateUsb_FAT32
75 @if "%3"=="FAT12" goto WrongFATType
76
77 :CreateUsb_FAT16
78 @if "%5"=="step2" goto CreateUsb_FAT16_step2
79 @echo Format %EFI_BOOT_DISK% ...
80 @echo.> FormatCommandInput.txt
81 @format /FS:FAT /v:%DISK_LABEL% /q %EFI_BOOT_DISK% < FormatCommandInput.txt > NUL
82 @del FormatCommandInput.txt
83 @echo Create boot sector ...
84 @%BASETOOLS_DIR%\Genbootsector.exe -i %EFI_BOOT_DISK% -o UsbBs16.com
85 @%BASETOOLS_DIR%\Bootsectimage.exe -g UsbBs16.com %BOOTSECTOR_BIN_DIR%\Bs16.com -f
86 @%BASETOOLS_DIR%\Genbootsector.exe -o %EFI_BOOT_DISK% -i %BOOTSECTOR_BIN_DIR%\Bs16.com
87 @%BASETOOLS_DIR%\Genbootsector.exe -m -o %EFI_BOOT_DISK% -i %BOOTSECTOR_BIN_DIR%\Mbr.com
88 @echo Done.
89 @echo PLEASE UNPLUG USB, THEN PLUG IT AGAIN!
90 @goto end
91
92 :CreateUsb_FAT16_step2
93 @copy %BUILD_DIR%\FV\EfiLdr16 %EFI_BOOT_DISK%
94 @mkdir %EFI_BOOT_DISK%\efi\boot
95 @if "%PROCESSOR%"=="IA32" goto CreateBootFileForIA32
96 @if "%PROCESSOR%"=="X64" goto CreateBootFileForX64
97 @goto end
98
99 :CreateUsb_FAT32
100 @if "%5"=="step2" goto CreateUsb_FAT32_step2
101 @echo Format %EFI_BOOT_DISK% ...
102 @echo.> FormatCommandInput.txt
103 @format /FS:FAT32 /v:%DISK_LABEL% /q %EFI_BOOT_DISK% < FormatCommandInput.txt > NUL
104 @del FormatCommandInput.txt
105 @echo Create boot sector ...
106 @%BASETOOLS_DIR%\Genbootsector.exe -i %EFI_BOOT_DISK% -o UsbBs32.com
107 @%BASETOOLS_DIR%\Bootsectimage.exe -g UsbBs32.com %BOOTSECTOR_BIN_DIR%\Bs32.com -f
108 @del UsbBs32.com
109 @%BASETOOLS_DIR%\Genbootsector.exe -o %EFI_BOOT_DISK% -i %BOOTSECTOR_BIN_DIR%\Bs32.com
110 @%BASETOOLS_DIR%\Genbootsector.exe -m -o %EFI_BOOT_DISK% -i %BOOTSECTOR_BIN_DIR%\Mbr.com
111 @echo Done.
112 @echo PLEASE UNPLUG USB, THEN PLUG IT AGAIN!
113 @goto end
114
115 :CreateUsb_FAT32_step2
116 @copy %BUILD_DIR%\FV\EfiLdr20 %EFI_BOOT_DISK%
117 @mkdir %EFI_BOOT_DISK%\efi\boot
118 @if "%PROCESSOR%"=="IA32" goto CreateBootFileForIA32
119 @if "%PROCESSOR%"=="X64" goto CreateBootFileForX64
120 @goto end
121
122 :CreateIde
123 @goto end
124
125 :CreateBootFileForIA32
126 copy %WORKSPACE%\EdkShellBinPkg\MinimumShell\IA32\Shell.efi %EFI_BOOT_DISK%\efi\boot\bootia32.efi /y
127 @goto end
128
129 :CreateBootFileForX64
130 copy %WORKSPACE%\EdkShellBinPkg\MinimumShell\X64\Shell.efi %EFI_BOOT_DISK%\efi\boot\bootx64.efi /y
131 @goto end
132
133 :WrongFATType
134 @echo Wrong FAT type %3 for %1
135 @goto end
136
137 :NoArch
138 @echo Error! Please specific the architecture.
139 @goto Help
140
141 :WrongArch
142 @echo Error! Wrong architecture.
143 @goto Help
144
145 :Help
146 @echo "Usage: CreateBootDisk [usb|floppy|ide] DiskNumber [FAT12|FAT16|FAT32] [IA32|X64]"
147 :end
148 @echo on