Hello,
There were increasing Android build times during last month again
(going over 3.5hrs). Yesterday, I re-created the seed, but that didn't
improve times match. I did more stats on builds and it turns out that
we spend almost 1.5hrs in copying ever-growing overlay collection to
the slaves via sluggish CopyToSlave Jenkins plugin.
That's issues known for at least half-year, and was in queue for being
reworked. I didn't work on android-build closely for few months, but
now that I'm back on maintenance, I'd like to start with fixing this
long-overdue issue.
The idea was to pull all the needed overlay, straight to a slave. The
complication here was handling of license protected files.
ci.linaro.org had the same issue, and used a script to handle
automatic downloads for some time. However, as of now, it was switched
to other process and the script git bitrotted with recent
linaro-license-protection codebase changes. I took a look at revamping
it, but then though that it may be a good idea to use simpler and
more explicit process, following closely click-thru usage. So, if you
want to use a license-protected binaries in a build, you'd need to
specify:
ACCEPT_LICENSE=<license_id>
Where <license_id> is id under which license is registered in
linaro-license-protection. One good way to figure it out is to read the
license page at all (well, as HTML source, the id is included in some
links). Wording of variable name (as well as of commands in underlying
implementation) is also explicit to point that its usage construes
license acceptance.
I prototypes these changes using
https://android-build.linaro.org/builds/~pfalcon/panda-jb-gcc47-tilt-tracki…
which is down to 2h10m build time. I'm ready to migrate all builds
tomorrow, while we're early in cycle start.
Please let me know if there're any issues with approach or proposed
migration timeframe, otherwise let's make android-build rock again.
Thanks,
Paul
Linaro.org | Open source software for ARM SoCs
Follow Linaro: http://www.facebook.com/pages/Linarohttp://twitter.com/#!/linaroorg - http://www.linaro.org/linaro-blog
Hi Vishal,
When launching the Browser on Samsung Arndale board to show the default
Google web page, a pop-up window says:
Security warning
There are problems with the security certificate for this site.
It can be skipped by clicking "Continue" button though.
In logcat, I could see lots of following error messages:
Failed to find provider info for com.google.settings
This issue doesn't exist on ARM Versatile Express A9 Android.
The build I'm using for Samsung Arndale is #386:
https://android-build.linaro.org/builds/~linaro-android/linux-linaro-arndal…
FYI.
Thanks.
Best Regards
Botao Sun
Hi Vishal,
Looks like we have more issues popped up, now the "device-tree" directory
is missing under "/proc". However, from boot log, the blob had been loaded
to Kernel:
reading board.dtb
21192 bytes read
## Flattened Device Tree blob at 41f00000
Booting using the fdt blob at 0x41f00000
Loading Kernel Image ... OK
OK
Using Device Tree in place at 41f00000, end 41f082c7
Starting kernel ...
root@arndale:/ # find /proc -name device-tree
root@arndale:/ #
Full boot log can be found in attachment, and the build I'm using is #386:
https://android-build.linaro.org/builds/~linaro-android/linux-linaro-arndal…
I'm not sure this is an expected behaviour for Samsung Arndale, and for ARM
Versatile Express A9, there is a completed directory and file structure
under "/proc", which is "/proc/device-tree/model".
FYI.
Best Regards
Botao Sun
Hi Vishal,
I'm now looking at the logcat output of Samsung Arndale Android image, and
found:
D/libEGL ( 2167): No GPU support detected. Fallback to software renderer.
D/libEGL ( 2167): loaded /system/lib/egl/libGLES_android.so
Then:
W/gralloc ( 2166): page flipping not supported (yres_virtual=720,
requested=1440)
I/gralloc ( 2166): using (fd=12)
I/gralloc ( 2166): id =
I/gralloc ( 2166): xres = 1280 px
I/gralloc ( 2166): yres = 720 px
I/gralloc ( 2166): xres_virtual = 1280 px
I/gralloc ( 2166): yres_virtual = 720 px
I/gralloc ( 2166): bpp = 16
I/gralloc ( 2166): r = 11:5
I/gralloc ( 2166): g = 5:6
I/gralloc ( 2166): b = 0:5
I/gralloc ( 2166): width = 1280 mm (25.400000 dpi)
I/gralloc ( 2166): height = 720 mm (25.400000 dpi)
I/gralloc ( 2166): refresh rate = 60.00 Hz
I/iptables( 2164): iptables terminated by exit(3)
E/Netd ( 2164): exec() res=0, status=768 for /system/bin/iptables -t
filter -N bw_INPUT
I/ip6tables( 2164): ip6tables terminated by exit(3)
E/Netd ( 2164): exec() res=0, status=768 for /system/bin/ip6tables -t
filter -N bw_INPUT
I/iptables( 2164): iptables terminated by exit(3)
E/Netd ( 2164): exec() res=0, status=768 for /system/bin/iptables -t
filter -A INPUT -j bw_INPUT
I/ip6tables( 2164): ip6tables terminated by exit(3)
E/Netd ( 2164): exec() res=0, status=768 for /system/bin/ip6tables -t
filter -A INPUT -j bw_INPUT
I/iptables( 2164): iptables terminated by exit(3)
E/Netd ( 2164): exec() res=0, status=768 for /system/bin/iptables -t
filter -N fw_INPUT
I/SurfaceFlinger( 2166): Using composer version 1.0
W/SurfaceFlinger( 2166): getting VSYNC period from fb HAL: 16666666
W/SurfaceFlinger( 2166): no suitable EGLConfig found, trying a simpler query
W/SurfaceFlinger( 2166): EGL_SLOW_CONFIG selected!
I/SurfaceFlinger( 2166): EGL informations:
I/SurfaceFlinger( 2166): vendor : Android
I/SurfaceFlinger( 2166): version : 1.4 Android META-EGL
I/SurfaceFlinger( 2166): extensions: EGL_KHR_get_all_proc_addresses
EGL_ANDROID_presentation_time EGL_KHR_image_base EGL_KHR_fence_sync EGL_A
I/SurfaceFlinger( 2166): Client API: OpenGL_ES
I/SurfaceFlinger( 2166): EGLSurface: 5-6-5-0, config=0x0
I/SurfaceFlinger( 2166): OpenGL ES informations:
I/SurfaceFlinger( 2166): vendor : Android
I/SurfaceFlinger( 2166): renderer : Android PixelFlinger 1.4
I/SurfaceFlinger( 2166): version : OpenGL ES-CM 1.0
I/SurfaceFlinger( 2166): extensions: GL_EXT_debug_marker
GL_OES_byte_coordinates GL_OES_fixed_point GL_OES_single_precision
GL_OES_read_forma
I/SurfaceFlinger( 2166): GL_MAX_TEXTURE_SIZE = 4096
I/SurfaceFlinger( 2166): GL_MAX_VIEWPORT_DIMS = 4096
As we know the Arndale board integrates dual-core A15 CPU and ARM Mali-T604
GPU. If as the log described, "No GPU support detected", then does it mean
that all the graphic work now is done by the dual-core A15 CPU itself?
Though the speed for navigation among screens is fast and 0xBenchmark test
looks good as well.
I may be wrong but in this condition, the board seems can't be considered
as "Hardware Accelerated", at least not "GPU Hardware Accelerated". Also,
as I know, "Android PixelFlinger" is a software renderer.
Do you know more information about this?
Thank you.
Best Regards
Botao Sun
Hi Vishal,
I'm now testing Samsung Arndale Android build then find following error
information at the end of boot log:
------------[ cut here ]------------
[ 181.350000] ------------[ cut here ]------------
4WARNING: at
/mnt/jenkins/workspace/linaro-android_linux-linaro-arndale/build/kernel/linaro/arndale/mm/page_alloc.c:2387
__alloc_pages_nodema)
[ 181.370000] WARNING: at
/mnt/jenkins/workspace/linaro-android_linux-linaro-arndale/build/kernel/linaro/arndale/mm/page_alloc.c:2387
__allo)
dModules linked in:[ 181.390000] Mo
ules linked in:
[<c001483c>] (unwind_backtrace+0x0/0xf4) from [<c001efa0>]
(warn_slowpath_common+0x54/0x6c)
[ 181.410000] [<c001483c>] (unwind_backtrace+0x0/0xf4) from [<c001efa0>]
(warn_slowpath_common+0x54/0x6c)
[<c001efa0>] (warn_slowpath_common+0x54/0x6c) from [<c001f054>]
(warn_slowpath_null+0x1c/0x24)
[ 181.430000] [<c001efa0>] (warn_slowpath_common+0x54/0x6c) from
[<c001f054>] (warn_slowpath_null+0x1c/0x24)
[<c001f054>] (warn_slowpath_null+0x1c/0x24) from [<c0078888>]
(__alloc_pages_nodemask+0x1dc/0x874)
[ 181.450000] [<c001f054>] (warn_slowpath_null+0x1c/0x24) from
[<c0078888>] (__alloc_pages_nodemask+0x1dc/0x874)
[<c0078888>] (__alloc_pages_nodemask+0x1dc/0x874) from [<c0078f30>]
(__get_free_pages+0x10/0x24)
[ 181.470000] [<c0078888>] (__alloc_pages_nodemask+0x1dc/0x874) from
[<c0078f30>] (__get_free_pages+0x10/0x24)
[<c0078f30>] (__get_free_pages+0x10/0x24) from [<c00d3050>]
(seq_read+0x238/0x494)
[ 181.490000] [<c0078f30>] (__get_free_pages+0x10/0x24) from [<c00d3050>]
(seq_read+0x238/0x494)
[<c00d3050>] (seq_read+0x238/0x494) from [<c00b50ac>] (vfs_read+0x98/0x144)
[ 181.510000] [<c00d3050>] (seq_read+0x238/0x494) from [<c00b50ac>]
(vfs_read+0x98/0x144)
[<c00b50ac>] (vfs_read+0x98/0x144) from [<c00b53e0>] (sys_read+0x3c/0x78)
[ 181.520000] [<c00b50ac>] (vfs_read+0x98/0x144) from [<c00b53e0>]
(sys_read+0x3c/0x78)
[<c00b53e0>] (sys_read+0x3c/0x78) from [<c000dec0>]
(ret_fast_syscall+0x0/0x30)
[ 181.540000] [<c00b53e0>] (sys_read+0x3c/0x78) from [<c000dec0>]
(ret_fast_syscall+0x0/0x30)
4---[ end trace 9b7ab5bac2be8bf4 ]---
[ 181.560000] ---[ end trace 9b7ab5bac2be8bf4 ]---
Did you ever see it before? Full log can be found in attachment of this
email, and the build I'm using is #386:
https://android-build.linaro.org/builds/~linaro-android/linux-linaro-arndal…<https://www.google.com/url?q=https://android-build.linaro.org/builds/~linar…>
Thanks.
Best Regards
Botao Sun
I want to use fastmodel to run a android system.As the document say,it used "vexpressrtsm-ics-gcc46-armlt-stable-open-12.04-release".When I download the source code using the script "linaro_android_build_cmds.sh",there are errors in it.
So,I want to know the differences between vexpress-jb- vexpress-linaro-mp- vexpress-lsk- vexpress-linaro- ,and which version can replace "vexpressrtsm-ics-gcc46-armlt-stable-open-12.04-release"?
Looking forward to your answer.
Hi Vishal,
For the SD MMC test on Samsung Arndale board, the value of EXTERNAL_STORAGE
doesn't match with the output of "df":
root@arndale:/ # df
Filesystem Size Used Free Blksize
/dev 1000.6M 164.0K 1000.4M 4096
/mnt/asec 1000.6M 0.0K 1000.6M 4096
/mnt/obb 1000.6M 0.0K 1000.6M 4096
/system 739.9M 371.1M 368.8M 4096
/cache 243.9M 2.0M 241.9M 1024
/data 487.8M 51.4M 436.4M 1024
/mnt/media_rw/sdcard0 5.8G 12.0K 5.8G 4096
/mnt/secure/asec 5.8G 12.0K 5.8G 4096
root@arndale:/ # echo $EXTERNAL_STORAGE
/storage/sdcard0
root@arndale:/ #
"/storage/sdcard0" is not in the output of "df". According to the output,
the storage actually locates at "/mnt/media_rw/sdcard0", and I couldn't see
there is any symbol link between them:
root@arndale:/ # busybox ls -ld
/mnt/media_rw/sdcard0
drwxrwx--- 4 media_rw media_rw 4096 Jan 1 00:01
/mnt/media_rw/sdcard0
root@arndale:/ # busybox ls -ld /storage/sdcard0
drwx------ 2 root root 0 Jan 1 00:00 /storage/sdcard0
root@arndale:/ #
However, data can be successfully written to /storage/sdcard0:
root@arndale:/ # written_message="abcdefghijklmn"
root@arndale:/ # echo $written_message > $EXTERNAL_STORAGE/sd-mmc-test.txt
root@arndale:/ # echo $?
0
root@arndale:/ # cat $EXTERNAL_STORAGE/sd-mmc-test.txt
abcdefghijklmn
root@arndale:/ # cd /storage/sdcard0
root@arndale:/storage/sdcard0 # ls
sd-mmc-test.txt
root@arndale:/storage/sdcard0 #
But file "sd-mmc-test.txt" doesn't exist under "/mnt/media_rw/sdcard0"
root@arndale:/storage/sdcard0 # cd /mnt/media_rw/sdcard0
root@arndale:/mnt/media_rw/sdcard0 # ls
LOST.DIR
root@arndale:/mnt/media_rw/sdcard0 #
Something wrong in the output of these storage partitions? The build I'm
using is #386:
https://android-build.linaro.org/builds/~linaro-android/linux-linaro-arndal…
Best Regards
Botao Sun