audk/BeagleBoardPkg
oliviermartin 8c454d9800 BeagleBoardPkg: Use gArmTokenSpaceGuid.PcdSystemMemoryBase/Size to define System Memory
These PCDs are used by ArmPlatformPkg/Bds to know where to load the Linux kernel and its parameters.




git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12171 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-18 21:15:50 +00:00
..
Bds Add ReadyToBoot signal to BDS. 2010-04-30 23:07:56 +00:00
Debugger_scripts Update the copyright notice format 2010-04-29 12:24:22 +00:00
Include BeagleBoardPkg: Implement ArmPlatformLib and the ARM PCDs to reuse ARM common components on the BeagleBoard. 2011-07-06 20:08:28 +00:00
Library BeagleBoardPkg: Ensure there is no pending IRQ and disable timer 2011-07-20 15:13:06 +00:00
Sec BeagleBoardPkg: Fix build 2011-07-04 13:43:58 +00:00
Tools Update the copyright notice format 2010-04-29 12:24:22 +00:00
BeagleBoardPkg-next.dsc Omap35xxPkg/Library/RealTimeClockLib: Add RTC Support 2011-08-18 10:02:15 +00:00
BeagleBoardPkg-next.fdf Omap35xxPkg/Library/RealTimeClockLib: Add RTC Support 2011-08-18 10:02:15 +00:00
BeagleBoardPkg.dec Update the copyright notice format 2010-04-29 12:24:22 +00:00
BeagleBoardPkg.dsc BeagleBoardPkg: Use gArmTokenSpaceGuid.PcdSystemMemoryBase/Size to define System Memory 2011-08-18 21:15:50 +00:00
BeagleBoardPkg.fdf BeagleBoardPkg: Introduce macro EDK2_SECOND_STAGE_BOOTOLADER 2011-07-06 16:46:44 +00:00
ConfigurationHeader.dat Adding support for BeagleBoard. 2009-12-06 01:57:05 +00:00
b.bat Update the copyright notice format 2010-04-29 12:24:22 +00:00
ba.bat Update the copyright notice format 2010-04-29 12:24:22 +00:00
build-next.sh BeagleBoardPkg: Implement ArmPlatformLib and the ARM PCDs to reuse ARM common components on the BeagleBoard. 2011-07-06 20:08:28 +00:00
build.sh Make the default toolchain for Linux CodeSourcery. 2011-02-03 18:30:58 +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