diff options
Diffstat (limited to 'android/lcr-member/images/lcr-member-fvp/HOWTO_getsourceandbuild.txt')
-rw-r--r-- | android/lcr-member/images/lcr-member-fvp/HOWTO_getsourceandbuild.txt | 147 |
1 files changed, 147 insertions, 0 deletions
diff --git a/android/lcr-member/images/lcr-member-fvp/HOWTO_getsourceandbuild.txt b/android/lcr-member/images/lcr-member-fvp/HOWTO_getsourceandbuild.txt new file mode 100644 index 0000000..7bd5779 --- /dev/null +++ b/android/lcr-member/images/lcr-member-fvp/HOWTO_getsourceandbuild.txt @@ -0,0 +1,147 @@ +h1. Accessing Source Code + +h2. Linaro Android Source Code + +Run the "linaro_android_build_cmds.sh":http://releases.linaro.org/latest/android/lcr-member/images/lcr-member-fvp/linaro_android_build_cmds.sh script, it will download the entire source code for both Android and the kernel and attempt to build it. + +The pinned and source manifests can be found here: + +* "Pinned Manifest":http://releases.linaro.org/latest/android/lcr-member/images/lcr-member-fvp/pinned-manifest.xml ("?":https://wiki.linaro.org/Platform/Android/ReproduceABuildExactly) +* "Source Manifest":http://releases.linaro.org/latest/android/lcr-member/images/lcr-member-fvp/source-manifest.xml + +h2. Compiling Linaro Android RootFS+Kernel + +The following simple steps download, install and compile a complete Linaro Android distribution + +* Download and install Ubuntu 14.04 64 bit or newer ("download":http://www.ubuntu.com) +* Download the Android building script for this build from the list of artifacts listed above or "here":http://releases.linaro.org/latest/android/lcr-member/images/lcr-member-fvp/linaro_android_build_cmds.sh + +* Run the script + +Build from the tip of the source: + +bc. chmod a+x linaro_android_build_cmds.sh +./linaro_android_build_cmds.sh -t + +Or reproduce the exactly the same as this buid: + +bc. chmod a+x linaro_android_build_cmds.sh +./linaro_android_build_cmds.sh -m pinned-manifest.xml + +h2. Booting the android with fastmodels + +h3. create the image file + +pre. $ linaro-android-media-create --image_file mmc.bin --image_size 2000M --dev vexpress --system system.tar.bz2 --userdata userdata.tar.bz2 --boot boot.tar.bz2 + +h3. Extract the preboot files + +pre. tar -jxvf boot.tar.bz2 + +h3. Setup the runtime environment + +<pre> + $ export ARMLMD_LICENSE_FILE="8224@localhost" + $ ssh -L 8224:localhost:8224 -L 18224:localhost:18224 -N $USER@flexlm.linaro.org & +</pre> + +h3. Running the models (verified on FVP Base model build 6302) + +<pre> + $ cd boot/ + $ /path/to/FVP_Base_AEMv8A-AEMv8A/models/Linux64_GCC-4.1/FVP_Base_AEMv8A-AEMv8A \ + -C pctl.startup=0.0.0.0 \ + -C bp.secure_memory=0 \ + -C cluster0.NUM_CORES=1 \ + -C cluster1.NUM_CORES=1 \ + -C cache_state_modelled=0 \ + -C bp.pl011_uart0.untimed_fifos=1 \ + -C bp.secureflashloader.fname=bl1.bin \ + -C bp.flashloader0.fname=fvp_fip.bin \ + -C bp.virtioblockdevice.image_path=mmc.bin \ + -C bp.hostbridge.userNetworking=true \ + -C bp.hostbridge.userNetPorts="5555=5555" \ + -C bp.smsc_91c111.enabled=1 +</pre> + +h3. Console redirection + +To redirect the console open a terminal and run + +pre. telnet 127.0.0.1 5000 + +h3. Select UEFI configuration item, boot the build + +Stop the UEFI prompt and select the Shell item, then it will boot up directly for you: + +<pre> +01:45:07 liuyq: m-lcr-fvp$ telnet localhost 5000 +Trying ::1... +Trying 127.0.0.1... +Connected to localhost. +Escape character is '^]'. +Booting trusted firmware boot loader stage 1 +Built : 12:14:12, May 23 2014 +Booting trusted firmware boot loader stage 2 +BL2 Built : 12:14:15, May 23 2014 +Booting trusted firmware boot loader stage 3 +BL31 Built : 12:14:19, May 23 2014 +UEFI firmware (version built at 12:13:11 on May 23 2014) + +[=3h [=3h [=3h [=3h [=3h [=3h +The default boot selection will start in 1 seconds +ERROR: Did not find Linux kernel. +[1] Linaro disk image on virtio +[2] Shell +[3] Boot Manager +Start: 2 +UEFI Interactive Shell v2.0 +EDK II +UEFI v2.40 (ARM Fixed Virtual Platform EFI May 23 2014 12:13:52, 0x00000000) +Mapping table + FS2: Alias(s):F8: + VenHw(C5B9C74A-6D72-4719-99AB-C59F199091EB) + FS0: Alias(s):F3: + MemoryMapped(0xB,0x88000000,0x8827FFFF) + FS1: Alias(s):F4: + MemoryMapped(0xB,0xFEC16000,0xFEDF987F) + FS3: Alias(s):HD12b:;BLK5: + VenHw(FE61BB5F-1B67-4C24-B346-73DB42E873E5)/HD(1,MBR,0x00000000,0x3F,0x41FC0) + FS4: Alias(s):HD12e2:;BLK10: + VenHw(FE61BB5F-1B67-4C24-B346-73DB42E873E5)/HD(4,MBR,0x00000000,0x242000,0x1BE000)/HD(2,MBR,0x00000000,0x362020,0x9DFE0) + BLK3: Alias(s): + VenHw(E7223039-5836-41E1-B542-D7EC736C5E59) + BLK0: Alias(s): + VenHw(02118005-9DA7-443A-92D5-781F022AEDBB) + BLK1: Alias(s): + VenHw(1F15DA3C-37FF-4070-B471-BB4AF12A724A) + BLK2: Alias(s): + VenHw(CC2CBF29-1498-4CDD-8171-F8B6B41D0909) + BLK4: Alias(s): +Press ESC in 1 seconds to skip startup.nsh or any other key to continue. +Shell> kernel dtb=fvp-base-gicv2-psci.dtb initrd=ramdisk.img console=ttyAMA0 amba-clcd.mode=VGA +EFI stub: Booting Linux Kernel...4-B346-73DB42E873E5)/HD(2,MBR,0x00000000,0x42000,0x180000) +[ 0.000000] Initializing cgroup subsys cpu +[ 0.000000] Initializing cgroup subsys cpuacct3E5)/HD(3,MBR,0x00000000,0x1C2000,0x80000) +[ 0.000000] Linux version 3.10.74 (buildslave@x86-64-07-android) (gcc version 4.9.3 20150413 (prerelease) (Linaro GCC Snapshot 4.9-2015.04) ) #1 SMP PREEMPT Mon May 25 11:45:33 CEST 20150000000,0x242000,0x1BE000) +</pre> + +h3. Black screen + +The boot screen has been disabled to speed up booting. This means you may not see anything on the CLCD terminal for a while depending on the performance of the machine the model is running on. For example a first boot on a 2 GHz machine with 32 GB of RAM took 20 minutes. Subsequent boots should take approximately half the time to boot. + +h2. Run the Android SDK + +h3. Attach ADB + +If you run the models with the configurations mentioned above at the "Running the models" section, by default you can connect to the adb connection like this: + +<pre> + adb connect 127.0.0.1 +</pre> + +ADB on FVP Base models are supported over network as well. Follow the instructions here https://wiki.linaro.org/Internal/Projects/Juice/SetupNetworkingOnModelsUsingBridges to setup networking and use adb. + +You can also run all of the standard Android SDK tools. Learn more at "http://developer.android.com/sdk/index.html":http://developer.android.com/sdk/index.html + +Please Note: The adb connection will be only available after the Home screen is displayed. |