Porting Guide
Overview
To rapidly support a wide range of devices, our architecture reuses some of the drivers and hardware enablement available for Android.
As a consequence, at the current images you'll find some of the Android services running at the device next to the webOS services.
For quick reference, these are the current components used from Android:
- Linux Kernel (stock Android kernel provided by the vendor, with a few changes to support some extra features needed by Ubuntu)
- OpenGL ES2.0 HAL and drivers
- Audio/Media HAL and services, to re-use the hardware video decoders
- RILD for modem support
Other than the very basic services (needed to re-use the binary blobs already available), the rest is just pure webOS goodness
Kernel configuration
We need the following kernel options:
- CONFIG_ANDROID=y
- CONFIG_ANDROID_BINDER_IPC=y
- CONFIG_ANDROID_LOGGER=y
- CONFIG_ANDROID_PARANOID_NETWORK=n
- CONFIG_HAS_WAKELOCK=n
- CONFIG_HAS_EARLYSUSPEND=n
- CONFIG_WAKELOCK=n
- CONFIG_WAKELOCK_STAT=n
- CONFIG_USER_WAKELOCK=n
- CONFIG_SYSVIPC=y
- CONFIG_DEVTMPFS=y
- CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
- CONFIG_FSNOTIFY=y
- CONFIG_DNOTIFY=y
- CONFIG_INOTIFY_USER=y
- CONFIG_FANOTIFY=y
- CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
- CONFIG_SWAP=y