Add new target
OverviewThe article describes how to create a target for your own device under Android-x86. Rewritten from the e-mail Chih-wei Huang sent to android-x86 discussion group. You can find the original e-mail in https://mail.google.com/mail/?ui=2&shva=1#search/Chih-wei/125eb28a674c23e9Create a directoryFirst, you have to create a directory to hold all stuff specific for your target device.mkdir vendor/xxx/yyy
or mk
dir device/xxx/yyy
where xxx is usually the vendor's name and yyy is the product name. Historically, we used the vendor/ directory. However, Google suggested to use
device/ since Froyo. We encourage to use the new convention
device/
as AOSP does.Create makefilesAt least you have to create four makefiles in the new directory:
PRODUCT_MAKEFILES := $(LOCAL_DIR)/
yyy.mk
You have to define PRODUCT_PACKAGES, PRODUCT_NAME, PRODUCT_DEVICE in it, and call inherit-product to inherit from a product makefile. I suggest to to inherit generic_x86.mk to get all common x86 rules.
$(call inherit-product,$(SRC_TARGET_DIR)/product/generic_x86.mk)
- TARGET_HAS_THIRD_PARTY_APPS set to true if you hope to compile third party apps like ConnectBot, FileManager introduced by Android-x86. Default: false - BOARD_USES_ALSA_AUDIO Set to false if you don't want ALSA audio. Default: true. - BOARD_HAVE_BLUETOOTH If you don't need bluetooth, set it to false. Default: true. - BOARD_USES_TSLIB Set to true if you need tslib to calibrate the touchscreen. Default: false - BOARD_KERNEL_CMDLINE You can customize your cmdline (kernel boot options) - BOARD_WPA_SUPPLICANT_DRIVER Set to true if you need wifi support
$(GENERIC_X86_ANDROID_MK) - LOCAL_FIRMWARES Specify the firmwares to be included in the target. The firmwares are supposed to be already in build/target/board/generic_x86/firmware/.
You may also specify a different directory in LOCAL_FIRMWARES_DIR.
- TARGET_INITRD_SCRIPTS Specify a hook script to be added in the initrd.img. Usually the script should contain a detect_hardware function that will be called by the init script. Read eeepc_info as an implementation example. - TARGET_PREBUILT_APPS If you want to include some prebuilt apps (apk files), set them to this variable. - TARGET_KERNEL_CONFIG Specify a kernel config file for this target. If not set, the default android-x86_defconfig will be used. Besides the four makefiles, you may also add the file init.yyy.rc to do some initializations for your product The file will be included automatically if exists,and called by Android init on booting(after executing init.rc). |