Just heard from Ryan that
semihost-cmd would not work ):
We need to have the images at the location from where the models invocation is
being made.
So the alternate question now is where does LAVA makes the model invocation
from. I am thinking of having a symbolic links created to overcome this issue.
Thanks
Basil Eljuse...
From: Basil Eljuse
Sent: 12 February 2014 19:20
To: 'Tyler Baker'
Cc: Linaro Validation; Dean Arnold
Subject: RE: [Linaro-validation] Query on 5.3 Foundation model support in LAVA
Hi Tyler,
Thanks a lot for the clarifications. We gave it a go today, however are stuck
at the point where we need help. Let me retrace the sequence of steps we took.
* Ryan Harkin confirmed that image_foundation.axf is used only with the
legacy foundation models which is not supported with our trusted fw. For the
5.3 FVP foundation model we should not specify the .axf not the
uefi_foundation.bin from the hardware packs.
* We created a custom device type. Please see the attached reference
which has anything relevant with .axf cleaned up and our needed arguments/flags
added.
simulator_command = sudo -u www-data /fastmodels/current/Foundation_v8
--block-device={IMG} --network=nat --no-secure-memory --visualization --gicv3
--cores=4 --data="/test-binaries/foundation/bl1.bin"@0x0
--data="/test-binaries/foundation/uefi_fvp-base.bin"@0x8000000
* Initially we tried with this and could see that LAVA foundation model
instance successfully loads the bootloader images and launches uefi. However
uefi fails saying unable to detect the kernel. Please see the error message
below.
Booting trusted firmware boot loader stage 1
Built : 11:33:25, Feb 12 2014
Booting trusted firmware boot loader stage 2
BL2 Built : 14:39:42, Nov 22 2013
Booting trusted firmware boot loader stage 3
sh: 1: xterm: not found
BL31 Built : 14:39:43, Nov 22 2013
PROGRESS CODE: V3020003 I0
PROGRESS CODE: V3020002 I0
PROGRESS CODE: V3020003 I0
PROGRESS CODE: V3021001 I0
[2J[01;01H[=3h[2J[01;01H[2J[01;01H[=3h[2J[01;01H[2J[01;01H[=3h[2J[01;01H[2J[01;01H[=3h[2J[01;01H[2J[01;01H[=3h[2J[01;01H[2J[01;01H[=3h[2J[01;01H[0m[35m[40m[0m[37m[40mThe
default boot selection will start in 10 seconds 9 seconds
8 seconds
7 seconds 6 seconds
5 seconds
4 seconds 3 seconds
2 seconds
1 seconds
ERROR: Did not find Linux kernel.
[1] Linaro disk image on virtio
- VenHw(C5B9C74A-6D72-4719-99AB-C59F199091EB)/Image
- Arguments: console=ttyAMA0 earlyprintk=pl011,0x1c090000 debug
user_debug=31 loglevel=9 root=/dev/vda2
- FDT: VenHw(C5B9C74A-6D72-4719-99AB-C59F199091EB)/fdt.dtb
- LoaderType: Linux kernel with Local FDT
-----------------------
Global FDT Config
- VenHw(C5B9C74A-6D72-4719-99AB-C59F199091EB)/fdt.dtb
-----------------------
[a] Boot Manager
[b] Shell
[c] Reboot
[d] Shutdown
Start:
* After asking around we were adviced to use the -semihost-cmd flag of
foundation model to tell the model where to look for kernel and fdt, so we
extended our config to have below entries, but still failed with the same
message. Attaching our json and log also for reference. We are bit stuck at
this point. Need help in understanding what is missing from our end.
boot_options =
semihost-cmd
[semihost-cmd]
default=/test-binaries/foundation
* We also came across another issue which would be great to be
addressed. We initially gave both semihost-cmd and cores in the boot options
but for some reason LAVA is treating it as a single argument and is appending
the whole string together without any space. It is clear from the args
statement that it is treating this as a single option than 2. This need to get
fixed.
<LAVA_DISPATCHER>2014-02-12 04:59:22 PM INFO: launching fastmodel with command
u'sudo -u www-data /fastmodels/current/Foundation_v8
--block-device=/srv/lava/instances/production/var/www/lava-server/images/tmpJ01X2A/sd.img
--network=nat --no-secure-memory --visualization --gicv3
--cores=1--semihost-cmd=/test-binaries/foundation'
args: [u'/usr/bin/sudo', u'-u', u'www-data',
u'/fastmodels/current/Foundation_v8',
u'--block-device=/srv/lava/instances/production/var/www/lava-server/images/tmpJ01X2A/sd.img',
u'--network=nat', u'--no-secure-memory', u'--visualization', u'--gicv3',
u'--cores=1--semihost-cmd=/test-binaries/foundation']
* The other issue we are facing is the series of flags like
-visualisation -gicv3 -no-secure-memory, which does not have the typical
flag=value pair usage. We would ideally like this to be specified similar to
boot_options so they can be over-ridden by json and crucially we can have
'empty' defaults so that it gets applied only if specified in json. I am hoping
that this get addressed by the request we already made with you on the
provision to have empty flags. But highlighting here that it is more critical
on foundation models now.
*
Please advice.
Thanks
Basil Eljuse...
From: Tyler Baker [mailto:[email protected]]
Sent: 11 February 2014 22:17
To: Basil Eljuse
Cc: Linaro Validation; Dean Arnold
Subject: Re: [Linaro-validation] Query on 5.3 Foundation model support in LAVA
Hi Basil,
Please see my responses inline:
On 11 February 2014 13:51, Basil Eljuse
<[email protected]<mailto:[email protected]>> wrote:
A gentle reminder !
From: Basil Eljuse
Sent: 09 February 2014 16:06
To: 'Linaro Validation'
Cc: Dean Arnold
Subject: Query on 5.3 Foundation model support in LAVA
Hi,
We were trying to get the latest published (5.3) foundation models in LAVA.
Using the reference as
http://git.linaro.org/lava/lava-dispatcher.git/blob/HEAD:/lava_dispatcher/default-config/lava-dispatcher/device-types/rtsm_foundation-armv8.conf
# The new (2013-10-03) Foundation model install places the simulator binary at
Foundation_v8pkg/models/Linux64_GCC-4.1/Foundation_v8
21<http://git.linaro.org/lava/lava-dispatcher.git/blob/HEAD:/lava_dispatcher/default-config/lava-dispatcher/device-types/rtsm_foundation-armv8.conf#l21>
# A symbolic link has been created in our arm_models-2013-10-03.tgz package to
workaround this change for compatibilty sake. If you are getting an error
22<http://git.linaro.org/lava/lava-dispatcher.git/blob/HEAD:/lava_dispatcher/default-config/lava-dispatcher/device-types/rtsm_foundation-armv8.conf#l22>
# chances are you are running a newer Foundation model and need to adjust this
path.
23<http://git.linaro.org/lava/lava-dispatcher.git/blob/HEAD:/lava_dispatcher/default-config/lava-dispatcher/device-types/rtsm_foundation-armv8.conf#l23>
simulator_command = sudo -u www-data /opt/arm/Foundation_v8pkg/Foundation_v8
--image={AXF} --block-device={IMG} --network=nat
Not quite sure what the comment refers to. However the key point for me is that
rather than using the axf file I was hoping to define the boot options similar
to what we have for the Base models.
This comment refers to the older foundation models:
- Older version of the foundation models have binaries in different locations:
tyler@i5-vm:~/Downloads/models/Foundation_v8pkg$ ls -al
total 24
drwxrwxrwx 5 tyler tyler 4096 Jan 22 16:37 .
drwxr-xr-x 7 tyler tyler 4096 Jan 22 16:38 ..
drwxrwxrwx 2 tyler tyler 4096 Jan 22 16:35 doc
drwxrwxrwx 2 tyler tyler 4096 Jan 22 16:35 examples
lrwxrwxrwx 1 tyler tyler 36 Jan 22 16:36 Foundation_v8 ->
models/Linux64_GCC-4.1/Foundation_v8
-rwxrwxrwx 1 tyler tyler 80 Nov 8 01:59 Internal_use_only.txt
lrwxrwxrwx 1 tyler tyler 39 Jan 22 16:37 libarmctmodel.so ->
models/Linux64_GCC-4.1/libarmctmodel.so
lrwxrwxrwx 1 tyler tyler 58 Jan 22 16:37 libMAXCOREInitSimulationEngine.so.2
-> models/Linux64_GCC-4.1/libMAXCOREInitSimulationEngine.so.2
drwxrwxrwx 3 tyler tyler 4096 Jan 22 16:35 models
So symlinks were created inside the foundation model tar ball package that we
deploy into the lab to maintain backward compatibility with the older models.
If you don't care about older version of the foundation models, you need to
adjust your simulator_command to the proper path for the new model:
New model:
- simulator_command = sudo -u www-data
/opt/arm/Foundation_v8pkg/models/Linux64_GCC-4.1/Foundation_v8--image={AXF}
--block-device={IMG} --network=nat
Old model:
- simulator_command = sudo -u www-data
/opt/arm/Foundation_v8pkg/Foundation_v8--image={AXF} --block-device={IMG}
--network=nat
The following is the typical boot options I wanted to use
<path-to>/Foundation_v8 \
--cores=4 \
--no-secure-memory \
--visualization \
--gicv3 \
--data="<path to bl1.bin>"@0x0 \
--data="<path to UEFI binary>"@0x8000000 \
--block-device="<path-to>/vexpress64-openembedded_lamp-armv8_20130927-7.img"
This would let me override the various argument like number of cores / --gicv3
or -no-gicv3 flag.
https://git.linaro.org/lava/lava-dispatcher.git/blob/HEAD:/lava_dispatcher/default-config/lava-dispatcher/device-types/rtsm_foundation-armv8.conf
At Linaro we have only had the need to use the boot_option "cores" as seen
above. Feel free to add any options you would like here :) You can add these
options in either your device configuration or device-type configuration.
My understanding is that foundation models are quite cutdown version of Base
models and hence does not have semihosting capabilitie etc, hence the uefi
and blockdevice path should be relative to that of the foundation model
location.
I believe you are correct here. I have never tried this with a foundation model
though.
Question:: Can we use the boot options for foundation model the similar way it
is used for base models? Is there an example for the same where we could
cross-reference?
The answer is yes you can, here is an example on the base model:
http://community.validation.linaro.org/scheduler/job/2686/definition
Works the same way on the foundation model as it does on the base model.
Thanks
Basil Eljuse...
-- IMPORTANT NOTICE: The contents of this email and any attachments are
confidential and may also be privileged. If you are not the intended recipient,
please notify the sender immediately and do not disclose the contents to any
other person, use it for any purpose, or store or copy the information in any
medium. Thank you.
ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered
in England & Wales, Company No: 2557590
ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ,
Registered in England & Wales, Company No: 2548782
_______________________________________________
linaro-validation mailing list
[email protected]<mailto:[email protected]>
http://lists.linaro.org/mailman/listinfo/linaro-validation
Hopefully that helps some, let me know if you still have any questions!
Cheers,
--
Tyler Baker
Technical Architect, LAVA
Linaro.org | Open source software for ARM SoCs
Follow Linaro: http://www.facebook.com/pages/Linaro
http://twitter.com/#!/linaroorg - http://www.linaro.org/linaro-blog
-- IMPORTANT NOTICE: The contents of this email and any attachments are
confidential and may also be privileged. If you are not the intended recipient,
please notify the sender immediately and do not disclose the contents to any
other person, use it for any purpose, or store or copy the information in any
medium. Thank you.
ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered
in England & Wales, Company No: 2557590
ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ,
Registered in England & Wales, Company No: 2548782_______________________________________________
linaro-validation mailing list
[email protected]
http://lists.linaro.org/mailman/listinfo/linaro-validation