Hi Matthew,

Can you please provide some guidance for creating the prebuilt, e.g. 
https://android.googlesource.com/trusty/prebuilts/aosp/+/refs/heads/master/pristine/qemu_trusty_arm64-target_files-7152458.zip?
 
Seems to be related to build/make/tools/releasetools, and tried 'make 
dist', but getting errors.

Thanks

On Tuesday, March 3, 2020 at 2:21:24 PM UTC+9 [email protected] wrote:

> This target is a testing target used for evaluating our reference 
> TrustZone implementation. "storageproxyd" is continuously resetting there 
> because it is not being launched by our test script 
> <https://android.googlesource.com/trusty/device/arm/generic-arm64/+/refs/heads/master/project/qemu/qemu.py>
>  which 
> would attach a virtual RPMB resource.
>
> A few notes about this target:
> * It does not have a GUI
> * Running Java is not supported and unlikely to work
> * It requires a custom EL3 and Trusty running alongside it to work
>
> The manifest for these components is at 
> https://android.googlesource.com/trusty/manifest, and that manifest 
> contains a checked in prebuilt of the qemu_trusty_arm64-userdebug target 
> that we are currently testing against.
>
> If you tell me more about what you're trying to make the target do, I may 
> be able to give you further help with getting it to do what you want. If 
> you aren't trying to use or inspect the Trusty TZ implementation, this 
> target probably isn't the one you're looking for.
>
> On Mon, Mar 2, 2020 at 1:34 PM Dan Willemsen <[email protected]> wrote:
>
>> +Matthew Maurer Do we have any documentation on this target? I think the 
>> last time we talked about this target it was only minimally functional.
>>
>> - Dan
>>
>> On Mon, Mar 2, 2020 at 12:51 PM Julien Robin <[email protected]> 
>> wrote:
>>
>>> I succeeded to find a workaround for the issue I signaled here, editing 
>>> device/generic/trusty/BoardConfig.mk and putting BUILD_QEMU_IMAGES to 
>>> false, which still gives vendor.img, system.img and userdata.img
>>>
>>> I then found this kernel 
>>> https://android.googlesource.com/kernel/common/+/refs/heads/android-trusty-4.19,
>>>  
>>> and using arch/arm64/configs/trusty_qemu_defconfig, I successfully built it.
>>>
>>> Also, I'm able to start most of this Android build on Debian 10 provided 
>>> qemu-system-aarch64 the following way :
>>>
>>> qemu-system-aarch64
>>>     -M virt
>>>     -cpu cortex-a57
>>>     -smp 1
>>>     -m 2048
>>>     -monitor none
>>>     -parallel none
>>>     -serial mon:stdio
>>>     -kernel Image -append "root=/dev/vda rootfstype=ext4 ro init=/init 
>>> loglevel=8 selinux=1 checkreqprot=1 androidboot.selinux=permissive 
>>> androidboot.hardware=qemu_trusty console=ttyAMA0"
>>>     -device virtio-gpu-pci
>>>     -drive format=raw,file=system-custom.img
>>>     -drive format=raw,file=userdata-custom.img
>>>
>>> userdata-custom.img is just a bigger userdata.img (1024MB instead of 4) 
>>> in which I used resize2fs, system-custom.img is just a system.img in which 
>>> the placeholder folder "vendor" now embeds the content of vendor.img, 
>>> copied by "cp -a". Finally, still into system-custom.img, fstab.qemu_trusty 
>>> only contains 
>>> LABEL=data              /data               ext4      noatime,nosuid,
>>> nodev,errors=panic    wait
>>> So that /data (available at /dev/vdb) is mounted by its label, while 
>>> system-custom.img embeding root system and vendor is already mounted by 
>>> kernel cmdline (by /dev/vda). ramdisk.img is not used as system.img already 
>>> contains everything needed to start init.
>>>
>>> However, I guess I should use a slightly modified version of qemu, 
>>> available here 
>>> https://android.googlesource.com/trusty/external/qemu/+/refs/heads/master
>>> Because using Debian 10 qemu version, I get the following output, and no 
>>> display :
>>>
>>> init: init first stage started!
>>> [...]
>>> init: Loading SELinux policy
>>> [...]
>>> selinux: SELinux: Loaded policy from /vendor/etc/selinux/
>>> precompiled_sepolicy
>>>
>>> selinux: SELinux: Loaded file_contexts
>>>
>>> random: init: uninitialized urandom read (40 bytes read)
>>> random: init: uninitialized urandom read (40 bytes read)
>>> init: init second stage started!
>>> [...]
>>> ueventd: Coldboot took 1.344 seconds
>>> [...]
>>> init: starting service 'storageproxyd'...
>>> libprocessgroup: CgroupMap::FindController called for [1] failed, RC 
>>> file was not initialized properly
>>> libprocessgroup: Failed to make and chown /uid_0: Read-only file system
>>> libprocessgroup: CgroupMap::FindController called for [829] failed, RC 
>>> file was not initialized properly
>>> init: createProcessGroup(0, 829) failed for service 'storageproxyd': 
>>> Read-only file system
>>> init: cpuset cgroup controller is not mounted!
>>> init: Service 'storageproxyd' (pid 829) exited with status 1
>>> init: Sending signal 9 to service 'storageproxyd' (pid 829) process 
>>> group...
>>> libprocessgroup: CgroupMap::FindController called for [1] failed, RC 
>>> file was not initialized properly
>>> libprocessgroup: CgroupMap::FindController called for [1] failed, RC 
>>> file was not initialized properly
>>>
>>>
>>> init: starting service 'storageproxyd'...
>>> libprocessgroup: CgroupMap::FindController called for [1] failed, RC 
>>> file was not initialized properly
>>> libprocessgroup: Failed to make and chown /uid_0: Read-only file system
>>> init: createProcessGroup(0, 830) failed for service 'storageproxyd': 
>>> Read-only file system
>>> libprocessgroup: CgroupMap::FindController called for [830] failed, RC 
>>> file was not initialized properly
>>> init: cpuset cgroup controller is not mounted!
>>> init: Service 'storageproxyd' (pid 830) exited with status 1
>>> init: Sending signal 9 to service 'storageproxyd' (pid 830) process 
>>> group...
>>>
>>> ...and so on in loop
>>>
>>> However I'm still not sure to proceed correctly, as I'm doing everything 
>>> alone with no documentation (I may have missed it?)
>>>
>>> Is here some documentation available? If there isn't, is someone able to 
>>> provide an example of working qemu command line (even old or unoptimized), 
>>> or just few explanations so that I can be placed on the right track?
>>>
>>> Thank you very much in advance
>>>
>>>
>>> On 3/1/20 2:14 PM, Julien Robin wrote:
>>>>
>>>> Hi there,
>>>>
>>>> I see that starting from branch android-10.0.0_r1, lunch offers a 
>>>> choice called qemu_trusty_arm64-userdebug, in which I'm interested
>>>>
>>>> However, I got the following error, no matter which OS I'm using for 
>>>> building (be it Ubuntu 18.048 or Debian 10). I have this error on r1, r20 
>>>> and r29.
>>>>
>>>> [ 62% 16150/26047] Create system-qemu.img now
>>>> FAILED: out/target/product/trusty/system-qemu.img
>>>> /bin/bash -c "(export SGDISK=out/host/linux-x86/bin/sgdisk 
>>>> SIMG2IMG=out/host/linux-x86/bin/simg2img;     
>>>>  device/generic/goldfish/tools/mk_combined_img.py -i 
>>>> out/target/product/trusty/system-qemu-config.txt -o 
>>>> out/target/product/trusty/system-qemu.img)"
>>>> 1+0 records in
>>>> 2048+0 records out
>>>> 1048576 bytes (1.0 MB, 1.0 MiB) copied, 0.0063128 s, 166 MB/s
>>>> Traceback (most recent call last):
>>>>   File "device/generic/goldfish/tools/mk_combined_img.py", line 163, in 
>>>> <module>
>>>>     main()
>>>>   File "device/generic/goldfish/tools/mk_combined_img.py", line 135, in 
>>>> main
>>>>     if check_sparse(partition["path"]):
>>>>   File "device/generic/goldfish/tools/mk_combined_img.py", line 12, in 
>>>> check_sparse
>>>>     with open(filename, 'rb') as i:
>>>> IOError: [Errno 2] No such file or directory: 
>>>> 'out/target/product/trusty/vbmeta.img'
>>>> 13:44:11 ninja failed with: exit status 1
>>>>
>>>> #### failed to build some targets (19:41 (mm:ss)) ####
>>>>
>>>> What should I do to get qemu_trusty_arm64-userdebug building 
>>>> successfully?
>>>>
>>>> Thank you in advance!
>>>>
>>>> Best regards,
>>>> Julien ROBIN
>>>>
>>> -- 
>>> -- 
>>> You received this message because you are subscribed to the "Android 
>>> Building" mailing list.
>>> To post to this group, send email to [email protected]
>>> To unsubscribe from this group, send email to
>>> [email protected]
>>> For more options, visit this group at
>>> http://groups.google.com/group/android-building?hl=en
>>>
>>> --- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "Android Building" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to [email protected].
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/android-building/a30c5a05-6134-43a5-8f3b-32313e32bac0%40googlegroups.com
>>>  
>>> <https://groups.google.com/d/msgid/android-building/a30c5a05-6134-43a5-8f3b-32313e32bac0%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>

-- 
-- 
You received this message because you are subscribed to the "Android Building" 
mailing list.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-building?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
"Android Building" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/android-building/72d71909-1037-4abf-936b-e8cdd6337893n%40googlegroups.com.

Reply via email to