summaryrefslogtreecommitdiff
path: root/DuetPkg/CreateBootDisk.sh
diff options
context:
space:
mode:
Diffstat (limited to 'DuetPkg/CreateBootDisk.sh')
-rw-r--r--DuetPkg/CreateBootDisk.sh15
1 files changed, 13 insertions, 2 deletions
diff --git a/DuetPkg/CreateBootDisk.sh b/DuetPkg/CreateBootDisk.sh
index fb54a31b0..faa9032cc 100644
--- a/DuetPkg/CreateBootDisk.sh
+++ b/DuetPkg/CreateBootDisk.sh
@@ -2,7 +2,7 @@
# Set up environment at fisrt.
export BUILD_DIR=$WORKSPACE/Build/DuetPkg/DEBUG_UNIXGCC
-export BASETOOLS_DIR=$WORKSPACE/Conf/BaseToolsSource/Source/C/bin
+export BASETOOLS_DIR=$EDK_TOOLS_PATH/Source/C/bin
export BOOTSECTOR_BIN_DIR=$WORKSPACE/DuetPkg/BootSector/bin
export DISK_LABEL=DUET
export PROCESS_MARK=TRUE
@@ -57,12 +57,23 @@ then
if [ "$4" = FAT12 ]
then
echo "Start to create file boot disk ..."
+ dd if=/dev/zero of=$EFI_BOOT_MEDIA bs=512 count=2880 2> /dev/null
+ mformat -i $EFI_BOOT_MEDIA -f 1440 ::
echo Create boot sector ...
## Linux version of GenBootSector has not pass build yet.
$BASETOOLS_DIR/GnuGenBootSector -i $EFI_BOOT_MEDIA -o FDBs.com
$BASETOOLS_DIR/BootSectImage -g FDBs.com $BOOTSECTOR_BIN_DIR/bootsect.com -f
- $BASETOOLS_DIR/GnuGenBootSector -o $EFI_BOOT_MEDIA -i $BOOTSECTOR_BIN_DIR/bootsect.com
+ $BASETOOLS_DIR/GnuGenBootSector -o tmp.$EFI_BOOT_MEDIA -i $BOOTSECTOR_BIN_DIR/bootsect.com
+ dd if=tmp.$EFI_BOOT_MEDIA of=$EFI_BOOT_MEDIA conv=notrunc 2> /dev/null
+ rm -f tmp.$EFI_BOOT_MEDIA
+
+ mcopy -i $EFI_BOOT_MEDIA $BUILD_DIR/FV/Efildr ::/Efildr
+
+ mmd -i $EFI_BOOT_MEDIA ::/efi
+ mmd -i $EFI_BOOT_MEDIA ::/efi/boot
+
+ mcopy -i $EFI_BOOT_MEDIA $WORKSPACE/EdkShellBinPkg/MinimumShell/Ia32/Shell.efi ::/efi/boot/bootia32.efi
echo Done.
else
echo "Wrong FAT type" $4 "for floppy!"