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.
|