Build EDK2 BeagleBoardPkg
Boot Linaro-m alip (Kubuntu 10.10)
Install needed packagesKPH$ sudo apt-get install parted dosfstools uboot-mkimage python-argparse python-dbus python-debian python-parted qemu-arm-static btrfs-tools command-not-found
Create and change to working directory
KPH$ cd $(WORKROOT)
KPH$ mkdir -p linaro-m/alip && cd linaro-m/alip
Get image and hardware packs
KPH$ wget http://releases.linaro.org/platform/linaro-m/alip/final/linaro-m-alip-tar-20101109-0.tar.gz http://releases.linaro.org/platform/linaro-m/hwpacks/final/hwpack_linaro-omap3_20101109-1_armel_supported.tar.gz
Install Linaro image tools
KPH$ sudo add-apt-repository ppa:linaro-maintainers/tools
KPH$ sudo apt-get update
KPH$ sudo apt-get install linaro-image-tools
Create u-boot and Linux Linaro image
KPH$ sudo linaro-media-create --image_file alip.img --dev beagle --binary linaro-m-alip-tar-20101109-0.tar.gz --hwpack hwpack_linaro-omap3_20101109-1_armel_supported.tar.gz
KPH$ sudo chmod a+rw alip.img
Replace u-boot.bin with UEFI
KPH$ mkdir /tmp/alip_boot/
KPH$ sudo mount -o loop,offset=$[63*512] $(WORKROOT)/linaro-m/alip/alip.img /tmp/alip_boot
KPH$ sudo cp $(EDK2ROOT)/edk2/Build/BeagleBoard/RELEASE_ARMGCC/FV/BEAGLEBOARD_EFI.fd /tmp/alip_boot/u-boot.bin
KPH$ sudo umount /tmp/alip_boot
ARM UEFI only supports zImage currently, so add zImage to the sdcard
KPH$ tar xzf hwpack_linaro-omap3_20101109-1_armel_supported.tar.gz
KPH$ cd pkgs/
KPH$ dpkg -x linux-image-2.6.35-1008-linaro-omap_2.6.35-1008.15_armel.deb .
KPH$ sudo mount -o loop,offset=$[63*512] $(WORKROOT)/linaro-m/alip/alip.img /tmp/alip_boot
KPH$ sudo cp boot/vmlinuz-2.6.35-1008-linaro-omap /tmp/alip_boot/zImage
Install ARM qEmu
KPH$ sudo add-apt-repository ppa:linaro-maintainers/tools
KPH$ sudo apt-get update
KPH$ sudo apt-get install qemu-user-static qemu-system
Test UEFI on qEmu
KPH$ sudo qemu-system-arm -M beagle -serial stdio -sd alip.img
Add a boot device entry and boot from it
The default boot selection will start in 7 seconds
[1] Linux from SD
[2] Shell
[3] Boot Manager
Start: 3
[1] Add Boot Device Entry
[2] Update Boot Device Entry
[3] Remove Boot Device Entry
[4] Update FDT path
[5] Return to main menu
Choice: 1
[1] SemihostFs (0 MB)
[2] boot (51 MB)
[3] VenHw(4D00EF14-C4E0-426B-81B7-30A00A14AAD6)
Select the Boot Device: 2
File path of the EFI Application or the kernel: zImage
Has FDT support? [y/n] nAdd an initrd: [y/n] yFile path of the initrd: uInitrd
Arguments to pass to the binary: console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw earlyprintk fixrtc nocompcache vram=12M omapfb.mode=dvi:1280x720MR-16@60
Description for this new Entry: alip
[1] Add Boot Device Entry
[2] Update Boot Device Entry
[3] Remove Boot Device Entry
[4] Update FDT path
[5] Return to main menu
Choice: 5
[1] Linux from SD
[2] alip
[3] Shell
[4] Boot Manager
Start: 2
PEI 661 ms
DXE 4558 ms
BDS 5380 ms
Total Time = 10600 ms
Uncompressing Linux... done, booting the kernel.
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Linux version 2.6.35-1008-linaro-omap (buildd@hawthorn) (gcc version 4.4.5 (Ubuntu/Linaro 4.4.4-14ubuntu5) ) #15-Ubuntu Fri Oct 22 11:56:29 UTC 2010 (Ubuntu 2.6.35-1008.15-linaro-omap 2.6.35.7)
(booting messages)
Seeing messages below on Terminal means boot is done
Welcome to Linaro!
* Documentation: http://www.linaro.org
1 package can be updated.
0 updates are security updates.
root@localhost:~#
Takes a while for the GUI desktop on qEmu
With similar steps you could try another images you like.
Enjoy. :)
==================================================
Issues
SD: CMD12 in a wrong state
Mouse and keyboard do not work
==================================================
References
Follow steps in the link below firsthttps://wiki.linaro.org/Resources/HowTo/Qemu-beagleboard
Choose pre-built images of linaro-m (older Ubuntu Maverick version)
http://releases.linaro.org/platform/linaro-m/
Using UEFI to boot Linux
http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=BeagleBoardPkg#Using_UEFI_to_boot_Linux
沒有留言:
張貼留言