Monday 4 February 2019

Android Nougat 7.1.1 boot up on Beaglebone Black

Finally got Android Nougat 7.1.1 boot up on my Beaglebone black. I am not sure whether it is a fluke or for real as I have to replicate it again with a rebuild.

I had removed all the different PRODUCT_PROPERTY_OVERRIDES because of one service complaining about another service not being present. One last thing I removed was config.disable_noncore=true. Now I re-enabled the same and built the whole thing up. I will update the results soon.

*Update*: Tried adding config.disable_noncore and it starts crashing. Did a make clean and rebuilt by removing config.disable_noncore and it started working.
 

Also I bought a new set of microSD cards which are class 10 and is much faster than the previous crappy microSD cards. Let me see if they made a difference. 

*Update*: Yes they make a difference. They are faster to write and it is faster for the overall system too.

There is still a crash which I saw in the first boot which is IpManager.eth0 which was plaguing before.  Leaving the system just like that manages to start the system even though there is a single set of kills of audioserver, cameraserver, media, netd but it recovers. This problem I think I will have to try fixing it. Doing a simple cursory search shows a Linaro chat log saying it is some subtle timing bug introduced by the printing but I am not very sure about this.

A 'service list' commands gives the following services:


beagleboneblack:/ # service list
Found 112 services:
0       carrier_config: [com.android.internal.telephony.ICarrierConfigLoader]
1       phone: [com.android.internal.telephony.ITelephony]
2       isms: [com.android.internal.telephony.ISms]
3       iphonesubinfo: [com.android.internal.telephony.IPhoneSubInfo]
4       simphonebook: [com.android.internal.telephony.IIccPhoneBook]
5       telecom: [com.android.internal.telecom.ITelecomService]
6       isub: [com.android.internal.telephony.ISub]
7       contexthub_service: [android.hardware.location.IContextHubService]
8       dns_listener: [android.net.metrics.IDnsEventListener]
9       connmetrics: [android.net.IIpConnectivityMetrics]
10      connectivity_metrics_logger: [android.net.IConnectivityMetricsLogger]
11      imms: [com.android.internal.telephony.IMms]
12      media_projection: [android.media.projection.IMediaProjectionManager]
13      launcherapps: [android.content.pm.ILauncherApps]
14      shortcut: [android.content.pm.IShortcutService]
15      trust: [android.app.trust.ITrustManager]
16      media_router: [android.media.IMediaRouterService]
17      media_session: [android.media.session.ISessionManager]
18      restrictions: [android.content.IRestrictionsManager]
19      graphicsstats: [android.view.IGraphicsStats]
20      assetatlas: [android.view.IAssetAtlas]
21      dreams: [android.service.dreams.IDreamManager]
22      commontime_management: []
23      network_time_update_service: []
24      samplingprofiler: []
25      diskstats: []
26      appwidget: [com.android.internal.appwidget.IAppWidgetService]
27      soundtrigger: [com.android.internal.app.ISoundTriggerService]
28      jobscheduler: [android.app.job.IJobScheduler]
29      hardware_properties: [android.os.IHardwarePropertiesManager]
30      serial: [android.hardware.ISerialManager]
31      usb: [android.hardware.usb.IUsbManager]
32      DockObserver: []
33      audio: [android.media.IAudioService]
34      wallpaper: [android.app.IWallpaperManager]
35      dropbox: [com.android.internal.os.IDropBoxManagerService]
36      search: [android.app.ISearchManager]
37      country_detector: [android.location.ICountryDetector]
38      location: [android.location.ILocationManager]
39      devicestoragemonitor: []
40      notification: [android.app.INotificationManager]
41      recovery: [android.os.IRecoverySystem]
42      updatelock: [android.os.IUpdateLock]
43      servicediscovery: [android.net.nsd.INsdManager]
44      connectivity: [android.net.IConnectivityManager]
45      ethernet: [android.net.IEthernetManager]
46      rttmanager: [android.net.wifi.IRttManager]
47      wifiscanner: [android.net.wifi.IWifiScanner]
48      wifi: [android.net.wifi.IWifiManager]
49      wifip2p: [android.net.wifi.p2p.IWifiP2pManager]
50      netpolicy: [android.net.INetworkPolicyManager]
51      netstats: [android.net.INetworkStatsService]
52      network_score: [android.net.INetworkScoreService]
53      textservices: [com.android.internal.textservice.ITextServicesManager]
54      network_management: [android.os.INetworkManagementService]
55      clipboard: [android.content.IClipboard]
56      statusbar: [com.android.internal.statusbar.IStatusBarService]
57      device_policy: [android.app.admin.IDevicePolicyManager]
58      deviceidle: [android.os.IDeviceIdleController]
59      lock_settings: [com.android.internal.widget.ILockSettings]
60      uimode: [android.app.IUiModeManager]
61      mount: [IMountService]
62      accessibility: [android.view.accessibility.IAccessibilityManager]
63      input_method: [com.android.internal.view.IInputMethodManager]
64      pinner: []
65      vrmanager: [android.service.vr.IVrManager]
66      input: [android.hardware.input.IInputManager]
67      window: [android.view.IWindowManager]
68      alarm: [android.app.IAlarmManager]
69      consumer_ir: [android.hardware.IConsumerIrService]
70      vibrator: [android.os.IVibratorService]
71      content: [android.content.IContentService]
72      account: [android.accounts.IAccountManager]
73      media.camera.proxy: [android.hardware.ICameraServiceProxy]
74      telephony.registry: [com.android.internal.telephony.ITelephonyRegistry]
75      scheduling_policy: [android.os.ISchedulingPolicyService]
76      webviewupdate: [android.webkit.IWebViewUpdateService]
77      usagestats: [android.app.usage.IUsageStatsManager]
78      battery: []
79      sensorservice: [android.gui.SensorServer]
80      processinfo: [android.os.IProcessInfoService]
81      permission: [android.os.IPermissionController]
82      cpuinfo: []
83      dbinfo: []
84      gfxinfo: []
85      meminfo: []
86      procstats: [com.android.internal.app.procstats.IProcessStats]
87      activity: [android.app.IActivityManager]
88      user: [android.os.IUserManager]
89      otadexopt: [android.content.pm.IOtaDexopt]
90      package: [android.content.pm.IPackageManager]
91      display: [android.hardware.display.IDisplayManager]
92      power: [android.os.IPowerManager]
93      appops: [com.android.internal.app.IAppOpsService]
94      batterystats: [com.android.internal.app.IBatteryStats]
95      netd: [android.net.INetd]
96      media.resource_manager: [android.media.IResourceManagerService]
97      media.player: [android.media.IMediaPlayerService]
98      media.drm: [android.media.IMediaDrmService]
99      media.sound_trigger_hw: [android.hardware.ISoundTriggerHwService]
100     media.radio: [android.hardware.IRadioService]
101     media.audio_policy: [android.media.IAudioPolicyService]
102     media.extractor: [android.media.IMediaExtractorService]
103     media.audio_flinger: [android.media.IAudioFlinger]
104     drm.drmManager: [drm.IDrmManagerService]
105     media.camera: [android.hardware.ICameraService]
106     media.codec: [android.media.IMediaCodecService]
107     android.service.gatekeeper.IGateKeeperService: [android.service.gatekeeper.IGateKeeperService]
108     android.security.keystore: [android.security.IKeystoreService]
109     gpu: [android.ui.IGpuService]
110     SurfaceFlinger: [android.ui.ISurfaceComposer]
111     batteryproperties: [android.os.IBatteryPropertiesRegistrar]


In the mean time a screenshot to celebrate.