DuetPkg: Add POSTBUILD in DSC files to run post-build automatically
authorHao Wu <hao.a.wu@intel.com>
Fri, 11 Nov 2016 08:21:35 +0000 (16:21 +0800)
committerHao Wu <hao.a.wu@intel.com>
Mon, 14 Nov 2016 11:33:11 +0000 (19:33 +0800)
https://bugzilla.tianocore.org/show_bug.cgi?id=220

Currently, the post-build scripts PostBuild.bat/PostBuild.sh in DuetPkg
need to be run manually. Especially for Windows batch script, it also
requires users to set the build options (like tool chain, target and arch)
in file Conf/target.txt. If users using command line options via '-t' or
'-a', the post-build script won't work properly.

The package DSC files now support the feature to execute post-build script
automatically by adding a 'POSTBUILD' definition. This feature also passes
the build options into the post-build script as parameters. This commit
uses this feature to make the post-build works for DuetPkg more
user-friendly. Also, ReadMe.txt is updated to reflect the new steps for
UEFI Emulation (DUET) development.

Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
DuetPkg/CreateBootDisk.bat
DuetPkg/CreateBootDisk.sh
DuetPkg/DuetPkgIa32.dsc
DuetPkg/DuetPkgX64.dsc
DuetPkg/GetVariables.bat [deleted file]
DuetPkg/PostBuild.bat
DuetPkg/PostBuild.sh
DuetPkg/ReadMe.txt
DuetPkg/build32.sh
DuetPkg/build64.sh

index 7265837..cee04b8 100644 (file)
@@ -1,7 +1,7 @@
 @echo off\r
 @REM ## @file\r
 @REM #\r
 @echo off\r
 @REM ## @file\r
 @REM #\r
-@REM #  Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved.<BR>\r
+@REM #  Copyright (c) 2010 - 2016, Intel Corporation. All rights reserved.<BR>\r
 @REM #\r
 @REM #  This program and the accompanying materials\r
 @REM #  are licensed and made available under the terms and conditions of the BSD License\r
 @REM #\r
 @REM #  This program and the accompanying materials\r
 @REM #  are licensed and made available under the terms and conditions of the BSD License\r
 \r
 @REM Set up environment at first.\r
 \r
 \r
 @REM Set up environment at first.\r
 \r
-set BASETOOLS_DIR=%WORKSPACE_TOOLS_PATH%\Bin\Win32\r
+set BASETOOLS_DIR=%EDK_TOOLS_BIN%\r
 set BOOTSECTOR_BIN_DIR=%WORKSPACE%\DuetPkg\BootSector\bin\r
 set DISK_LABEL=DUET\r
 set PROCESSOR=""\r
 set STEP=1\r
 set BOOTSECTOR_BIN_DIR=%WORKSPACE%\DuetPkg\BootSector\bin\r
 set DISK_LABEL=DUET\r
 set PROCESSOR=""\r
 set STEP=1\r
-call %WORKSPACE%\DuetPkg\GetVariables.bat\r
-\r
-echo on\r
 \r
 if "%1"=="" goto Help\r
 if "%2"=="" goto Help\r
 \r
 if "%1"=="" goto Help\r
 if "%2"=="" goto Help\r
@@ -35,6 +32,7 @@ set EFI_BOOT_DISK=%2
 if "%TARGET_ARCH%"=="IA32" set PROCESSOR=IA32\r
 if "%TARGET_ARCH%"=="X64" set PROCESSOR=X64\r
 if %PROCESSOR%=="" goto WrongArch\r
 if "%TARGET_ARCH%"=="IA32" set PROCESSOR=IA32\r
 if "%TARGET_ARCH%"=="X64" set PROCESSOR=X64\r
 if %PROCESSOR%=="" goto WrongArch\r
+call %WORKSPACE%\DuetPkg\SetEnv_%PROCESSOR%.bat\r
 set BUILD_DIR=%WORKSPACE%\Build\DuetPkg%PROCESSOR%\%TARGET%_%TOOL_CHAIN_TAG%\r
 \r
 if "%1"=="floppy" goto CreateFloppy\r
 set BUILD_DIR=%WORKSPACE%\Build\DuetPkg%PROCESSOR%\%TARGET%_%TOOL_CHAIN_TAG%\r
 \r
 if "%1"=="floppy" goto CreateFloppy\r
index fa00408..897ba9b 100755 (executable)
@@ -34,7 +34,7 @@ if [ \
      "$*" = "--help" \
    ]
 then
      "$*" = "--help" \
    ]
 then
-    echo "Usage: CreateBootDisk [usb|floppy|ide|file] MediaPath DevicePath [FAT12|FAT16|FAT32] [IA32|X64] [GCC44|UNIXGCC]"
+    echo "Usage: CreateBootDisk [usb|floppy|ide|file] MediaPath DevicePath [FAT12|FAT16|FAT32] [IA32|X64]"
     echo "e.g. : CreateBootDisk floppy /media/floppy0 /dev/fd0 FAT12 IA32"
     PROCESS_MARK=FALSE
 fi
     echo "e.g. : CreateBootDisk floppy /media/floppy0 /dev/fd0 FAT12 IA32"
     PROCESS_MARK=FALSE
 fi
@@ -51,13 +51,7 @@ case "$5" in
      return 1
 esac
 
      return 1
 esac
 
-if [ -z "$6" ]
-then
-  TOOLCHAIN=GCC44
-else
-  TOOLCHAIN=$6
-fi
-
+. $WORKSPACE/DuetPkg/SetEnv_$PROCESSOR.sh
 export BUILD_DIR=$WORKSPACE/Build/DuetPkg$PROCESSOR/DEBUG_$TOOLCHAIN
 
 
 export BUILD_DIR=$WORKSPACE/Build/DuetPkg$PROCESSOR/DEBUG_$TOOLCHAIN
 
 
index 86346f3..3b59343 100644 (file)
   BUILD_TARGETS                  = DEBUG\r
   SKUID_IDENTIFIER               = DEFAULT\r
   FLASH_DEFINITION               = DuetPkg/DuetPkg.fdf\r
   BUILD_TARGETS                  = DEBUG\r
   SKUID_IDENTIFIER               = DEFAULT\r
   FLASH_DEFINITION               = DuetPkg/DuetPkg.fdf\r
+!if $(TOOL_CHAIN_TAG) == GCC47 || $(TOOL_CHAIN_TAG) == GCC48 || $(TOOL_CHAIN_TAG) == GCC49 || $(TOOL_CHAIN_TAG) == GCC5\r
+  POSTBUILD                      = DuetPkg/PostBuild.sh\r
+!else\r
+  POSTBUILD                      = DuetPkg/PostBuild.bat\r
+!endif\r
 \r
 ################################################################################\r
 #\r
 \r
 ################################################################################\r
 #\r
index e0aeb5c..c23354a 100644 (file)
   BUILD_TARGETS                  = DEBUG\r
   SKUID_IDENTIFIER               = DEFAULT\r
   FLASH_DEFINITION               = DuetPkg/DuetPkg.fdf\r
   BUILD_TARGETS                  = DEBUG\r
   SKUID_IDENTIFIER               = DEFAULT\r
   FLASH_DEFINITION               = DuetPkg/DuetPkg.fdf\r
+!if $(TOOL_CHAIN_TAG) == GCC47 || $(TOOL_CHAIN_TAG) == GCC48 || $(TOOL_CHAIN_TAG) == GCC49 || $(TOOL_CHAIN_TAG) == GCC5\r
+  POSTBUILD                      = DuetPkg/PostBuild.sh\r
+!else\r
+  POSTBUILD                      = DuetPkg/PostBuild.bat\r
+!endif\r
 \r
 ################################################################################\r
 #\r
 \r
 ################################################################################\r
 #\r
diff --git a/DuetPkg/GetVariables.bat b/DuetPkg/GetVariables.bat
deleted file mode 100644 (file)
index c81d3d1..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-@echo off\r
-@REM ## @file\r
-@REM #\r
-@REM #  Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>\r
-@REM #\r
-@REM #  This program and the accompanying materials\r
-@REM #  are licensed and made available under the terms and conditions of the BSD License\r
-@REM #  which accompanies this distribution. The full text of the license may be found at\r
-@REM #  http://opensource.org/licenses/bsd-license.php\r
-@REM #  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-@REM #  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-@REM #\r
-@REM #\r
-@REM ##\r
-\r
-\r
-@REM Read the variables from Conf/target.txt\r
-@REM Because we can't add '=' as a delimiter in 'for', each variable is read in 2 parts:\r
-@REM First we read the "= xyz" part of the variable assignation which we use, along with\r
-@REM the original equal sign for our first assignation. Then we trim any left whitespaces.\r
-@REM NB: default token delimiters for "for /f" are tab and space.\r
-\r
-set CONFIG_FILE=%WORKSPACE%\Conf\target.txt\r
-\r
-for /f "tokens=1*" %%i in ('type %CONFIG_FILE% ^| find "TOOL_CHAIN_TAG" ^| find /V "#"') do @set TOOL_CHAIN_TAG%%j\r
-for /f "tokens=*" %%i in ("%TOOL_CHAIN_TAG%") do @set TOOL_CHAIN_TAG=%%i\r
-\r
-for /f "tokens=1*" %%i in ('type %CONFIG_FILE% ^| find "TARGET" ^| find /V "#" ^| find /V "TARGET_ARCH"') do @set TARGET%%j\r
-for /f "tokens=*" %%i in ("%TARGET%") do @set TARGET=%%i\r
-\r
-for /f "tokens=1*" %%i in ('type %CONFIG_FILE% ^| find "TARGET_ARCH" ^|find /V "#"') do @set TARGET_ARCH%%j\r
-for /f "tokens=*" %%i in ("%TARGET_ARCH%") do @set TARGET_ARCH=%%i\r
-\r
-\r
-REM Set defaults if above variables are undefined in target.txt\r
-\r
-if "%TOOL_CHAIN_TAG%%"=="" @set TOOL_CHAIN_TAG=MYTOOLS\r
-if "%TARGET%"=="" @set TARGET=DEBUG\r
-if "%TARGET_ARCH%"=="" @set TARGET_ARCH=IA32\r
index 28cab6b..e7f2778 100644 (file)
@@ -1,11 +1,9 @@
 @echo off\r
 @REM ## @file\r
 @REM #\r
 @echo off\r
 @REM ## @file\r
 @REM #\r
-@REM #  Currently, Build system does not provide post build mechanism for module\r
-@REM #  and platform building, so just use a bat file to do post build commands.\r
-@REM #  Originally, following post building command is for EfiLoader module.\r
+@REM #  Post build script that will be automatically run after build.\r
 @REM #\r
 @REM #\r
-@REM #  Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>\r
+@REM #  Copyright (c) 2010 - 2016, Intel Corporation. All rights reserved.<BR>\r
 @REM #\r
 @REM #  This program and the accompanying materials\r
 @REM #  are licensed and made available under the terms and conditions of the BSD License\r
 @REM #\r
 @REM #  This program and the accompanying materials\r
 @REM #  are licensed and made available under the terms and conditions of the BSD License\r
 @REM #\r
 @REM ##\r
 \r
 @REM #\r
 @REM ##\r
 \r
-set BASETOOLS_DIR=%WORKSPACE_TOOLS_PATH%\Bin\Win32\r
+set BASETOOLS_DIR=%EDK_TOOLS_BIN%\r
 set BOOTSECTOR_BIN_DIR=%WORKSPACE%\DuetPkg\BootSector\bin\r
 set BOOTSECTOR_BIN_DIR=%WORKSPACE%\DuetPkg\BootSector\bin\r
-set PROCESSOR=""\r
-call %WORKSPACE%\DuetPkg\GetVariables.bat\r
 \r
 \r
-if NOT "%1"=="" @set TARGET_ARCH=%1\r
-if "%TARGET_ARCH%"=="IA32" set PROCESSOR=IA32\r
-if "%TARGET_ARCH%"=="X64" set PROCESSOR=X64\r
-if %PROCESSOR%=="" goto WrongArch\r
+:SetDefault\r
+set TARGET_ARCH=\r
+set TARGET=\r
+set TOOL_CHAIN_TAG=\r
 \r
 \r
+:ParseParamsLoop\r
+if "%1"=="" goto EndPParseParamsLoop\r
+if /I "%1"=="-p" goto ParseParamsLoopNext\r
+if /I "%1"=="-a" set TARGET_ARCH=%2& goto ParseParamsLoopNext\r
+if /I "%1"=="-b" set TARGET=%2& goto ParseParamsLoopNext\r
+if /I "%1"=="-t" set TOOL_CHAIN_TAG=%2& goto ParseParamsLoopNext\r
+if /I "%1"=="-h" goto Help\r
+\r
+:ParseParamsLoopNext\r
+shift\r
+shift\r
+goto ParseParamsLoop\r
+\r
+:EndPParseParamsLoop\r
+if "%TARGET_ARCH%"=="" goto Help\r
+if "%TARGET%"=="" goto Help\r
+if "%TOOL_CHAIN_TAG%"=="" goto Help\r
+\r
+set PROCESSOR=%TARGET_ARCH%\r
 set BUILD_DIR=%WORKSPACE%\Build\DuetPkg%PROCESSOR%\%TARGET%_%TOOL_CHAIN_TAG%\r
 \r
 set BUILD_DIR=%WORKSPACE%\Build\DuetPkg%PROCESSOR%\%TARGET%_%TOOL_CHAIN_TAG%\r
 \r
+@REM Store environment variables used by CreateBootDisk.bat\r
+echo set TARGET=%TARGET%> %WORKSPACE%\DuetPkg\SetEnv_%PROCESSOR%.bat\r
+echo set TOOL_CHAIN_TAG=%TOOL_CHAIN_TAG%>> %WORKSPACE%\DuetPkg\SetEnv_%PROCESSOR%.bat\r
 \r
 echo Compressing DUETEFIMainFv.FV ...\r
 %BASETOOLS_DIR%\LzmaCompress -e -o %BUILD_DIR%\FV\DUETEFIMAINFV.z %BUILD_DIR%\FV\DUETEFIMAINFV.Fv\r
 \r
 echo Compressing DUETEFIMainFv.FV ...\r
 %BASETOOLS_DIR%\LzmaCompress -e -o %BUILD_DIR%\FV\DUETEFIMAINFV.z %BUILD_DIR%\FV\DUETEFIMAINFV.Fv\r
@@ -60,11 +78,6 @@ copy /b %BOOTSECTOR_BIN_DIR%\St32_64.com+%BOOTSECTOR_BIN_DIR%\Efi64.com2+%BUILD_
 %BASETOOLS_DIR%\GenPage.exe %BUILD_DIR%\FV\Efildr20Pure -o %BUILD_DIR%\FV\Efildr20\r
 goto end\r
 \r
 %BASETOOLS_DIR%\GenPage.exe %BUILD_DIR%\FV\Efildr20Pure -o %BUILD_DIR%\FV\Efildr20\r
 goto end\r
 \r
-\r
-:WrongArch\r
-echo Error! Wrong architecture.\r
-goto Help\r
-\r
 :Help\r
 :Help\r
-echo Usage: "PostBuild [IA32|X64]"\r
-:end
\ No newline at end of file
+echo Usage: This script will be run automatically after build.\r
+:end\r
index 6f307e1..524c9d7 100755 (executable)
@@ -2,9 +2,7 @@
 
 ## @file
 #
 
 ## @file
 #
-#  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.
+#  Post build script that will be automatically run after build.
 #
 #  Copyright (c) 2010 - 2016, Intel Corporation. All rights reserved.<BR>
 #
 #
 #  Copyright (c) 2010 - 2016, Intel Corporation. All rights reserved.<BR>
 #
@@ -26,43 +24,33 @@ fi
 
 export BOOTSECTOR_BIN_DIR=$WORKSPACE/DuetPkg/BootSector/bin
 export PROCESSOR=""
 
 export BOOTSECTOR_BIN_DIR=$WORKSPACE/DuetPkg/BootSector/bin
 export PROCESSOR=""
-if [ \
-     -z "$1" -o \
-     "$1" = "-?" -o \
-     "$1" = "-h" -o \
-     "$1" = "--help" \
-   ]
-then
-    echo Error! Please specific the architecture.
-    echo Usage: "./PostBuild.sh [IA32|X64] [UNIXGCC|GCC44]"
+export TOOLTAG=""
+
+while [ $# -gt 0 ]; do
+    if [ "$1" = "-a" ]; then
+        export PROCESSOR=$2
+    elif [ "$1" = "-t" ]; then
+        export TOOLTAG=$2
+    elif [ "$1" = "-h" ]; then
+        echo Usage: This script will be run automatically after build.
+        return 1
+    fi
+    shift
+    shift
+done
+
+if [ "$PROCESSOR" = "" -o "$TOOLTAG" = "" ]; then
+    echo Usage: This script will be run automatically after build.
+    return 1
 fi
 
 fi
 
-case "$1" in
-   IA32)
-     export PROCESSOR=IA32
-     ;;
-   X64)
-     export PROCESSOR=X64
-     ;;
-   *)
-     echo Invalid Architecture string, should be only IA32 or X64
-     return 1
-esac
-
-case "$2" in
-   UNIXGCC)
-     export TOOLTAG=UNIXGCC
-     ;;
-   GCC4*)
-     export TOOLTAG=$2
-     ;;
-   *)
-     echo Invalid tool tag, should be only UNIXGCC or GCC4\*
-     return 1
-esac
-
 export BUILD_DIR=$WORKSPACE/Build/DuetPkg$PROCESSOR/DEBUG_$TOOLTAG
 
 export BUILD_DIR=$WORKSPACE/Build/DuetPkg$PROCESSOR/DEBUG_$TOOLTAG
 
+#
+# Store environment variables used by CreateBootDisk.sh
+#
+echo export TOOLCHAIN=$TOOLTAG> $WORKSPACE/DuetPkg/SetEnv_$PROCESSOR.sh
+chmod +x $WORKSPACE/DuetPkg/SetEnv_$PROCESSOR.sh
 
 #
 # Boot sector module could only be built under IA32 tool chain
 
 #
 # Boot sector module could only be built under IA32 tool chain
index d7ad3d6..f894d94 100644 (file)
@@ -4,28 +4,22 @@ A. Build DUET image on Windows Platform
 ========================================\r
 1. Tools preparation\r
 \r
 ========================================\r
 1. Tools preparation\r
 \r
-To build DUET image, following tools are required:\r
+  To build DUET image, Visual Studio is required:\r
+  1). Base on below link to create Visual Studio build environment.\r
+      https://github.com/tianocore/tianocore.github.io/wiki/Windows-systems\r
 \r
 \r
-  1). *Visual Studio 2005*\r
-      Assume installed at <VS_PATH>,\r
-      e.g.: C:\Program Files\Microsoft Visual Studio .NET 2003\.\r
-  2). WinDDK\r
-      Assume installed at <WIN_DDK_PATH>, e.g.: C:\WINDDK\3790.1830\.\r
-\r
-2. Build steps\r
-\r
-2.1 Build Duet Platform module\r
+2. Build Duet Platform module\r
 \r
   1). run cmd.exe to open command line window.\r
   2). enter workspace root directory such as c:\edk2_tree\r
 \r
   1). run cmd.exe to open command line window.\r
   2). enter workspace root directory such as c:\edk2_tree\r
-  2). run "edksetup.bat"\r
-  3). run "build -p DuetPkg\DuetPkg.dsc -a IA32" for IA32 architecture platform or\r
-          "build -p DuetPkg\DuetPkg.dsc -a X64" for X64 architecture platform.\r
+  3). set the environment variable EDK_TOOLS_BIN to point at the BaseTools binaries directory\r
+      i.e., "set EDK_TOOLS_BIN=c:\edk2-BaseTools-win32"\r
+  4). run "edksetup.bat"\r
+  5). run "build -p DuetPkg\DuetPkgIa32.dsc -a IA32 -t VS2015x86" for IA32 architecture platform (using 64-bit VS2015 for example) or\r
+          "build -p DuetPkg\DuetPkgX64.dsc -a X64 -t VS2015x86" for X64 architecture platform.\r
+\r
+  NOTE: The post build script 'PostBuild.sh' will be automatically called after the build command.\r
 \r
 \r
-2.2 Execute post build actions\r
-  1). enter <Workspace>\DuetPkg directory.\r
-  2). run "PostBuild.bat IA32" for IA32 architecture platform or\r
-          "PostBuild.bat X64" for X64 architecture platform.\r
 \r
 Create bootable disk\r
 ======================\r
 \r
 Create bootable disk\r
 ======================\r
@@ -56,34 +50,35 @@ B. Build DUET image on Linux Platform
 ======================================\r
 1. Tools preparation\r
 \r
 ======================================\r
 1. Tools preparation\r
 \r
-  To build DUET image, GCC44 is required:\r
-  1). Base on below link to create GCC44 build environment.\r
-      http://tianocore.sourceforge.net/wiki/Using_EDK_II_with_Native_GCC\r
+  To build DUET image, GCC installation (4.4+) is required:\r
+  1). Base on below link to create GCC build environment.\r
+      https://github.com/tianocore/tianocore.github.io/wiki/Using-EDK-II-with-Native-GCC\r
 \r
 \r
-2. Build steps\r
-\r
-2.1 Build Duet Platform module\r
+2. Build Duet Platform module\r
 \r
   1). Open the terminal.\r
   2). enter workspace root directory such as /edk2_tree\r
   3). run ". edksetup.sh BaseTools"\r
 \r
   1). Open the terminal.\r
   2). enter workspace root directory such as /edk2_tree\r
   3). run ". edksetup.sh BaseTools"\r
-  4). run "build -p DuetPkg/DuetPkg.dsc -a IA32 -t GCC44" for IA32 architecture platform or\r
-          "build -p DuetPkg/DuetPkg.dsc -a X64 -t GCC44" for X64 architecture platform.\r
-\r
-2.2 Execute post build actions\r
-  1). enter /edk2_tree/DuetPkg directory.\r
-  2). run "./PostBuild.sh IA32 GCC44" for IA32 architecture platform or\r
-          "./PostBuild.sh X64 GCC44" for X64 architecture platform.\r
+  4). run "build -p DuetPkg/DuetPkgIa32.dsc -a IA32 -t GCC49" for IA32 architecture platform (using GCC 4.9 for example) or\r
+          "build -p DuetPkg/DuetPkgX64.dsc -a X64 -t GCC49" for X64 architecture platform.\r
 \r
 \r
- NOTE: After post build action, you should check the size of EfiLdr at $WORKSPACE/Build/DuetPkg/DEBUG_GCC44 directory, it must less than 470k.\r
-       If not, you should manually remove some unnecessary drivers at DuetPkg.fdf file.\r
+  NOTE: The post build script 'PostBuild.sh' will be automatically called after the build command.\r
+        After post build action, you should check the size of EfiLdr at $WORKSPACE/Build/DuetPkgIA32(DuetPkgX64)/DEBUG_GCC49 directory, it must less than 470k.\r
+        If not, you should manually remove some unnecessary drivers at DuetPkg.fdf file.\r
 \r
 3. Create bootable disk\r
    The following steps are same for IA32 architecture platform or X64 architecture platform.\r
 \r
 3. Create bootable disk\r
    The following steps are same for IA32 architecture platform or X64 architecture platform.\r
-   Now only support floopy.\r
 \r
 \r
-   3.1 Create floppy boot disk\r
-      1). enter /edk2_tree/DuetPkg directory.\r
-      2). Insert a floppy disk to drive\r
-      3). run "CreateBootDisk.sh" to build floppy drive\r
-          such as "./CreateBootDisk.sh floppy /media/floppy0 /dev/fd0 FAT12 IA32"\r
+3.1 Create floppy boot disk\r
+  1). enter /edk2_tree/DuetPkg directory.\r
+  2). Insert a floppy disk to drive\r
+  3). run "CreateBootDisk.sh" to build floppy drive\r
+      such as "./CreateBootDisk.sh floppy /media/floppy0 /dev/fd0 FAT12 IA32"\r
+\r
+3.2 Create usb boot disk\r
+  1). enter /edk2_tree/DuetPkg directory.\r
+  2). Plugin usb disk\r
+  3). run "CreateBootDisk.sh" to build usb drive\r
+      such as "./CreateBootDisk.sh usb /media/usb0 /dev/sdb0 FAT16 IA32"\r
+  4). UnPlug usb disk and plugin it again.\r
+  5). run "./CreateBootDisk.sh usb /media/usb0 /dev/sdb0 FAT16 IA32 step2"\r
index c15c996..8aa2c3d 100755 (executable)
@@ -126,10 +126,8 @@ done
 #
 echo Running edk2 build for DuetPkg$Processor
 build -p $WORKSPACE/DuetPkg/DuetPkg$Processor.dsc -a $PROCESSOR -t $TARGET_TOOLS -n 3 $*
 #
 echo Running edk2 build for DuetPkg$Processor
 build -p $WORKSPACE/DuetPkg/DuetPkg$Processor.dsc -a $PROCESSOR -t $TARGET_TOOLS -n 3 $*
-echo Running DuetPkg/PostBuild.sh
-$WORKSPACE/DuetPkg/PostBuild.sh $PROCESSOR $TARGET_TOOLS
 echo Running DuetPkg/CreateBootDisk.sh
 
 echo Running DuetPkg/CreateBootDisk.sh
 
-$WORKSPACE/DuetPkg/CreateBootDisk.sh file $FLOPPY_IMAGE /dev/null FAT12 $PROCESSOR $TARGET_TOOLS
+$WORKSPACE/DuetPkg/CreateBootDisk.sh file $FLOPPY_IMAGE /dev/null FAT12 $PROCESSOR
 exit $?
 
 exit $?
 
index 0401c56..1e07234 100755 (executable)
@@ -125,10 +125,8 @@ done
 #
 echo Running edk2 build for DuetPkg$PROCESSOR
 build -p $WORKSPACE/DuetPkg/DuetPkg$PROCESSOR.dsc -a $PROCESSOR -t $TARGET_TOOLS -n 3 $*
 #
 echo Running edk2 build for DuetPkg$PROCESSOR
 build -p $WORKSPACE/DuetPkg/DuetPkg$PROCESSOR.dsc -a $PROCESSOR -t $TARGET_TOOLS -n 3 $*
-echo Running DuetPkg/PostBuild.sh
-$WORKSPACE/DuetPkg/PostBuild.sh $PROCESSOR $TARGET_TOOLS
 echo Running DuetPkg/CreateBootDisk.sh
 
 echo Running DuetPkg/CreateBootDisk.sh
 
-$WORKSPACE/DuetPkg/CreateBootDisk.sh file $FLOPPY_IMAGE /dev/null FAT12 $PROCESSOR $TARGET_TOOLS
+$WORKSPACE/DuetPkg/CreateBootDisk.sh file $FLOPPY_IMAGE /dev/null FAT12 $PROCESSOR
 exit $?
 
 exit $?