diff options
Diffstat (limited to 'android/images/armv8-juice-fvp-lsk/HOWTO_getsourceandbuild.txt')
-rw-r--r-- | android/images/armv8-juice-fvp-lsk/HOWTO_getsourceandbuild.txt | 182 |
1 files changed, 0 insertions, 182 deletions
diff --git a/android/images/armv8-juice-fvp-lsk/HOWTO_getsourceandbuild.txt b/android/images/armv8-juice-fvp-lsk/HOWTO_getsourceandbuild.txt deleted file mode 100644 index 54ef0f0..0000000 --- a/android/images/armv8-juice-fvp-lsk/HOWTO_getsourceandbuild.txt +++ /dev/null @@ -1,182 +0,0 @@ -Instructions for "https://android-build.linaro.org/builds/~linaro-android-restricted/armv8-juice-lsk-14.06-release/":https://android-build.linaro.org/builds/~linaro-android-restricted/armv8-juice-lsk-14.06-release/ - -h2. Prerequisites - -To clone the sources you must be able to ssh to git.linaro.org and be part of the big-little-switcher-private group. Contact "Philip Colmer" <philip.colmer@linaro.org> for access requests. - -h2. How to download and build Android sources - -Recommended method to do a linaro android build is to use linaro android build script(linaro_android_build_cmds.sh). You can download this script from the Downloads section of the build page. Use this script to do a complete ARMv8 Android build for FVP models from scratch. If you prefer to do it manuaaly then follow the "Get the source" and "Build" instructions below. - -h3. Get the source -<pre> - $ sudo add-apt-repository ppa:linaro-maintainers/tools - $ sudo apt-get update - $ sudo apt-get install gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc openjdk-7-jdk openjdk-7-jre vim-common python-parted python-yaml wget uuid-dev - $ curl "https://android.git.linaro.org/gitweb?p=tools/repo.git;a=blob_plain;f=repo;hb=refs/heads/stable" > repo - $ chmod +x repo - $ ./repo init -u ssh://$USER@linaro-private.git.linaro.org/srv/linaro-private.git.linaro.org/android/manifest.git -b linaro-android-14.06-release -m armv8-juice-lsk.xml - $ sed -i "s/linaro-big-little-switcher-bot/$USER/" .repo/manifest.xml - $ ./repo sync # this may take some time -</pre> - -h3. Build -<pre> - $ export CPUS=`grep -c processor /proc/cpuinfo` - $ export TARGET_PRODUCT=juice - $ export TARGET_BUILD_VARIANT=eng - $ . build/envsetup.sh - $ make -j${CPUS} boottarball systemtarball userdatatarball -</pre> - -h2. Get linaro image tools - -Run these commands to get all the dependencies for linaro-image-tools -<pre> - $ sudo add-apt-repository ppa:linaro-maintainers/tools - $ sudo apt-get update - $ sudo apt-get install linaro-image-tools -</pre> -You can also use the tip of linaro-image-tools from http://git.linaro.org/infrastructure/linaro-image-tools.git - -h2. How to run Juice images on FVP models - -h3. Create mmc image to be used on ARM FVP Base AEMv8 models - -Run linaro image tools - -pre. $ linaro-android-media-create --image_file mmc.img --image_size 2000M --dev vexpress --system system.tar.bz2 --userdata userdata.tar.bz2 --boot boot.tar.bz2 - -If you're using tip of linaro image tools - -pre. $ ./linaro-image-tools/linaro-android-media-create --image_file mmc.img --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 5602) - -<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=fvp_bl1.bin \ - -C bp.flashloader0.fname=fvp_fip.bin \ - -C bp.virtioblockdevice.image_path=../mmc.img -</pre> - -h3. Console redirection - -To redirect the console open a terminal and run - -pre. telnet 127.0.0.1 5000 - -h3. Set UEFI configuration, update kernel/ramdisk path and bootargs - -Stop the UEFI boot process and configure it for FVP models: - -<pre> -$ telnet 127.0.0.1 -debug 5000 -e ^z -Telnet escape character is 'b'. -Telnet escape character is '^Z'. -Trying 127.0.0.1... -setsockopt (SO_DEBUG): Permission denied -Connected to 127.0.0.1. -Escape character is '^Z'. - 7 seconds -[1] Linaro disk image on virtio -[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: 2 -[1] Linaro disk image on virtio -Update entry: 1 -File path of the EFI Application or the kernel: kernel -Has FDT support? [y/n] y -Add an initrd: [y/n] y -File path of the initrd: ramdisk.img -Arguments to pass to the binary: console=ttyAMA0 earlyprintk=pl011,0x1c090000 amba-clcd.mode=VGA -Description for this new Entry: Linaro disk image on virtio -[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] Linaro disk image on virtio -[2] Shell -[3] Boot Manager -Start: 1 - PEI 1122 ms - DXE 259 ms - BDS 8 ms -Total Time = 1390 ms - -[ 0.000000] Initializing cgroup subsys cpu -[ 0.000000] Linux version 3.10.40-04438-g6a78140 (pundiramit@flying-dutchman) (gcc version 4.9 20140514 (prerelease) (GCC) ) #1 SMP Mon Jun 2 14:50:25 IST 2014 -</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. - -h3. Attach ADB - -ADB on FVP Base models are supported over network. Follow the instructions here https://wiki.linaro.org/Internal/Projects/Juice/SetupNetworkingOnModelsUsingBridges to setup networking and use adb. - -h2. How to run Juice images on Juno - -h3. Plug in the USB stick and flash Juice images on that USB device - -Run 'dmesg' and find out correct USB /dev node. - -pre. $ dmesg - -Look for a line that looks like the following at the end of the log - -pre. [288582.790722] sdc: sdc1 sdc2 sdc3 sdc4 < sdc5 sdc6 > - -WARNING: In the next step, make sure you use /dev/"whatever you see above". - You can erase your hard drive with the wrong parameter. - -Run linaro image tools - -pre. $ linaro-android-media-create --mmc /dev/sdX --dev vexpress --boot boot.tar.bz2 --system system.tar.bz2 --userdata userdata.tar.bz2 - -If you're using tip of linaro image tools - -pre. $ ./linaro-image-tools/linaro-android-media-create --mmc /dev/sdX --dev vexpress --boot boot.tar.bz2 --system system.tar.bz2 --userdata userdata.tar.bz2 - -Now unplug the USB stick and connect it to Juno and boot from it. - -h3. Configure Juno boot time UEFI configuration - -Copy Preboot firmwares (bl1.bin and fip.bin) from boot.tar.bz2 to <firmware_partition>/SOFTWARE/. Stop at UEFI prompt and change few parameters shown below - -<pre> -Select USB device's boot partition to boot from while "Selecting the boot device". -Change kernel in UEFI to "kernel" in the boot partition -Change ramdisk in UEFI to "ramdisk.img" in the boot partition -Change bootargs to "console=ttyAMA0,115200 earlyprintk=pl011,0x7ff80000" -</pre> -Note: There is a bug in UEFI where you won't see USB disk partitions while selecting the boot device. You have to press ESCAPE at "Select the boot device" menu item and then continue. - -It should get your Juno board up and running. |