Skip to content

Compiling for HTC Hero

sodnpoo edited this page Sep 13, 2010 · 10 revisions

In order to compile using this source, you must have a 2.x ROM for your device with the correct name: update-hero.zip.

The ROM should be at your AOSP root. Currently you can use either a KaguDroid rom or a HERO21 rom

Usage instructions

  1. cd to the AOSP root
  1. Edit your .repo/local_manifest.xml file as follows:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
	<remote name="github" fetch="git://github.com/" />

	<!-- Swap the qualcomm repos -->
	<remove-project name="platform/vendor/qcom/android-open" />
	<project path="platform/vendor/qcom/android-open" name="kiall/android_platform_vendor_qcom_android-open" remote="github" revision="eclair"/>
	<remove-project name="platform/vendor/qcom/proprietary-open" />
	<project path="platform/vendor/qcom/proprietary-open" name="kiall/android_platform_vendor_qcom_proprietary-open" remote="github" revision="eclair"/>

	<!-- Split system into multiple projects -->
	<remove-project name="platform/system/extras" />
	<project path="system/extras" name="cyanogen/android_system_extras" remote="github" revision="eclair"/>

	<!-- Add Superuser -->
	<project path="packages/apps/Superuser" name="cyanogen/android_packages_apps_Superuser" remote="github" revision="eclair"/>

	<!-- init.d filesystem fix, etc. -->
	<remove-project name="platform/system/core" />
	<project path="system/core" name="jnwhiteh/android_system_core" remote="github" revision="eclair"/>

	<!-- Calendar provider fix -->
	<remove-project name="platform/packages/providers/CalendarProvider" />
	<project path="packages/providers/CalendarProvider" name="jnwhiteh/android_packages_providers_CalendarProvider" remote="github" revision="eclair" />

	<!-- Build busybox from source -->
	<project path="external/busybox" name="dylex/android_external_busybox" remote="github" revision="master" />
	<remove-project name="platform/bionic"/>
	<project path="bionic" name="jnwhiteh/android_bionic" remote="github" revision="eclair"/>

	<!-- Settings for widget fixes, etc. -->
	<remove-project name="platform/packages/apps/Settings" />
	<project path="packages/apps/Settings" name="kiall/android_packages_apps_Settings" remote="github" revision="eclair"/>

	<!-- Community repo -->
	<project path="vendor/community" name="loxK/android_vendor_community" remote="github" revision="eclair" />
</manifest>

This sets up your repository to pull in the necessary bits and fixes to work properly.

  1. Run repo sync to update the repositories
  1. Run pushd vendor/community/hero && ./unzip-files.sh && popd
    to unzip proprietary files from existing rom.
  1. Run . build/envsetup.sh to setup your build environment
  1. Run lunch community_hero-userdebug or lunch community_hero-eng or lunch community_hero-user to select the right configuration
  1. Run make (or make -j4 for dual core)

Alternate busybox

As of today (23/05/10) I had to use cyanogen’s busybox forced to a specific revision. (Before ntpd was built by default.)

change:

<project path="external/busybox" name="dylex/android_external_busybox" remote="github" revision="master" />

to:

<project path="external/busybox" name="cyanogen/android_external_busybox" remote="github" revision="" />

revision should be set to:
2350701442fe3f386faa3b220ce86e1c09399853

(i don’t seem to be able to put it directly above or else github turns it into a link….)

Clone this wiki locally