Group: Hardware/History/Proprietary G1 files
(→Notes on what is proprietary in the G1 drivers or system(not the applications)) |
m (GNUtoo moved page Group:Hardware/history/Proprietary G1 files to Group:Hardware/History/Proprietary G1 files: fix typo) |
||
(11 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
==Notes on what is proprietary in the G1 drivers or system(not the applications)== | ==Notes on what is proprietary in the G1 drivers or system(not the applications)== | ||
− | I found that howto: http://source.android.com/documentation/building-for-dream,and I've followed part of it,at a point it tells that: | + | |
+ | The following infos, although correct, are only valid for [[Android]] 1.5. Up to date infos for newer versions of Android (up to 2.2) are available on the [[Replicant]] project wiki: | ||
+ | * http://trac.osuosl.org/trac/replicant/wiki/ProprietaryHtcDreamLibsReplacement | ||
+ | |||
+ | This page contains a detailed table with the non-free low level-related components that are used with the HTC Dream/G1/ADP1, the use of each component and infos about whether the component is crucial, can be avoided or has already been replaced. | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | |||
+ | I found that howto: [http://source.android.com/documentation/building-for-dream http://source.android.com/documentation/building-for-dream],and I've followed part of it,at a point it tells that: | ||
5. in vendor/htc/dream/ there is a script that must be run (from that directory) to extract some proprietary binaries from your device. | 5. in vendor/htc/dream/ there is a script that must be run (from that directory) to extract some proprietary binaries from your device. | ||
+ | Here's what I found: | ||
+ | android@port4 ~/freedroid/vendor/htc/dream $ pwd | ||
+ | /home/android/freedroid/vendor/htc/dream | ||
+ | android@port4 ~/freedroid/vendor/htc/dream $ ls | ||
+ | AndroidBoard.mk apns.xml extract-files.sh htc_dream.mk kernel README.txt trout-keypad-qwertz.kcm trout-keypad-v3.kcm vold.conf | ||
+ | AndroidProducts.mk BoardConfig.mk h2w_headset.kl init.trout.rc kernel.version system.prop trout-keypad-qwertz.kl trout-keypad-v3.kl wlan.ko | ||
+ | android@port4 ~/freedroid/vendor/htc/dream $ vim AndroidBoard.mk | ||
+ | android@port4 ~/freedroid/vendor/htc/dream $ cat README.txt | ||
+ | |||
+ | ---- build configuration ---- | ||
+ | |||
+ | You can configure to build for HTC Dream (aka T-Mobile G1) by putting | ||
+ | the following in your buildspec.mk file at the root of the source tree: | ||
+ | |||
+ | TARGET_PRODUCT := htc_dream | ||
+ | |||
+ | If you wish to override the included prebuilt kernel image, add: | ||
+ | |||
+ | TARGET_PREBUILD_KERNEL := /path/to/kernel/arch/arm/boot/zImage | ||
+ | |||
+ | ---- proprietary files ---- | ||
+ | |||
+ | The HTC Dream device includes a small number of proprietary binary | ||
+ | files that are necessary for Android to work correctly on it. | ||
+ | |||
+ | They can be obtained from your Dream device by running the | ||
+ | extract-files.sh script in this directory. It will create the | ||
+ | proprietary subdirectory, and use adb (which will need to be in | ||
+ | your path) to copy the files from your device. You will need to | ||
+ | enable USB Debugging (under Settings/Applications/Development) | ||
+ | for this to work. | ||
+ | |||
+ | android@port4 ~/freedroid/vendor/htc/dream $ cat extract-files.sh | ||
+ | #!/bin/sh | ||
+ | |||
+ | mkdir -p proprietary | ||
+ | adb pull /system/etc/AudioFilter.csv proprietary/AudioFilter.csv | ||
+ | adb pull /system/etc/AudioPara4.csv proprietary/AudioPara4.csv | ||
+ | adb pull /system/etc/gps.conf proprietary/gps.conf | ||
+ | adb pull /system/etc/firmware/brf6300.bin proprietary/brf6300.bin | ||
+ | adb pull /system/bin/akmd proprietary/akmd | ||
+ | adb pull /system/lib/libhtc_ril.so proprietary/libhtc_ril.so | ||
+ | adb pull /system/lib/libaudioeq.so proprietary/libaudioeq.so | ||
+ | adb pull /system/lib/libqcamera.so proprietary/libqcamera.so | ||
+ | adb pull /system/lib/libgps.so proprietary/libgps.so | ||
+ | adb pull /system/lib/libhgl.so proprietary/libhgl.so | ||
+ | chmod 755 proprietary/akmd | ||
+ | |||
+ | adb pull /system/etc/wifi/Fw1251r1c.bin proprietary/Fw1251r1c.bin | ||
+ | adb pull /system/etc/wifi/tiwlan.ini proprietary/tiwlan.ini | ||
+ | |||
+ | |||
+ | android@port4 ~/freedroid/vendor/htc/dream $ cat AndroidBoard.mk | ||
+ | LOCAL_PATH := $(call my-dir) | ||
+ | |||
+ | # kernel binary | ||
+ | # | ||
+ | ifeq ($(TARGET_PREBUILT_KERNEL),) | ||
+ | TARGET_PREBUILT_KERNEL := $(LOCAL_PATH)/kernel | ||
+ | endif | ||
+ | |||
+ | file := $(INSTALLED_KERNEL_TARGET) | ||
+ | ALL_PREBUILT += $(file) | ||
+ | $(file): $(TARGET_PREBUILT_KERNEL) | $(ACP) | ||
+ | $(transform-prebuilt-to-target) | ||
+ | |||
+ | # keyboard layouts | ||
+ | # | ||
+ | PRODUCT_COPY_FILES += \ | ||
+ | $(LOCAL_PATH)/trout-keypad-v3.kl:system/usr/keylayout/trout-keypad-v3.kl \ | ||
+ | $(LOCAL_PATH)/trout-keypad-qwertz.kl:system/usr/keylayout/trout-keypad-qwertz.kl \ | ||
+ | $(LOCAL_PATH)/h2w_headset.kl:system/usr/keylayout/h2w_headset.kl | ||
+ | |||
+ | # default apns list | ||
+ | # | ||
+ | PRODUCT_COPY_FILES += \ | ||
+ | vendor/htc/dream/apns.xml:system/etc/apns-conf.xml | ||
+ | |||
+ | # keyboard maps | ||
+ | # | ||
+ | include $(CLEAR_VARS) | ||
+ | LOCAL_SRC_FILES := trout-keypad-v3.kcm | ||
+ | include $(BUILD_KEY_CHAR_MAP) | ||
+ | |||
+ | include $(CLEAR_VARS) | ||
+ | LOCAL_SRC_FILES := trout-keypad-qwertz.kcm | ||
+ | include $(BUILD_KEY_CHAR_MAP) | ||
+ | |||
+ | # board specific init.rc | ||
+ | # | ||
+ | PRODUCT_COPY_FILES += \ | ||
+ | $(LOCAL_PATH)/init.trout.rc:root/init.trout.rc | ||
+ | |||
+ | # prebuilt wifi driver | ||
+ | # | ||
+ | PRODUCT_COPY_FILES += \ | ||
+ | $(LOCAL_PATH)/wlan.ko:system/lib/modules/wlan.ko | ||
+ | |||
+ | # vold.conf | ||
+ | # | ||
+ | # | ||
+ | PRODUCT_COPY_FILES += \ | ||
+ | $(LOCAL_PATH)/vold.conf:system/etc/vold.conf | ||
+ | |||
+ | # htc proprietary code | ||
+ | # | ||
+ | proprietary := $(LOCAL_PATH)/proprietary | ||
+ | |||
+ | PRODUCT_COPY_FILES += \ | ||
+ | $(proprietary)/libhtc_ril.so:system/lib/libhtc_ril.so \ | ||
+ | $(proprietary)/libaudioeq.so:system/lib/libaudioeq.so \ | ||
+ | $(proprietary)/libqcamera.so:system/lib/libqcamera.so \ | ||
+ | $(proprietary)/libgps.so:obj/lib/libgps.so \ | ||
+ | $(proprietary)/libgps.so:system/lib/libgps.so \ | ||
+ | $(proprietary)/libhgl.so:system/lib/libhgl.so \ | ||
+ | $(proprietary)/brf6300.bin:system/etc/firmware/brf6300.bin \ | ||
+ | $(proprietary)/akmd:system/bin/akmd \ | ||
+ | $(proprietary)/AudioFilter.csv:system/etc/AudioFilter.csv | ||
+ | |||
+ | PRODUCT_COPY_FILES += \ | ||
+ | $(proprietary)/AudioPara4.csv:system/etc/AudioPara4.csv \ | ||
+ | $(proprietary)/gps.conf:system/etc/gps.conf | ||
+ | |||
+ | PRODUCT_COPY_FILES += \ | ||
+ | $(proprietary)/tiwlan.ini:system/etc/wifi/tiwlan.ini \ | ||
+ | $(proprietary)/Fw1251r1c.bin:system/etc/wifi/Fw1251r1c.bin | ||
+ | |||
+ | here are the file command on the extracted proprietary files: | ||
+ | akmd: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), stripped | ||
+ | AudioFilter.csv: ASCII text, with very long lines, with CRLF line terminators | ||
+ | AudioPara4.csv: ASCII text, with very long lines | ||
+ | brf6300.bin: data | ||
+ | Fw1251r1c.bin: data | ||
+ | gps.conf: ASCII text | ||
+ | libaudioeq.so: ELF 32-bit LSB shared object, ARM, version 1 (SYSV), not stripped | ||
+ | libgps.so: ELF 32-bit LSB shared object, ARM, version 1 (SYSV), stripped | ||
+ | libhgl.so: ELF 32-bit LSB shared object, ARM, version 1 (SYSV), stripped | ||
+ | libhtc_ril.so: ELF 32-bit LSB shared object, ARM, version 1 (SYSV), stripped | ||
+ | libqcamera.so: ELF 32-bit LSB shared object, ARM, version 1 (SYSV), stripped | ||
+ | tiwlan.ini: ASCII English text, with very long lines | ||
+ | |||
+ | *akmd -> compas/acceleratomethers [1] | ||
+ | *libgps.so -> gps | ||
+ | *libhtc_ril.so -> telephony [2] | ||
+ | *libhgl.so -> 3D opengl ES driver | ||
+ | [1]http://www.telesphoreo.org/pipermail/g1-hackers/2009-January/000495.html <br /> | ||
+ | [2]http://www.kandroid.org/android_pdk/telephony.html#androidTelephonyRILImplementing <br /> | ||
+ | [3]https://review.source.android.com/Gerrit#change,10501 <br /> | ||
+ | |||
+ | [[Category:Hardware]] |
Latest revision as of 22:39, 11 October 2019
Notes on what is proprietary in the G1 drivers or system(not the applications)
The following infos, although correct, are only valid for Android 1.5. Up to date infos for newer versions of Android (up to 2.2) are available on the Replicant project wiki:
This page contains a detailed table with the non-free low level-related components that are used with the HTC Dream/G1/ADP1, the use of each component and infos about whether the component is crucial, can be avoided or has already been replaced.
I found that howto: http://source.android.com/documentation/building-for-dream,and I've followed part of it,at a point it tells that:
5. in vendor/htc/dream/ there is a script that must be run (from that directory) to extract some proprietary binaries from your device.
Here's what I found:
android@port4 ~/freedroid/vendor/htc/dream $ pwd /home/android/freedroid/vendor/htc/dream android@port4 ~/freedroid/vendor/htc/dream $ ls AndroidBoard.mk apns.xml extract-files.sh htc_dream.mk kernel README.txt trout-keypad-qwertz.kcm trout-keypad-v3.kcm vold.conf AndroidProducts.mk BoardConfig.mk h2w_headset.kl init.trout.rc kernel.version system.prop trout-keypad-qwertz.kl trout-keypad-v3.kl wlan.ko android@port4 ~/freedroid/vendor/htc/dream $ vim AndroidBoard.mk android@port4 ~/freedroid/vendor/htc/dream $ cat README.txt ---- build configuration ---- You can configure to build for HTC Dream (aka T-Mobile G1) by putting the following in your buildspec.mk file at the root of the source tree: TARGET_PRODUCT := htc_dream If you wish to override the included prebuilt kernel image, add: TARGET_PREBUILD_KERNEL := /path/to/kernel/arch/arm/boot/zImage ---- proprietary files ---- The HTC Dream device includes a small number of proprietary binary files that are necessary for Android to work correctly on it. They can be obtained from your Dream device by running the extract-files.sh script in this directory. It will create the proprietary subdirectory, and use adb (which will need to be in your path) to copy the files from your device. You will need to enable USB Debugging (under Settings/Applications/Development) for this to work. android@port4 ~/freedroid/vendor/htc/dream $ cat extract-files.sh #!/bin/sh mkdir -p proprietary adb pull /system/etc/AudioFilter.csv proprietary/AudioFilter.csv adb pull /system/etc/AudioPara4.csv proprietary/AudioPara4.csv adb pull /system/etc/gps.conf proprietary/gps.conf adb pull /system/etc/firmware/brf6300.bin proprietary/brf6300.bin adb pull /system/bin/akmd proprietary/akmd adb pull /system/lib/libhtc_ril.so proprietary/libhtc_ril.so adb pull /system/lib/libaudioeq.so proprietary/libaudioeq.so adb pull /system/lib/libqcamera.so proprietary/libqcamera.so adb pull /system/lib/libgps.so proprietary/libgps.so adb pull /system/lib/libhgl.so proprietary/libhgl.so chmod 755 proprietary/akmd adb pull /system/etc/wifi/Fw1251r1c.bin proprietary/Fw1251r1c.bin adb pull /system/etc/wifi/tiwlan.ini proprietary/tiwlan.ini android@port4 ~/freedroid/vendor/htc/dream $ cat AndroidBoard.mk LOCAL_PATH := $(call my-dir) # kernel binary # ifeq ($(TARGET_PREBUILT_KERNEL),) TARGET_PREBUILT_KERNEL := $(LOCAL_PATH)/kernel endif file := $(INSTALLED_KERNEL_TARGET) ALL_PREBUILT += $(file) $(file): $(TARGET_PREBUILT_KERNEL) | $(ACP) $(transform-prebuilt-to-target) # keyboard layouts # PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/trout-keypad-v3.kl:system/usr/keylayout/trout-keypad-v3.kl \ $(LOCAL_PATH)/trout-keypad-qwertz.kl:system/usr/keylayout/trout-keypad-qwertz.kl \ $(LOCAL_PATH)/h2w_headset.kl:system/usr/keylayout/h2w_headset.kl # default apns list # PRODUCT_COPY_FILES += \ vendor/htc/dream/apns.xml:system/etc/apns-conf.xml # keyboard maps # include $(CLEAR_VARS) LOCAL_SRC_FILES := trout-keypad-v3.kcm include $(BUILD_KEY_CHAR_MAP) include $(CLEAR_VARS) LOCAL_SRC_FILES := trout-keypad-qwertz.kcm include $(BUILD_KEY_CHAR_MAP) # board specific init.rc # PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/init.trout.rc:root/init.trout.rc # prebuilt wifi driver # PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/wlan.ko:system/lib/modules/wlan.ko # vold.conf # # PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/vold.conf:system/etc/vold.conf # htc proprietary code # proprietary := $(LOCAL_PATH)/proprietary PRODUCT_COPY_FILES += \ $(proprietary)/libhtc_ril.so:system/lib/libhtc_ril.so \ $(proprietary)/libaudioeq.so:system/lib/libaudioeq.so \ $(proprietary)/libqcamera.so:system/lib/libqcamera.so \ $(proprietary)/libgps.so:obj/lib/libgps.so \ $(proprietary)/libgps.so:system/lib/libgps.so \ $(proprietary)/libhgl.so:system/lib/libhgl.so \ $(proprietary)/brf6300.bin:system/etc/firmware/brf6300.bin \ $(proprietary)/akmd:system/bin/akmd \ $(proprietary)/AudioFilter.csv:system/etc/AudioFilter.csv PRODUCT_COPY_FILES += \ $(proprietary)/AudioPara4.csv:system/etc/AudioPara4.csv \ $(proprietary)/gps.conf:system/etc/gps.conf PRODUCT_COPY_FILES += \ $(proprietary)/tiwlan.ini:system/etc/wifi/tiwlan.ini \ $(proprietary)/Fw1251r1c.bin:system/etc/wifi/Fw1251r1c.bin
here are the file command on the extracted proprietary files:
akmd: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), stripped AudioFilter.csv: ASCII text, with very long lines, with CRLF line terminators AudioPara4.csv: ASCII text, with very long lines brf6300.bin: data Fw1251r1c.bin: data gps.conf: ASCII text libaudioeq.so: ELF 32-bit LSB shared object, ARM, version 1 (SYSV), not stripped libgps.so: ELF 32-bit LSB shared object, ARM, version 1 (SYSV), stripped libhgl.so: ELF 32-bit LSB shared object, ARM, version 1 (SYSV), stripped libhtc_ril.so: ELF 32-bit LSB shared object, ARM, version 1 (SYSV), stripped libqcamera.so: ELF 32-bit LSB shared object, ARM, version 1 (SYSV), stripped tiwlan.ini: ASCII English text, with very long lines
- akmd -> compas/acceleratomethers [1]
- libgps.so -> gps
- libhtc_ril.so -> telephony [2]
- libhgl.so -> 3D opengl ES driver
[1]http://www.telesphoreo.org/pipermail/g1-hackers/2009-January/000495.html
[2]http://www.kandroid.org/android_pdk/telephony.html#androidTelephonyRILImplementing
[3]https://review.source.android.com/Gerrit#change,10501