audk/BeagleBoardPkg
Olivier Martin c357fd6a1f ArmPkg/ArmPkg.dec: Redefined PcdSystemMemory(Base|Size) as UINT64
The System Memory region might be out of the 32-bit memory space.

This change has been validated on the FVP AArch64 model using 4GB
of DRAM at 0x8_0000_0000:

-  # System Memory (2GB)
-  gArmTokenSpaceGuid.PcdSystemMemoryBase|0x80000000
-  gArmTokenSpaceGuid.PcdSystemMemorySize|0x80000000
+  # System Memory (4GB)
+  gArmTokenSpaceGuid.PcdSystemMemoryBase|0x800000000
+  gArmTokenSpaceGuid.PcdSystemMemorySize|0x100000000

EFI Shell and Linux kernel boot successfully.

Note: This change has not been validated on AArch32. I expect some
early assembly code to not work.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>




git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15093 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-10 11:27:31 +00:00
..
Bds ARM Packages: Minor changes (fixed mispelling, line endings, incorrect comments) 2012-05-02 19:46:40 +00:00
Debugger_scripts Update the copyright notice format 2010-04-29 12:24:22 +00:00
Include BeagleBoardPkg: Set paddings following the BeagleBoard revision (A, B, xM, etc) 2011-09-22 23:23:54 +00:00
Library ArmPkg/ArmPkg.dec: Redefined PcdSystemMemory(Base|Size) as UINT64 2014-01-10 11:27:31 +00:00
Sec ARM Packages: Fixed line endings 2013-01-25 11:28:06 +00:00
Tools ARM Packages: Fixed line endings 2013-01-25 11:28:06 +00:00
BeagleBoardPkg.dec ARM Packages: Fixed line endings 2013-01-25 11:28:06 +00:00
BeagleBoardPkg.dsc EmbeddedPkg/EmbeddedPkg.dec: Defined default values for PcdPrePiCpuMemorySize & PcdPrePiCpuIoSize 2013-11-28 21:40:14 +00:00
BeagleBoardPkg.fdf ARM Package: Increase FV file size for some EDK2 firmware 2013-08-30 11:50:36 +00:00
ConfigurationHeader.dat
Contributions.txt EDK II Packages: Add Contributions.txt and License.txt files 2012-04-11 23:19:46 +00:00
License.txt EDK II Packages: Added License.txt files 2012-04-12 16:40:32 +00:00
b.bat BeagleBoardPkg/b.bat: Updated RVCT toolchain name 2012-05-02 20:16:38 +00:00
ba.bat Update the copyright notice format 2010-04-29 12:24:22 +00:00
build.sh BeagleBoard: Support bash script when 'set -u' 2011-12-29 12:16:57 +00:00
readme.txt BeagleBoard: Update documentation 2011-07-06 18:25:47 +00:00

readme.txt

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

On Ubuntu 10.04, in your $(WORKROOT) directory (eg: ~/dev/)

Build UEFI for the BeagleBoard :
================================
# Requirements
sudo apt-get install uuid-dev

# Get the arm-none-eabi Toolchain:
cd $(WORKROOT)
wget http://www.codesourcery.com/sgpp/lite/arm/portal/package7813/public/arm-none-eabi/arm-2010.09-51-arm-none-eabi-i686-pc-linux-gnu.tar.bz2
tar xjf arm-2010.09-51-arm-none-eabi-i686-pc-linux-gnu.tar.bz2
Add the arm-none-eabi toolchain to your path

# Build UEFI
svn co https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2 edk2 --username guest
cd $(WORKROOT)/edk2
svn co https://edk2-fatdriver2.svn.sourceforge.net/svnroot/edk2-fatdriver2/trunk/FatPkg FatPkg --username guest
patch -p1 < ArmPlatformPkg/Documentation/patches/BaseTools-Pending-Patches.patch
cd BeagleBoardPkg/
./build.sh

# To Build a Release verion of UEFI
./build.sh RELEASE


Test UEFI on qEmu :
===================

Installing Linaro qEmu:
-----------------------
cd $(WORKROOT)
git clone git://git.linaro.org/qemu/qemu-linaro.git
cd $(WORKROOT)/qemu-linaro
./configure --target-list=arm-softmmu,arm-linux-user,armeb-linux-user
make

Installing Linaro image Creator:
--------------------------------
wget http://launchpad.net/linaro-image-tools/trunk/0.4.8/+download/linaro-image-tools-0.4.8.tar.gz
tar xzf linaro-image-tools-0.4.8.tar.gz
cd $(WORKROOT)/linaro-image-tools-0.4.8/
sudo apt-get install parted dosfstools uboot-mkimage python-argparse python-dbus python-debian python-parted qemu-arm-static btrfs-tools command-not-found

Creating u-boot + Linux Linaro image:
-------------------------------------
mkdir $(WORKROOT)/beagle_image && cd $(WORKROOT)/beagle_image
wget http://releases.linaro.org/platform/linaro-m/hwpacks/final/hwpack_linaro-omap3_20101109-1_armel_supported.tar.gz
wget http://releases.linaro.org/platform/linaro-m/headless/release-candidate/linaro-m-headless-tar-20101101-0.tar.gz
sudo $(WORKROOT)/linaro-image-tools-0.4.8/linaro-media-create --image_file beagle_sd.img --dev beagle --binary linaro-m-headless-tar-20101101-0.tar.gz --hwpack hwpack_linaro-omap3_20101109-1_armel_supported.tar.gz
sudo chmod a+rw beagle_sd.img

Test u-boot + Linux Linaro image on qEmu:
-----------------------------------------
$(WORKROOT)/qemu-linaro/arm-softmmu/qemu-system-arm -M beagle -sd $(WORKROOT)/beagle_image/beagle_sd.img -serial stdio -clock unix
# in u-boot:
boot

Start UEFI from NOR Flash :
---------------------------
# Adding zImage to beagle_sd.img
mkdir /tmp/beagle_img1
sudo mount -o loop,offset=$[63*512] $(WORKROOT)/beagle_image/beagle_sd.img /tmp/beagle_img1
cp zImage /tmp/beagle_img1
sudo umount /tmp/beagle_img1

./qemu-system-arm -M beagle -mtdblock /work/tianocore/Build/BeagleBoard/DEBUG_ARMGCC/FV/BeagleBoard_EFI_flashboot.fd -serial stdio -sd /work/linaro-image-tools-0.4.8/beagle_sd.img

Start UEFI from SD card :
-------------------------
# To replace u-boot by uefi in the SD card
1) Build the BeagleBoard UEFI firmware without the OMAP353x header
cd $(WORKROOT)/edk2/BeagleBoardPkg/
./build.sh -D EDK2_SECOND_STAGE_BOOTOLADER=1

2) Replace u-boot by UEFI
sudo mount -o loop,offset=$[63*512] $(WORKROOT)/beagle_image/beagle_sd.img /tmp/beagle_img1
sudo cp ../Build/BeagleBoard/DEBUG_ARMGCC/FV/BEAGLEBOARD_EFI.fd /tmp/beagle_img1/u-boot.bin
sudo umount /tmp/beagle_img1