summaryrefslogtreecommitdiff
path: root/android/images/armv8-android-fvp-lsk/HOWTO_install.txt
blob: b886ad7f76038e1acbe8cd2fcd1191b21ee011ed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
h2. Prerequisites

You'll need latest ARM FVP Base models and a license to use the models. Follow the instructions at http://www.arm.com/products/tools/models/fast-models/foundation-model.php

h2. Get artifacts

Scroll down and click on 'Downloads'

Click on each link to download:
* boot.tar.bz2
* system.tar.bz2
* userdata.tar.bz2

h2. Get linaro image tools

Run these commands to get all the dependencies for linaro-image-tools and the tip of 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. Create mmc image for the ARM FVP Base AEMv8 models

Run linaro image tools

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

If you're using tip of linaro image tools

pre. $ ./linaro-image-tools/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

h2. Running the models (verified on FVP Base model build 5602)

<pre>
  $ tar -jxvf boot.tar.bz2
  $ 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=4 \
        -C cluster1.NUM_CORES=4 \
        -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
</pre>

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.