---------- Forwarded message ----------
From: Kejun Zhou <kejun.zhou(a)linaro.org>
Date: 11 June 2012 15:57
Subject: A question about Android build system.
To: Mathieu Poirier <mathieu.poirier(a)linaro.org>, Bernhard Rosenkränzer <
Bernhard.Rosenkranzer(a)linaro.org>
Cc: Zach Pfeffer <zach.pfeffer(a)linaro.org>
Hi,
I have a question about adding pm-qa into Android. Could you give me some
help?
There are many scripts in pm-qa. Each script is independent test case.
My question is how to make the Android build the pm-qa automatically
without a modification of target/product/core.mk.
Take the cpuidle which is one of pm-qa test modules.
(1) There are cpuidle_01.sh, cpuidle_02.sh, cpuidle_03.sh and
cpuidle_killer.c in pm-qa/cpuidle/ folder.
(2) The Android.mk lists cpuidle_01.sh, cpuidle_02.sh, cpuidle_03.sh and
cpuidle_killer as independent modules.
~~~~~cpuidle Android.mk~~~~~~~~~
include $(call all-subdir-makefiles)
LOCAL_PATH:= $(call my-dir)
module_name = cpuidle
define $(module_name)_add_executable
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := tests
LOCAL_MODULE := $1.sh
LOCAL_SRC_FILES := $1.sh
LOCAL_MODULE_PATH :=
$(TARGET_OUT_OPTIONAL_EXECUTABLES)/pm-qa/$(module_name)
include $(BUILD_PREBUILT)
endef
test_num := 01 02 03
$(foreach item,$(test_num),$(eval $(call $(module_name)_add_executable,
$(module_name)_$(item))))
include $(CLEAR_VARS)
LOCAL_MODULE := cpuidle_killer
LOCAL_SRC_FILES:= cpuidle_killer.c
LOCAL_STATIC_LIBRARIES := libcutils libc
LOCAL_MODULE_TAGS := tests
LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)/pm-qa/$(module_name)
include $(BUILD_EXECUTABLE)
(3) Is it possible only add the pm-qa/cpuide folder under
(Android_platform)/external/pm-qa, and the Android build system will build
the pm-qa/cpuidle automatically?
BRs,
Kejun
Hey everyone.
I'm not working today, taking holiday on request. I'll be swapping this
with tomorrow to catch up.
Talk to you on Monday.
Thanks
ZK
--
Zygmunt Krynicki
Linaro Validation Team
s/Validation/Android/
Hi,
We now have a panda build based on AOSP kernel with complete enablement
(Wif,BT,Audio,Graphics,MM) .
https://android-build.linaro.org/builds/~linaro-android/panda-ics-gcc47-oma…
It seems to be stable on 4430 but I am seeing issues on 4460 (pandaboard
ES) when it is mounting system partitions during bootup sometimes , adding
rootdelay=5 in bootargs did help some times . I would like invite people to
try the build and let me know if they are facing similar issue on 4460.
Regards,
Vishal
Hello Android Team,
the Infrastructure Team has been working on activating seeded builds
for the Linaro Android Toolchain:
https://android-build.linaro.org/builds/~linaro-android/toolchain-trunk/
The new builds, starting from today, will use the new seeded
repository, resulting in slightly faster build times.
If you are experiencing any problems with this new configuration,
please submit a bug report, contact the Infrastructure team, or ping
me (Gwaihir) and Deepti (deepti) on IRC as we are the maintenance
contacts for this month.
PS: please keep me CCed in replies as I do not receive Android list traffic.
Have a great day.
--
Milo Casagrande
Infrastructure Engineer
Linaro.org <www.linaro.org> │ Open source software for ARM SoCs
Hey everyone.
I've got a nasty bug (nasty for me as it hampers my android
bootstrapping) that is easily reproducible on my pandaboard.
I've reported it as
https://bugs.launchpad.net/linaro-android/+bug/1012674/ with both the
manifest file and the build log. If anyone wants to try my binaries I
can provide that as well.
--
Zygmunt Krynicki
Linaro Validation Team
Hello Android team,
Infrastructure team currently works on switching to using custom AMIs
for build slaves to increase reliability, and as first step, we're
switching from instance store AMIs to EBS AMIs for the builds slaves,
because EBS AMIs are more maintainable.
This is transparent change, and was tested yesterday and overnight. So,
this is mostly a heads-up so you were aware of the change. If you see
any issues, please submit a bug or ping me or our maintenance
("on-call") team for this month - Deepti and Milo (deepti and Gwaihir on
IRC).
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
Hey everyone.
I'm trying to figure out a way to get connectivity manager tests enabled
and pushed to LAVA. I read the code briefly (please correct any
misconceptions I may have) and I see a few steps that need to be taken
to achieve that.
1) We need to build them into our images. That's the obvious bit. It may
be done already, I'm still digging through the code and the build system.
2) We need to script them so that they can execute given the correct
environment. This part feels rather simple as there are explicit ADB
commands in the comments throughout that code. I will try to build a
comprehensive list of tests with notes and update you as I go. Still is
should be relatively easy to script the execution
3) We need to work with the LAVA team to prepare a proper environment.
So far this seems to be the biggest technical challenge. From my shallow
understanding of the code we'd have to setup a few wireless access
points with various configurations (or alternate the configuration on a
single access point but that seems harder and more error prone) and see
if we can get repeatable outcome from those connection tests.
The thing that worries me is the susceptibility to background noise /
other transmissions / etc. It seems that most "interesting" tests are
related to wireless communication. I wonder what is your opinion on
this. Should we just enable all the tests that we technically can and
ignore the fact that our test environment is not isolated?
Thanks for the feedback
ZK
--
Zygmunt Krynicki
Linaro Validation Team
s/Validation/Android/
Hi,
Can anyone suggest me, why dhcp fails on ethernet and on wifi when
dhcp service is started from init.rc.
But its working fine when
dhcpcd -B wlan0/eth0 command is given manually.
Dhcp is not starting during start up and when started manually it
works.
D/wpa_supplicant( 1753): State: ASSOCIATING -> ASSOCIATED
I/wpa_supplicant( 1753): CTRL-EVENT-STATE-CHANGE id=1 state=7
BSSID=00:00:00:00:00:00
I/wpa_supplicant( 1753): CTRL-EVENT-CONNECTED - Connection to
00:18:f8:51:45:3f completed (reauth) I//system/bin/dhcpcd( 1778):
dhcpcd[1779]: Android requires an interface
I//system/bin/dhcpcd( 1778): dhcpcd[1779]: stop_control: No such file
or directory
I/logwrapper( 1778): /system/bin/dhcpcd terminated by exit(1)
D/Tethering( 1155): MasterInitialState.processMessage what=3
D/Tethering( 1155): MasterInitialState.processMessage what=3
E/DhcpStateMachine( 1155): DHCP failed on wlan0: Timed out waiting for
dhcpcd to start
I/ethernet( 1146): ==>android_net_ethernet_initEthernetNative
I/ethernet( 1146): interface eth0:2 found
V/EthernetStateTracker( 1146): Starts...
I/ethernet( 1146): interface sit0:3 found
E/ethernet( 1146): android_net_ethernet_initEthernetNative exited with
success
I/ethernet( 1146): User ask for device name on 0, list:7BC7F8, total:2
I/ethernet( 1146): User ask for device name on 1, list:7BC7F8, total:2
V/EthernetStateTracker( 1146): Successed
V/EthernetStateTracker( 1146): start to monitor the ethernet devices
I/EthernetManager( 1146): Init Ethernet Manager, service:
com.android.server.EthernetService@4129e608
V/EthernetService( 1146): device 0 name sit0
V/EthernetService( 1146): device 1 name eth0
E/EthernetService( 1146): EthernetManager.ETHERNET_STATE_ENABLED
E/MobileDataStateTracker( 1146): default: Ignoring feature request
because could not acquire PhoneService
E/MobileDataStateTracker( 1146): default: Could not enable APN type
"default"
D/NetworkManagementService( 1146): Registering observer
D/NetworkManagementService( 1146): Registering observer
I/WifiService( 1146): WifiService starting up with Wi-Fi enabled
E/WifiStateMachine( 1146): Failed to reload STA firmware
java.lang.IllegalStateException: Error communicating to native daemon
I/ethernet( 1146): User ask for device name on 0, list:7BC7F8, total:2
I/ethernet( 1146): User ask for device name on 1, list:7BC7F8, total:2
I/EthernetService( 1146): Ethernet dev enabled 2
V/EthernetService( 1146): device 0 name sit0
V/EthernetService( 1146): device 1 name eth0
D/NetUtils( 1146): android_net_utils_resetConnections in env=0x7d8df8
clazz=0x2f900001 iface=sit0 mask=0x3
V/EthernetStateMachine( 1146): start to monitor the ethernet devices
E/EthernetStateMachine( 1146): startMonitoring resetInterface()
I/EthernetStateMachine( 1146): reset device sit0
W/CommandListener( 1068): Failed to retrieve HW addr for wlan0 (No
such device)
D/CommandListener( 1068): Setting iface cfg
D/NetworkManagementService( 1146): rsp<213 00:00:00:00:00:00 0.0.0.0
0 [down]>
D/NetworkManagementService( 1146): flags<[down]>
E/WifiStateMachine( 1146): Unable to change interface settings:
java.lang.IllegalStateException: Unable to communicate with native
daemon to interface setcfg -
com.android.server.NativeDaemonConnectorException: Cmd {interface
setcfg wlan0 0.0.0.0 0 [down]} failed with code 400 : {Failed to set
address (No such device)}
E/WifiHW ( 1146): Cannot open "/system/etc/wifi/wpa_supplicant.conf":
No such file or directory
E/WifiHW ( 1146): Wi-Fi will not be enabled
E/WifiStateMachine( 1146): Failed to start supplicant!
[ 49.792060] init: no such service 'dhcpcd_sit0'
W/EthernetStateMachine( 1146): Could not stop DHCP
I/EthernetSta[ 54.808940] init: no such service 'dhcpcd_sit0:-h
android-49740c444506a674 sit0'
teMachine( 1146): trigger dhcp for device sit0
I/SystemServer( 1146): Throttle Service
D/EthernetStateMachine( 1146): DhcpHandler: DHCP request started
I/SystemServer( 1146): Mount Service
E/EthernetStateMachine( 1146): DhcpHandler: DHCP request failed: Timed
out waiting for dhcpcd to start
I/Process ( 1146): Sending signal. PID: 1307 SIG: 3
*******init.rc*********
chmod 0770 /system/etc/wifi
chmod 0660 /system/etc/wifi/wpa_supplicant.conf
chmod 0777 /system/etc/dhcpd/dhcpd.conf
chown dhcp dhcp /system/etc/dhcpcd
chown dhcp dhcp /system/etc/dhcpcd/dhcpcd.conf
chmod 0775 /system/etc/dhcpcd/dhcpcd-run-hooks
mkdir /data/local 0771 shell shell
chown dhcp dhcp /system/etc/dhcpcd/dhcpcd-run-hooks
chown dhcp dhcp /system/etc/dhcpcd/dhcpcd-hooks
chown wifi wifi /system/etc/wifi/wpa_supplicant.conf
#wpa_supplicant control socket for android wifi.c (android private
socket)
mkdir /data/misc/wifi 0770 wifi wifi
mkdir /data/misc/wifi/sockets 0770 wifi wifi
chmod 0770 /data/misc/wifi
chmod 0770 /data/misc/wifi/wpa_supplicant.conf
chown wifi wifi /data/misc/wifi
chown wifi wifi /data/misc/wifi/wpa_supplicant.conf
chown wifi wifi /system/release/wifi_settings.cfg
mkdir /data/system/wpa_supplicant 0777 wifi wifi
chmod 0777 /data/system/wpa_supplicant
chown wifi wifi /data/system/wpa_supplicant
# Setup paths used for socket communication with the dhcp
daemon(dhcpd)
mkdir /data/misc/dhcpcd 0770 dhcp dhcp
chown dhcp dhcp /data/misc/dhcpcd
mkdir /data/misc/dhcp 0770 dhcp dhcp
chown dhcp dhcp /data/misc/dhcp
service dhcpcd_eth0 /system/bin/dhcpcd -dABKL
class main
group dhcp
disabled
oneshot
service dhcpcd_wlan0 /system/bin/logwrapper /system/bin/dhcpcd -dd -B
wlan0
disabled
oneshot
Thanks
Swaraj