5 # Copyright (c) 2010 Intel Corporation. All rights reserved.<BR>
7 # This program and the accompanying materials
8 # are licensed and made available under the terms and conditions of the BSD License
9 # which accompanies this distribution. The full text of the license may be found at
10 # http://opensource.org/licenses/bsd-license.php
11 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
17 # Set up environment at fisrt.
18 export BUILD_DIR
=$WORKSPACE/Build
/DuetPkg
/DEBUG_UNIXGCC
19 export BASETOOLS_DIR
=$WORKSPACE/Conf
/BaseToolsSource
/Source
/C
/bin
20 export BOOTSECTOR_BIN_DIR
=$WORKSPACE/DuetPkg
/BootSector
/bin
21 export DISK_LABEL
=DUET
22 export PROCESS_MARK
=TRUE
31 echo "Usage: CreateBootDisk [usb|floppy|ide] MediaPath DevicePath [FAT12|FAT16|FAT32] [IA32|X64]"
32 echo "e.g. : CreateBootDisk floppy /media/floppy0 /dev/fd0 FAT12 IA32"
36 export EFI_BOOT_MEDIA
=$2
37 export EFI_BOOT_DEVICE
=$3
39 if [ "$PROCESS_MARK" = TRUE
]
45 echo Start to create floppy boot disk ...
46 echo Format
$EFI_BOOT_MEDIA ...
48 umount
$EFI_BOOT_MEDIA
49 mkfs.msdos
$EFI_BOOT_DEVICE
50 mount
$EFI_BOOT_DEVICE $EFI_BOOT_MEDIA
51 echo Create boot sector ...
52 ## Linux version of GenBootSector has not pass build yet.
53 $BASETOOLS_DIR/GnuGenBootSector
-i $EFI_BOOT_DEVICE -o FDBs.com
54 $BASETOOLS_DIR/BootSectImage
-g FDBs.com
$BOOTSECTOR_BIN_DIR/bootsect.com
-f
55 $BASETOOLS_DIR/GnuGenBootSector
-o $EFI_BOOT_DEVICE -i $BOOTSECTOR_BIN_DIR/bootsect.com
57 cp $BUILD_DIR/FV
/Efildr
$EFI_BOOT_MEDIA
59 mkdir
-p $EFI_BOOT_MEDIA/efi
60 mkdir
-p $EFI_BOOT_MEDIA/efi
/boot
63 cp $WORKSPACE/EdkShellBinPkg
/MinimumShell
/Ia32
/Shell.efi
$EFI_BOOT_MEDIA/efi
/boot
/bootia32.efi
67 cp $WORKSPACE/EdkShellBinPkg
/MinimumShell
/X64
/Shell.efi
$EFI_BOOT_MEDIA/efi
/boot
/bootx64.efi
74 echo "Wrong FAT type $4 for floppy!"
81 echo "Start to create file boot disk ..."
82 echo Create boot sector ...
84 ## Linux version of GenBootSector has not pass build yet.
85 $BASETOOLS_DIR/GnuGenBootSector
-i $EFI_BOOT_MEDIA -o FDBs.com
86 $BASETOOLS_DIR/BootSectImage
-g FDBs.com
$BOOTSECTOR_BIN_DIR/bootsect.com
-f
87 $BASETOOLS_DIR/GnuGenBootSector
-o $EFI_BOOT_MEDIA -i $BOOTSECTOR_BIN_DIR/bootsect.com
90 echo "Wrong FAT type" $4 "for floppy!"
100 cp $BUILD_DIR/FV
/Efildr16
$EFI_BOOT_MEDIA
101 mkdir
$EFI_BOOT_MEDIA/efi
/boot
104 cp $WORKSPACE/EdkShellBinPkg
/MinimumShell
/Ia32
/Shell.efi
$EFI_BOOT_MEDIA/efi
/boot
/bootia32.efi
108 cp $WORKSPACE/EdkShellBinPkg
/MinimumShell
/X64
/Shell.efi
$EFI_BOOT_MEDIA/efi
/boot
/bootx64.efi
115 echo Format
$EFI_BOOT_DEVICE ...
117 echo Create boot sector ...
118 ## Linux version of GenBootSector & Bootsectimage has not pass build yet.
119 $BASETOOLS_DIR/GnuGenBootSector
-i $EFI_BOOT_DEVICE -o UsbBs16.com
120 $BASETOOLS_DIR/BootSectImage
-g UsbBs16.com
$BOOTSECTOR_BIN_DIR/bs16.com
-f
121 $BASETOOLS_DIR/GnuGenBootSector
-o $EFI_BOOT_DEVICE -i $BOOTSECTOR_BIN_DIR/bs16.com
122 $BASETOOLS_DIR/GnuGenBootSector
-m -o $EFI_BOOT_DEVICE -i $BOOTSECTOR_BIN_DIR/Mbr.com
124 echo PLEASE UNPLUG USB
, THEN PLUG IT AGAIN TO DO STEP2
!
126 elif [ "$4" = FAT32
]
130 cp $BUILD_DIR/FV
/Efildr20
$EFI_BOOT_MEDIA
131 mkdir
$EFI_BOOT_MEDIA/efi
/boot
134 cp $WORKSPACE/EdkShellBinPkg
/MinimumShell
/Ia32
/Shell.efi
$EFI_BOOT_MEDIA/efi
/boot
/bootia32.efi
138 cp $WORKSPACE/EdkShellBinPkg
/MinimumShell
/X64
/Shell.efi
$EFI_BOOT_MEDIA/efi
/boot
/bootx64.efi
145 echo Format
$EFI_BOOT_DEVICE ...
147 echo Create boot sector ...
148 ## Linux version of GenBootSector & Bootsectimage has not pass build yet.
149 $BASETOOLS_DIR/GnuGenBootSector
-i $EFI_BOOT_DEVICE -o UsbBs32.com
150 $BASETOOLS_DIR/BootSectImage
-g UsbBs32.com
$BOOTSECTOR_BIN_DIR/bs32.com
-f
151 $BASETOOLS_DIR/GnuGenBootSector
-o $EFI_BOOT_DEVICE -i $BOOTSECTOR_BIN_DIR/bs32.com
152 $BASETOOLS_DIR/GnuGenBootSector
-m -o $EFI_BOOT_DEVICE -i $BOOTSECTOR_BIN_DIR/Mbr.com
154 echo PLEASE UNPLUG USB
, THEN PLUG IT AGAIN TO DO STEP2
!
157 echo "Wrong FAT type $1 for floppy!"
163 echo "Not support yet!"
166 echo "Arg1 should be [floppy | file | usb | ide] !"