]> git.proxmox.com Git - mirror_edk2.git/blob - DuetPkg/CreateBootDisk.bat
1, Enable USB boot for R9's Duet.
[mirror_edk2.git] / DuetPkg / CreateBootDisk.bat
1 @REM
2
3 @REM Set up environment at fisrt.
4
5 @REM set BASETOOLS_DIR=%WORKSPACE_TOOLS_PATH%\Bin\Win32
6 @set BASETOOLS_DIR=n:\BaseTools\Bin\Win32
7 @set BUILD_DIR=%WORKSPACE%\Build\DuetPkg\DEBUG_MYTOOLS
8 @set DISK_LABEL=DUET
9 @echo on
10
11
12 @if "%1"=="" goto Help
13 @if "%2"=="" goto Help
14 @if "%3"=="" goto Help
15 @set EFI_BOOT_DISK=%2
16 @if "%1"=="floppy" goto CreateFloppy
17 @if "%1"=="file" goto CreateFile
18 @if "%1"=="usb" goto CreateUsb
19 @if "%1"=="ide" goto CreateIde
20 goto Help
21
22 :CreateFloppy
23 @if NOT "%3"=="FAT12" goto WrongFATType
24 @echo Start to create floppy boot disk ...
25 @echo Format %EFI_BOOT_DISK% ...
26 @echo.> FormatCommandInput.txt
27 @echo.n>> FormatCommandInput.txt
28 @format /v:%DISK_LABEL% /q %EFI_BOOT_DISK% < FormatCommandInput.txt > NUL
29 @del FormatCommandInput.txt
30 @echo Create boot sector ...
31 %BASETOOLS_DIR%\Genbootsector.exe -i %EFI_BOOT_DISK% -o FDBs.com
32 %BASETOOLS_DIR%\Bootsectimage.exe -g FDBs.com %BUILD_DIR%\IA32\DuetPkg\BootSector\BootSector\OUTPUT\Bootsect.com -f
33 @REM @del FDBS.com
34 %BASETOOLS_DIR%\Genbootsector.exe -o %EFI_BOOT_DISK% -i %BUILD_DIR%\IA32\DuetPkg\BootSector\BootSector\OUTPUT\Bootsect.com
35 @echo Done.
36 copy %BUILD_DIR%\FV\EfiLdr %EFI_BOOT_DISK%
37 mkdir %EFI_BOOT_DISK%\efi\boot
38 copy %WORKSPACE%\EdkShellBinPkg\bin\ia32\Shell.efi %EFI_BOOT_DISK%\efi\boot\bootia32.efi /y
39 @goto end
40
41 :CreateFile
42 @if NOT "%3"=="FAT12" goto WrongFATType
43 @echo Start to create file boot disk ...
44 @echo Create boot sector ...
45 %BASETOOLS_DIR%\Genbootsector.exe -i %EFI_BOOT_DISK% -o FDBs.com
46 %BASETOOLS_DIR%\Bootsectimage.exe -g FDBs.com %BUILD_DIR%\IA32\DuetPkg\BootSector\BootSector\OUTPUT\Bootsect.com -f
47 @REM @del FDBS.com
48 %BASETOOLS_DIR%\Genbootsector.exe -o %EFI_BOOT_DISK% -i %BUILD_DIR%\IA32\DuetPkg\BootSector\BootSector\OUTPUT\Bootsect.com
49 @echo Done.
50 @goto end
51
52 :CreateUsb
53 @echo Start to create usb boot disk ...
54 @if "%3"=="FAT16" goto CreateUsb_FAT16
55 @if "%3"=="FAT32" goto CreateUsb_FAT32
56 @if "%3"=="FAT12" goto WrongFATType
57
58 :CreateUsb_FAT16
59 @if "%4"=="step2" goto CreateUsb_FAT16_step2
60 @echo Format %EFI_BOOT_DISK% ...
61 @echo.> FormatCommandInput.txt
62 @format /FS:FAT /v:%DISK_LABEL% /q %EFI_BOOT_DISK% < FormatCommandInput.txt > NUL
63 @del FormatCommandInput.txt
64 @echo Create boot sector ...
65 @%BASETOOLS_DIR%\Genbootsector.exe -i %EFI_BOOT_DISK% -o UsbBs16.com
66 @%BASETOOLS_DIR%\Bootsectimage.exe -g UsbBs16.com %BUILD_DIR%\IA32\DuetPkg\BootSector\BootSector\OUTPUT\Bs16.com -f
67 @%BASETOOLS_DIR%\Genbootsector.exe -o %EFI_BOOT_DISK% -i %BUILD_DIR%\IA32\DuetPkg\BootSector\BootSector\OUTPUT\Bs16.com
68 @%BASETOOLS_DIR%\Genbootsector.exe -m -o %EFI_BOOT_DISK% -i %BUILD_DIR%\IA32\DuetPkg\BootSector\BootSector\OUTPUT\Mbr.com
69 @echo Done.
70 @echo PLEASE UNPLUG USB, THEN PLUG IT AGAIN!
71 @goto end
72
73 :CreateUsb_FAT16_step2
74 @copy %BUILD_DIR%\FV\EfiLdr16 %EFI_BOOT_DISK%
75 @mkdir %EFI_BOOT_DISK%\efi\boot
76 @copy %WORKSPACE%\EdkShellBinPkg\bin\ia32\Shell.efi %EFI_BOOT_DISK%\efi\boot\bootia32.efi /y
77 @goto end
78
79 :CreateUsb_FAT32
80 @echo Format %EFI_BOOT_DISK% ...
81 @echo.> FormatCommandInput.txt
82 @format /FS:FAT32 /v:%DISK_LABEL% /q %EFI_BOOT_DISK% < FormatCommandInput.txt > NUL
83 @del FormatCommandInput.txt
84 @echo Create boot sector ...
85 @%BASETOOLS_DIR%\Genbootsector.exe -i %EFI_BOOT_DISK% -o UsbBs32.com
86 @%BASETOOLS_DIR%\Bootsectimage.exe -g UsbBs32.com %BUILD_DIR%\IA32\DuetPkg\BootSector\BootSector\OUTPUT\Bs32.com -f
87 @del UsbBs32.com
88 @%BASETOOLS_DIR%\Genbootsector.exe -o %EFI_BOOT_DISK% -i %BUILD_DIR%\IA32\DuetPkg\BootSector\BootSector\OUTPUT\Bs32.com
89 @%BASETOOLS_DIR%\Genbootsector.exe -m -o %EFI_BOOT_DISK% -i %BUILD_DIR%\IA32\DuetPkg\BootSector\BootSector\OUTPUT\Mbr.com
90 @copy %BUILD_DIR%\FV\EfiLdr20 %EFI_BOOT_DISK%
91 @mkdir %EFI_BOOT_DISK%\efi\boot
92 @copy %WORKSPACE%\EdkShellBinPkg\bin\ia32\Shell.efi %EFI_BOOT_DISK%\efi\boot\bootia32.efi /y
93 @echo Done.
94 @echo PLEASE UNPLUG USB, THEN PLUG IT AGAIN!
95 @goto end
96
97 :CreateIde
98 @goto end
99
100 :WrongFATType
101 @echo Wrong FAT type %3 for %1
102 @goto end
103
104 :Help
105 @echo "Usage: CreateBootDisk [usb|floppy|ide] DiskNumber [FAT12|FAT16|FAT32]"
106 :end
107 @echo on