diff --git a/DuetPkg/CreateBootDisk.bat b/DuetPkg/CreateBootDisk.bat index 541de816f2..214b5b6925 100644 --- a/DuetPkg/CreateBootDisk.bat +++ b/DuetPkg/CreateBootDisk.bat @@ -56,7 +56,7 @@ goto Help @copy %BOOTSECTOR_BIN_DIR%\Bootsect.com FDBs-1.com @%BASETOOLS_DIR%\Bootsectimage.exe -g FDBs.com FDBs-1.com -f @REM @del FDBS.com -@%BASETOOLS_DIR%\Genbootsector.exe -o %EFI_BOOT_DISK% -i FDBs-1.com +@%BASETOOLS_DIR%\Genbootsector.exe -o %EFI_BOOT_DISK% -i FDBs-1.com @del FDBs-1.com @echo Done. @copy %BUILD_DIR%\FV\EfiLdr %EFI_BOOT_DISK% @@ -70,7 +70,7 @@ goto Help @copy %BOOTSECTOR_BIN_DIR%\Bootsect.com FDBs-1.com @%BASETOOLS_DIR%\Bootsectimage.exe -g FDBs.com FDBs-1.com -f @REM @del FDBS.com -@%BASETOOLS_DIR%\Genbootsector.exe -o %EFI_BOOT_DISK% -i FDBs-1.com +@%BASETOOLS_DIR%\Genbootsector.exe -o %EFI_BOOT_DISK% -i FDBs-1.com @del FDBs-1.com @echo Done. @goto end @@ -89,8 +89,8 @@ goto Help @del FormatCommandInput.txt @echo Create boot sector ... @%BASETOOLS_DIR%\Genbootsector.exe -i %EFI_BOOT_DISK% -o UsbBs16.com -@copy %BOOTSECTOR_BIN_DIR%\Bs16.com Bs16-1.com -@%BASETOOLS_DIR%\Bootsectimage.exe -g UsbBs16.com Bs16-1.com -f +@copy %BOOTSECTOR_BIN_DIR%\Bs16.com Bs16-1.com +@%BASETOOLS_DIR%\Bootsectimage.exe -g UsbBs16.com Bs16-1.com -f @%BASETOOLS_DIR%\Genbootsector.exe -o %EFI_BOOT_DISK% -i Bs16-1.com @del Bs16-1.com @%BASETOOLS_DIR%\Genbootsector.exe -m -o %EFI_BOOT_DISK% -i %BOOTSECTOR_BIN_DIR%\Mbr.com @@ -110,15 +110,15 @@ goto Help @del FormatCommandInput.txt @echo Create boot sector ... @%BASETOOLS_DIR%\Genbootsector.exe -i %EFI_BOOT_DISK% -o UsbBs32.com -@copy %BOOTSECTOR_BIN_DIR%\Bs32.com Bs32-1.com -@%BASETOOLS_DIR%\Bootsectimage.exe -g UsbBs32.com Bs32-1.com -f +@copy %BOOTSECTOR_BIN_DIR%\Bs32.com Bs32-1.com +@%BASETOOLS_DIR%\Bootsectimage.exe -g UsbBs32.com Bs32-1.com -f @del UsbBs32.com @%BASETOOLS_DIR%\Genbootsector.exe -o %EFI_BOOT_DISK% -i Bs32-1.com @del Bs32-1.com @%BASETOOLS_DIR%\Genbootsector.exe -m -o %EFI_BOOT_DISK% -i %BOOTSECTOR_BIN_DIR%\Mbr.com @echo Done. @echo PLEASE UNPLUG USB, THEN PLUG IT AGAIN! -@goto end +@goto end :CreateUsb_FAT32_step2 @copy %BUILD_DIR%\FV\EfiLdr20 %EFI_BOOT_DISK% diff --git a/DuetPkg/CreateBootDisk.sh b/DuetPkg/CreateBootDisk.sh index f2ff57120a..fa00408d84 100755 --- a/DuetPkg/CreateBootDisk.sh +++ b/DuetPkg/CreateBootDisk.sh @@ -34,9 +34,9 @@ if [ \ "$*" = "--help" \ ] then - echo "Usage: CreateBootDisk [usb|floppy|ide|file] MediaPath DevicePath [FAT12|FAT16|FAT32] [IA32|X64] [GCC44|UNIXGCC]" - echo "e.g. : CreateBootDisk floppy /media/floppy0 /dev/fd0 FAT12 IA32" - PROCESS_MARK=FALSE + echo "Usage: CreateBootDisk [usb|floppy|ide|file] MediaPath DevicePath [FAT12|FAT16|FAT32] [IA32|X64] [GCC44|UNIXGCC]" + echo "e.g. : CreateBootDisk floppy /media/floppy0 /dev/fd0 FAT12 IA32" + PROCESS_MARK=FALSE fi case "$5" in @@ -66,153 +66,153 @@ export EFI_BOOT_DEVICE=$3 if [ "$PROCESS_MARK" = TRUE ] then - case "$1" in - floppy) - if [ "$4" = FAT12 ] - then - echo Start to create floppy boot disk ... - echo Format $EFI_BOOT_MEDIA ... - ## Format floppy disk - umount $EFI_BOOT_MEDIA - mkfs.msdos $EFI_BOOT_DEVICE - mount $EFI_BOOT_DEVICE $EFI_BOOT_MEDIA - echo Create boot sector ... - ## Linux version of GenBootSector has not pass build yet. - $BASETOOLS_DIR/GnuGenBootSector -i $EFI_BOOT_DEVICE -o FDBs.com - cp $BOOTSECTOR_BIN_DIR/bootsect.com FDBs-1.com - $BASETOOLS_DIR/BootSectImage -g FDBs.com FDBs-1.com -f - $BASETOOLS_DIR/GnuGenBootSector -o $EFI_BOOT_DEVICE -i FDBs-1.com - rm FDBs-1.com - cp $BUILD_DIR/FV/Efildr $EFI_BOOT_MEDIA - - mkdir -p $EFI_BOOT_MEDIA/efi - mkdir -p $EFI_BOOT_MEDIA/efi/boot - if [ "$5" = IA32 ] - then - cp $WORKSPACE/ShellBinPkg/UefiShell/Ia32/Shell.efi $EFI_BOOT_MEDIA/efi/boot/boot$5.efi - else - if [ "$5" = X64 ] - then - cp $WORKSPACE/ShellBinPkg/UefiShell/X64/Shell.efi $EFI_BOOT_MEDIA/efi/boot/boot$5.efi - else - echo Wrong Arch! - fi - fi - echo Done. - else - echo "Wrong FAT type $4 for floppy!" - fi - ;; + case "$1" in + floppy) + if [ "$4" = FAT12 ] + then + echo Start to create floppy boot disk ... + echo Format $EFI_BOOT_MEDIA ... + ## Format floppy disk + umount $EFI_BOOT_MEDIA + mkfs.msdos $EFI_BOOT_DEVICE + mount $EFI_BOOT_DEVICE $EFI_BOOT_MEDIA + echo Create boot sector ... + ## Linux version of GenBootSector has not pass build yet. + $BASETOOLS_DIR/GnuGenBootSector -i $EFI_BOOT_DEVICE -o FDBs.com + cp $BOOTSECTOR_BIN_DIR/bootsect.com FDBs-1.com + $BASETOOLS_DIR/BootSectImage -g FDBs.com FDBs-1.com -f + $BASETOOLS_DIR/GnuGenBootSector -o $EFI_BOOT_DEVICE -i FDBs-1.com + rm FDBs-1.com + cp $BUILD_DIR/FV/Efildr $EFI_BOOT_MEDIA - file) # CreateFile - if [ "$4" = FAT12 ] - then - echo "Start to create file boot disk ..." - dd bs=512 count=2880 if=/dev/zero of=$EFI_BOOT_MEDIA - mkfs.msdos -F 12 $EFI_BOOT_MEDIA + mkdir -p $EFI_BOOT_MEDIA/efi + mkdir -p $EFI_BOOT_MEDIA/efi/boot + if [ "$5" = IA32 ] + then + cp $WORKSPACE/ShellBinPkg/UefiShell/Ia32/Shell.efi $EFI_BOOT_MEDIA/efi/boot/boot$5.efi + else + if [ "$5" = X64 ] + then + cp $WORKSPACE/ShellBinPkg/UefiShell/X64/Shell.efi $EFI_BOOT_MEDIA/efi/boot/boot$5.efi + else + echo Wrong Arch! + fi + fi + echo Done. + else + echo "Wrong FAT type $4 for floppy!" + fi + ;; - mcopy -i $EFI_BOOT_MEDIA $BUILD_DIR/FV/Efildr ::/Efildr - mmd -i $EFI_BOOT_MEDIA ::/efi ::/efi/boot - if [ "$5" = IA32 ] - then - mcopy -i $EFI_BOOT_MEDIA $WORKSPACE/ShellBinPkg/UefiShell/Ia32/Shell.efi ::/efi/boot/boot$5.efi - elif [ "$5" = X64 ] - then - mcopy -i $EFI_BOOT_MEDIA $WORKSPACE/ShellBinPkg/UefiShell/X64/Shell.efi ::/efi/boot/boot$5.efi - else - echo Wrong Arch! - fi - mdir -i $EFI_BOOT_MEDIA -s :: + file) # CreateFile + if [ "$4" = FAT12 ] + then + echo "Start to create file boot disk ..." + dd bs=512 count=2880 if=/dev/zero of=$EFI_BOOT_MEDIA + mkfs.msdos -F 12 $EFI_BOOT_MEDIA - ## Linux version of GenBootSector has not pass build yet. - $BASETOOLS_DIR/GnuGenBootSector -i $EFI_BOOT_MEDIA -o $EFI_BOOT_MEDIA.bs0 - cp $BOOTSECTOR_BIN_DIR/bootsect.com $EFI_BOOT_MEDIA.bs1 - $BASETOOLS_DIR/BootSectImage -g $EFI_BOOT_MEDIA.bs0 $EFI_BOOT_MEDIA.bs1 - $BASETOOLS_DIR/GnuGenBootSector -o $EFI_BOOT_MEDIA -i $EFI_BOOT_MEDIA.bs1 - rm $EFI_BOOT_MEDIA.bs[0-1] - echo Done. - else - echo "Wrong FAT type" $4 "for floppy!" - fi - ;; + mcopy -i $EFI_BOOT_MEDIA $BUILD_DIR/FV/Efildr ::/Efildr + mmd -i $EFI_BOOT_MEDIA ::/efi ::/efi/boot + if [ "$5" = IA32 ] + then + mcopy -i $EFI_BOOT_MEDIA $WORKSPACE/ShellBinPkg/UefiShell/Ia32/Shell.efi ::/efi/boot/boot$5.efi + elif [ "$5" = X64 ] + then + mcopy -i $EFI_BOOT_MEDIA $WORKSPACE/ShellBinPkg/UefiShell/X64/Shell.efi ::/efi/boot/boot$5.efi + else + echo Wrong Arch! + fi + mdir -i $EFI_BOOT_MEDIA -s :: - usb) # CreateUsb + ## Linux version of GenBootSector has not pass build yet. + $BASETOOLS_DIR/GnuGenBootSector -i $EFI_BOOT_MEDIA -o $EFI_BOOT_MEDIA.bs0 + cp $BOOTSECTOR_BIN_DIR/bootsect.com $EFI_BOOT_MEDIA.bs1 + $BASETOOLS_DIR/BootSectImage -g $EFI_BOOT_MEDIA.bs0 $EFI_BOOT_MEDIA.bs1 + $BASETOOLS_DIR/GnuGenBootSector -o $EFI_BOOT_MEDIA -i $EFI_BOOT_MEDIA.bs1 + rm $EFI_BOOT_MEDIA.bs[0-1] + echo Done. + else + echo "Wrong FAT type" $4 "for floppy!" + fi + ;; - if [ "$4" = FAT16 ] - then - if [ "$6" = step2 ] - then - cp $BUILD_DIR/FV/Efildr16 $EFI_BOOT_MEDIA - mkdir $EFI_BOOT_MEDIA/efi/boot - if [ "$5" = IA32 ] - then - cp $WORKSPACE/ShellBinPkg/UefiShell/Ia32/Shell.efi $EFI_BOOT_MEDIA/efi/boot/boot$5.efi - else - if [ "$5" = X64 ] - then - cp $WORKSPACE/ShellBinPkg/UefiShell/X64/Shell.efi $EFI_BOOT_MEDIA/efi/boot/boot$5.efi - else - echo Wrong Arch! - fi - fi - echo "step2 Done!" - else - echo Format $EFI_BOOT_DEVICE ... - #Do format command. - echo Create boot sector ... - ## Linux version of GenBootSector & Bootsectimage has not pass build yet. - $BASETOOLS_DIR/GnuGenBootSector -i $EFI_BOOT_DEVICE -o UsbBs16.com - cp $BOOTSECTOR_BIN_DIR/bs16.com Bs16-1.com - $BASETOOLS_DIR/BootSectImage -g UsbBs16.com Bs16-1.com -f - $BASETOOLS_DIR/GnuGenBootSector -o $EFI_BOOT_DEVICE -i Bs16-1.com - rm Bs16-1.com - $BASETOOLS_DIR/GnuGenBootSector -m -o $EFI_BOOT_DEVICE -i $BOOTSECTOR_BIN_DIR/Mbr.com - echo Done. - echo PLEASE UNPLUG USB, THEN PLUG IT AGAIN TO DO STEP2! - fi - elif [ "$4" = FAT32 ] - then - if [ "$6" = step2 ] - then - cp $BUILD_DIR/FV/Efildr20 $EFI_BOOT_MEDIA - mkdir $EFI_BOOT_MEDIA/efi/boot - if [ "$5" = IA32 ] - then - cp $WORKSPACE/ShellBinPkg/UefiShell/Ia32/Shell.efi $EFI_BOOT_MEDIA/efi/boot/boot$5.efi - else - if [ "$5" = X64 ] - then - cp $WORKSPACE/ShellBinPkg/UefiShell/X64/Shell.efi $EFI_BOOT_MEDIA/efi/boot/boot$5.efi - else - echo Wrong Arch! - fi - fi - echo "step2 Done!" - else - echo Format $EFI_BOOT_DEVICE ... - #Do format command. - echo Create boot sector ... - ## Linux version of GenBootSector & Bootsectimage has not pass build yet. - $BASETOOLS_DIR/GnuGenBootSector -i $EFI_BOOT_DEVICE -o UsbBs32.com - cp $BOOTSECTOR_BIN_DIR/bs32.com Bs32-1.com - $BASETOOLS_DIR/BootSectImage -g UsbBs32.com Bs32-1.com -f - $BASETOOLS_DIR/GnuGenBootSector -o $EFI_BOOT_DEVICE -i Bs32-1.com - rm Bs32-1.com - $BASETOOLS_DIR/GnuGenBootSector -m -o $EFI_BOOT_DEVICE -i $BOOTSECTOR_BIN_DIR/Mbr.com - echo Done. - echo PLEASE UNPLUG USB, THEN PLUG IT AGAIN TO DO STEP2! - fi - else - echo "Wrong FAT type $1 for floppy!" - fi - - ;; + usb) # CreateUsb - ide) # CreateIde - echo "Not support yet!" - ;; - *) - echo "Arg1 should be [floppy | file | usb | ide] !" + if [ "$4" = FAT16 ] + then + if [ "$6" = step2 ] + then + cp $BUILD_DIR/FV/Efildr16 $EFI_BOOT_MEDIA + mkdir $EFI_BOOT_MEDIA/efi/boot + if [ "$5" = IA32 ] + then + cp $WORKSPACE/ShellBinPkg/UefiShell/Ia32/Shell.efi $EFI_BOOT_MEDIA/efi/boot/boot$5.efi + else + if [ "$5" = X64 ] + then + cp $WORKSPACE/ShellBinPkg/UefiShell/X64/Shell.efi $EFI_BOOT_MEDIA/efi/boot/boot$5.efi + else + echo Wrong Arch! + fi + fi + echo "step2 Done!" + else + echo Format $EFI_BOOT_DEVICE ... + #Do format command. + echo Create boot sector ... + ## Linux version of GenBootSector & Bootsectimage has not pass build yet. + $BASETOOLS_DIR/GnuGenBootSector -i $EFI_BOOT_DEVICE -o UsbBs16.com + cp $BOOTSECTOR_BIN_DIR/bs16.com Bs16-1.com + $BASETOOLS_DIR/BootSectImage -g UsbBs16.com Bs16-1.com -f + $BASETOOLS_DIR/GnuGenBootSector -o $EFI_BOOT_DEVICE -i Bs16-1.com + rm Bs16-1.com + $BASETOOLS_DIR/GnuGenBootSector -m -o $EFI_BOOT_DEVICE -i $BOOTSECTOR_BIN_DIR/Mbr.com + echo Done. + echo PLEASE UNPLUG USB, THEN PLUG IT AGAIN TO DO STEP2! + fi + elif [ "$4" = FAT32 ] + then + if [ "$6" = step2 ] + then + cp $BUILD_DIR/FV/Efildr20 $EFI_BOOT_MEDIA + mkdir $EFI_BOOT_MEDIA/efi/boot + if [ "$5" = IA32 ] + then + cp $WORKSPACE/ShellBinPkg/UefiShell/Ia32/Shell.efi $EFI_BOOT_MEDIA/efi/boot/boot$5.efi + else + if [ "$5" = X64 ] + then + cp $WORKSPACE/ShellBinPkg/UefiShell/X64/Shell.efi $EFI_BOOT_MEDIA/efi/boot/boot$5.efi + else + echo Wrong Arch! + fi + fi + echo "step2 Done!" + else + echo Format $EFI_BOOT_DEVICE ... + #Do format command. + echo Create boot sector ... + ## Linux version of GenBootSector & Bootsectimage has not pass build yet. + $BASETOOLS_DIR/GnuGenBootSector -i $EFI_BOOT_DEVICE -o UsbBs32.com + cp $BOOTSECTOR_BIN_DIR/bs32.com Bs32-1.com + $BASETOOLS_DIR/BootSectImage -g UsbBs32.com Bs32-1.com -f + $BASETOOLS_DIR/GnuGenBootSector -o $EFI_BOOT_DEVICE -i Bs32-1.com + rm Bs32-1.com + $BASETOOLS_DIR/GnuGenBootSector -m -o $EFI_BOOT_DEVICE -i $BOOTSECTOR_BIN_DIR/Mbr.com + echo Done. + echo PLEASE UNPLUG USB, THEN PLUG IT AGAIN TO DO STEP2! + fi + else + echo "Wrong FAT type $1 for floppy!" + fi - esac + ;; + + ide) # CreateIde + echo "Not support yet!" + ;; + *) + echo "Arg1 should be [floppy | file | usb | ide] !" + + esac fi diff --git a/DuetPkg/PostBuild.bat b/DuetPkg/PostBuild.bat index bdcafb864f..df34fa7f9a 100644 --- a/DuetPkg/PostBuild.bat +++ b/DuetPkg/PostBuild.bat @@ -1,6 +1,6 @@ @REM ## @file @REM # -@REM # Currently, Build system does not provide post build mechanism for module +@REM # Currently, Build system does not provide post build mechanism for module @REM # and platform building, so just use a bat file to do post build commands. @REM # Originally, following post building command is for EfiLoader module. @REM # diff --git a/DuetPkg/PostBuild.sh b/DuetPkg/PostBuild.sh index f032de3a9d..6f307e1c7e 100755 --- a/DuetPkg/PostBuild.sh +++ b/DuetPkg/PostBuild.sh @@ -2,7 +2,7 @@ ## @file # -# Currently, Build system does not provide post build mechanism for module +# Currently, Build system does not provide post build mechanism for module # and platform building, so just use a sh file to do post build commands. # Originally, following post building command is for EfiLoader module. # @@ -33,8 +33,8 @@ if [ \ "$1" = "--help" \ ] then - echo Error! Please specific the architecture. - echo Usage: "./PostBuild.sh [IA32|X64] [UNIXGCC|GCC44]" + echo Error! Please specific the architecture. + echo Usage: "./PostBuild.sh [IA32|X64] [UNIXGCC|GCC44]" fi case "$1" in @@ -75,41 +75,41 @@ echo Compressing DxeMain.efi ... $BASETOOLS_DIR/LzmaCompress -e -o $BUILD_DIR/FV/DxeMain.z $BUILD_DIR/$PROCESSOR/DxeCore.efi echo Compressing DxeIpl.efi ... -$BASETOOLS_DIR/LzmaCompress -e -o $BUILD_DIR/FV/DxeIpl.z $BUILD_DIR/$PROCESSOR/DxeIpl.efi +$BASETOOLS_DIR/LzmaCompress -e -o $BUILD_DIR/FV/DxeIpl.z $BUILD_DIR/$PROCESSOR/DxeIpl.efi echo Generate Loader Image ... if [ $PROCESSOR = IA32 ] then - $BASETOOLS_DIR/GenFw --rebase 0x10000 -o $BUILD_DIR/$PROCESSOR/EfiLoader.efi $BUILD_DIR/$PROCESSOR/EfiLoader.efi - $BASETOOLS_DIR/EfiLdrImage -o $BUILD_DIR/FV/Efildr32 $BUILD_DIR/$PROCESSOR/EfiLoader.efi $BUILD_DIR/FV/DxeIpl.z $BUILD_DIR/FV/DxeMain.z $BUILD_DIR/FV/DUETEFIMAINFV.z - cat $BOOTSECTOR_BIN_DIR/Start.com $BOOTSECTOR_BIN_DIR/efi32.com2 $BUILD_DIR/FV/Efildr32 > $BUILD_DIR/FV/Efildr - # - # It is safe to use "bcat" to cat following binary file, if bcat command is avaiable for your system - # - #bcat -o $BUILD_DIR/FV/Efildr.bcat $BOOTSECTOR_BIN_DIR/start.com $BOOTSECTOR_BIN_DIR/efi32.com2 $BUILD_DIR/FV/Efildr32 - cat $BOOTSECTOR_BIN_DIR/Start16.com $BOOTSECTOR_BIN_DIR/efi32.com2 $BUILD_DIR/FV/Efildr32 > $BUILD_DIR/FV/Efildr16 - #bcat -o $BUILD_DIR/FV/Efildr16.bcat $BOOTSECTOR_BIN_DIR/start16.com $BOOTSECTOR_BIN_DIR/efi32.com2 $BUILD_DIR/FV/Efildr32 - cat $BOOTSECTOR_BIN_DIR/Start32.com $BOOTSECTOR_BIN_DIR/efi32.com2 $BUILD_DIR/FV/Efildr32 > $BUILD_DIR/FV/Efildr20 - #bcat -o $BUILD_DIR/FV/Efildr20.bcat $BOOTSECTOR_BIN_DIR/start32.com $BOOTSECTOR_BIN_DIR/efi32.com2 $BUILD_DIR/FV/Efildr32 - echo Done! + $BASETOOLS_DIR/GenFw --rebase 0x10000 -o $BUILD_DIR/$PROCESSOR/EfiLoader.efi $BUILD_DIR/$PROCESSOR/EfiLoader.efi + $BASETOOLS_DIR/EfiLdrImage -o $BUILD_DIR/FV/Efildr32 $BUILD_DIR/$PROCESSOR/EfiLoader.efi $BUILD_DIR/FV/DxeIpl.z $BUILD_DIR/FV/DxeMain.z $BUILD_DIR/FV/DUETEFIMAINFV.z + cat $BOOTSECTOR_BIN_DIR/Start.com $BOOTSECTOR_BIN_DIR/efi32.com2 $BUILD_DIR/FV/Efildr32 > $BUILD_DIR/FV/Efildr + # + # It is safe to use "bcat" to cat following binary file, if bcat command is avaiable for your system + # + #bcat -o $BUILD_DIR/FV/Efildr.bcat $BOOTSECTOR_BIN_DIR/start.com $BOOTSECTOR_BIN_DIR/efi32.com2 $BUILD_DIR/FV/Efildr32 + cat $BOOTSECTOR_BIN_DIR/Start16.com $BOOTSECTOR_BIN_DIR/efi32.com2 $BUILD_DIR/FV/Efildr32 > $BUILD_DIR/FV/Efildr16 + #bcat -o $BUILD_DIR/FV/Efildr16.bcat $BOOTSECTOR_BIN_DIR/start16.com $BOOTSECTOR_BIN_DIR/efi32.com2 $BUILD_DIR/FV/Efildr32 + cat $BOOTSECTOR_BIN_DIR/Start32.com $BOOTSECTOR_BIN_DIR/efi32.com2 $BUILD_DIR/FV/Efildr32 > $BUILD_DIR/FV/Efildr20 + #bcat -o $BUILD_DIR/FV/Efildr20.bcat $BOOTSECTOR_BIN_DIR/start32.com $BOOTSECTOR_BIN_DIR/efi32.com2 $BUILD_DIR/FV/Efildr32 + echo Done! fi if [ $PROCESSOR = X64 ] then - $BASETOOLS_DIR/GenFw --rebase 0x10000 -o $BUILD_DIR/$PROCESSOR/EfiLoader.efi $BUILD_DIR/$PROCESSOR/EfiLoader.efi - $BASETOOLS_DIR/EfiLdrImage -o $BUILD_DIR/FV/Efildr64 $BUILD_DIR/$PROCESSOR/EfiLoader.efi $BUILD_DIR/FV/DxeIpl.z $BUILD_DIR/FV/DxeMain.z $BUILD_DIR/FV/DUETEFIMAINFV.z - cat $BOOTSECTOR_BIN_DIR/Start64.com $BOOTSECTOR_BIN_DIR/efi64.com2 $BUILD_DIR/FV/Efildr64 > $BUILD_DIR/FV/EfildrPure - #bcat -o $BUILD_DIR/FV/EfildrPure $BOOTSECTOR_BIN_DIR/start64.com $BOOTSECTOR_BIN_DIR/efi64.com2 $BUILD_DIR/FV/Efildr64 - $BASETOOLS_DIR/GenPage $BUILD_DIR/FV/EfildrPure -o $BUILD_DIR/FV/Efildr - cat $BOOTSECTOR_BIN_DIR/St16_64.com $BOOTSECTOR_BIN_DIR/efi64.com2 $BUILD_DIR/FV/Efildr64 > $BUILD_DIR/FV/Efildr16Pure - #bcat -o $BUILD_DIR/FV/Efildr16Pure $BOOTSECTOR_BIN_DIR/st16_64.com $BOOTSECTOR_BIN_DIR/efi64.com2 $BUILD_DIR/FV/Efildr64 - $BASETOOLS_DIR/GenPage $BUILD_DIR/FV/Efildr16Pure -o $BUILD_DIR/FV/Efildr16 - cat $BOOTSECTOR_BIN_DIR/St32_64.com $BOOTSECTOR_BIN_DIR/efi64.com2 $BUILD_DIR/FV/Efildr64 > $BUILD_DIR/FV/Efildr20Pure - #bcat -o $BUILD_DIR/FV/Efildr20Pure $BOOTSECTOR_BIN_DIR/st32_64.com $BOOTSECTOR_BIN_DIR/efi64.com2 $BUILD_DIR/FV/Efildr64 - $BASETOOLS_DIR/GenPage $BUILD_DIR/FV/Efildr20Pure -o $BUILD_DIR/FV/Efildr20 - - echo Done! + $BASETOOLS_DIR/GenFw --rebase 0x10000 -o $BUILD_DIR/$PROCESSOR/EfiLoader.efi $BUILD_DIR/$PROCESSOR/EfiLoader.efi + $BASETOOLS_DIR/EfiLdrImage -o $BUILD_DIR/FV/Efildr64 $BUILD_DIR/$PROCESSOR/EfiLoader.efi $BUILD_DIR/FV/DxeIpl.z $BUILD_DIR/FV/DxeMain.z $BUILD_DIR/FV/DUETEFIMAINFV.z + cat $BOOTSECTOR_BIN_DIR/Start64.com $BOOTSECTOR_BIN_DIR/efi64.com2 $BUILD_DIR/FV/Efildr64 > $BUILD_DIR/FV/EfildrPure + #bcat -o $BUILD_DIR/FV/EfildrPure $BOOTSECTOR_BIN_DIR/start64.com $BOOTSECTOR_BIN_DIR/efi64.com2 $BUILD_DIR/FV/Efildr64 + $BASETOOLS_DIR/GenPage $BUILD_DIR/FV/EfildrPure -o $BUILD_DIR/FV/Efildr + cat $BOOTSECTOR_BIN_DIR/St16_64.com $BOOTSECTOR_BIN_DIR/efi64.com2 $BUILD_DIR/FV/Efildr64 > $BUILD_DIR/FV/Efildr16Pure + #bcat -o $BUILD_DIR/FV/Efildr16Pure $BOOTSECTOR_BIN_DIR/st16_64.com $BOOTSECTOR_BIN_DIR/efi64.com2 $BUILD_DIR/FV/Efildr64 + $BASETOOLS_DIR/GenPage $BUILD_DIR/FV/Efildr16Pure -o $BUILD_DIR/FV/Efildr16 + cat $BOOTSECTOR_BIN_DIR/St32_64.com $BOOTSECTOR_BIN_DIR/efi64.com2 $BUILD_DIR/FV/Efildr64 > $BUILD_DIR/FV/Efildr20Pure + #bcat -o $BUILD_DIR/FV/Efildr20Pure $BOOTSECTOR_BIN_DIR/st32_64.com $BOOTSECTOR_BIN_DIR/efi64.com2 $BUILD_DIR/FV/Efildr64 + $BASETOOLS_DIR/GenPage $BUILD_DIR/FV/Efildr20Pure -o $BUILD_DIR/FV/Efildr20 + + echo Done! fi diff --git a/DuetPkg/ReadMe.txt b/DuetPkg/ReadMe.txt index f280679ac2..d7ad3d6017 100644 --- a/DuetPkg/ReadMe.txt +++ b/DuetPkg/ReadMe.txt @@ -7,32 +7,32 @@ A. Build DUET image on Windows Platform To build DUET image, following tools are required: 1). *Visual Studio 2005* - Assume installed at , + Assume installed at , e.g.: C:\Program Files\Microsoft Visual Studio .NET 2003\. 2). WinDDK Assume installed at , e.g.: C:\WINDDK\3790.1830\. - + 2. Build steps -2.1 Build Duet Platform module +2.1 Build Duet Platform module 1). run cmd.exe to open command line window. 2). enter workspace root directory such as c:\edk2_tree 2). run "edksetup.bat" - 3). run "build -p DuetPkg\DuetPkg.dsc -a IA32" for IA32 architecture platform or + 3). run "build -p DuetPkg\DuetPkg.dsc -a IA32" for IA32 architecture platform or "build -p DuetPkg\DuetPkg.dsc -a X64" for X64 architecture platform. - -2.2 Execute post build actions + +2.2 Execute post build actions 1). enter \DuetPkg directory. - 2). run "PostBuild.bat IA32" for IA32 architecture platform or + 2). run "PostBuild.bat IA32" for IA32 architecture platform or "PostBuild.bat X64" for X64 architecture platform. Create bootable disk ====================== - + 3. Create boot disk The following steps are same for IA32 architecture platform or X64 architecture platform. - + 3.1 Create floppy boot disk 1). enter \DuetPkg directory. 2). Insert a floppy disk to drive @@ -51,9 +51,9 @@ Create bootable disk or "CreateBootDisk.bat usb e: FAT16 X64 step2" if usb drive is e: and FAT format is FAT16 and Arch to boot is X64. or "CreateBootDisk.bat usb e: FAT32 IA32 step2" if usb drive is e: and FAT format is FAT32 and Arch to boot is IA32. or "CreateBootDisk.bat usb e: FAT32 X64 step2" if usb drive is e: and FAT format is FAT32 and Arch to boot is X64. - + B. Build DUET image on Linux Platform -====================================== +====================================== 1. Tools preparation To build DUET image, GCC44 is required: @@ -62,28 +62,28 @@ B. Build DUET image on Linux Platform 2. Build steps -2.1 Build Duet Platform module +2.1 Build Duet Platform module 1). Open the terminal. 2). enter workspace root directory such as /edk2_tree 3). run ". edksetup.sh BaseTools" - 4). run "build -p DuetPkg/DuetPkg.dsc -a IA32 -t GCC44" for IA32 architecture platform or + 4). run "build -p DuetPkg/DuetPkg.dsc -a IA32 -t GCC44" for IA32 architecture platform or "build -p DuetPkg/DuetPkg.dsc -a X64 -t GCC44" for X64 architecture platform. - -2.2 Execute post build actions + +2.2 Execute post build actions 1). enter /edk2_tree/DuetPkg directory. - 2). run "./PostBuild.sh IA32 GCC44" for IA32 architecture platform or + 2). run "./PostBuild.sh IA32 GCC44" for IA32 architecture platform or "./PostBuild.sh X64 GCC44" for X64 architecture platform. NOTE: After post build action, you should check the size of EfiLdr at $WORKSPACE/Build/DuetPkg/DEBUG_GCC44 directory, it must less than 470k. If not, you should manually remove some unnecessary drivers at DuetPkg.fdf file. - + 3. Create bootable disk The following steps are same for IA32 architecture platform or X64 architecture platform. Now only support floopy. - + 3.1 Create floppy boot disk - 1). enter /edk2_tree/DuetPkg directory. - 2). Insert a floppy disk to drive - 3). run "CreateBootDisk.sh" to build floppy drive - such as "./CreateBootDisk.sh floppy /media/floppy0 /dev/fd0 FAT12 IA32" \ No newline at end of file + 1). enter /edk2_tree/DuetPkg directory. + 2). Insert a floppy disk to drive + 3). run "CreateBootDisk.sh" to build floppy drive + such as "./CreateBootDisk.sh floppy /media/floppy0 /dev/fd0 FAT12 IA32"