I have got it working to boot into DUET from Usb!
Just did a basic test to see the PCI registers and it works.
Installation instructions below. Notice that I have two partitions c: and d:. In your situation you might have to change some letters in the installation instructions below.
Steps to create a bootable DUET USB disk
We are going to download the latest EDK2 sources from Subversion.
In the EDK2, there is a DuetPkg which we are going to install to a USB.
Please execute the steps below.
1. Install TortoiseSVN (
http://tortoisesvn.net/downloads.html)
2. Create a directory d:\edk2_duet
3. right-mouse click on d:\edk2_duet -> SVN Checkout:
URL of repository:
https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2
Checkout directory: d:\edk2_duet
4. Press the OK button
5. Uninstall TorToiseSVN since we have retrieved the sources from the repository and hence do not need it anymore.
6. Download Windows Server 2003 WinDDK (Windows Driver Development Kit), v3790.1830 from
http://download.microsoft.com/download/9/0/f/90f019ac-8243-48d3-91cf-81fc4093ecfd/1830_usa_ddk.iso.
7. Extract the 1830_usa_ddk.iso file
8. Run /1830_usa_ddk/setup.exe and install to the default directory c:\WINDDK\3790.1830.
Remark: it must be installed to the c:-drive.
9. Open a DDK console (Start -> All Programs -> Development Kits -> Windows DDK 3790.1830-> Build Environments -> Windows Server 2003 -> Windows Server 2003 Free x64 Build Environment
10. In the DDK console, navigate to d:\edk2_duet
11. In the DDK console, run the command: edksetup.bat
This will initialize your environment by creating the required files in the d:\edk2_duet\Conf\ directory. You can safely ignore the warning about cygwin.
12. Open the file d:\edk2_duet\Conf\target.txt and make sure the follwing lines have the values:
TARGET_ARCH=X64
TOOL_CHAIN_TAG = DDK3790xASL
MAX_CONCURRENT_THREAD_NUMBER = 2
Remark: By setting the TOOL_CHAIN_TAG to DDK3790xASL we are indicating that we are going to use the compiler from the DDK and not from Microsoft Visual C.
13. In the DDK console, run the command: build -p DuetPkg\DuetPkgX64.dsc
It may take a while but it should complete successfully.
14. cd DuetPkg
15. run: PostBuild.bat
16. Close the DDK console
17. Plug in the USB stick on which you want to install DUET (assume that it will get assigned the drive letter E

18. Open a DOS Command Prompt as Administrator
19.
format /fs:fat32 /v: DUET /q e:
20. d:
21. cd d:\edk2_duet\BaseTools\Bin\Win32\
22. genbootsector.exe -i e: -o UsbBs32.com
23.bootsectimage.exe -g UsbBs32.com D:\edk2_duet\DuetPkg\BootSector\bin\Bs32.com -f
24. del UsbBs32.com
25. Genbootsector.exe -o E: -i D:\edk2_duet\DuetPkg\BootSector\bin\Bs32.com
26. Genbootsector.exe -m -o E: -i D:\edk2_duet\DuetPkg\BootSector\bin\Mbr.com
27. unplug USB stick, then plug it in again
28. copy D:\edk2_duet\Build\DuetPkgX64\DEBUG_DDK3790xASL\FV\eFIlDR20 e:
29. mkdir e:\efi\boot
30. copy D:\edk2_duet\EdkShellBinPkg\FullShell\X64\Shell_Full.efi E:\efi\boot\bootx64.efi
You can also copy your own EFI shell from Grub or a simpler shell like the following:
copy D:\edk2_duet\EdkShellBinPkg\MinimumShell\X64\Shell.efi E:\efi\boot\bootx64.efi
31. Reboot and hold down the Option key and you can boot right into DUET