Hi Thomas!

Thanks for the detailed reply and instructions!

I have an Android 4.2.2 SDK which includes the Android sources and proprietary 
binaries for my target device - an Allwinner A20 HDMI dongle/stick. 

I looked over this guide and this is what I started doing after finally 
discovering the Nexus 4 was based off of 4.2.2 :)

I'm wondering if its better to proceed with building B2G against the SDK vs. 
AOSP and applying patches?

Best,
Sri

On Oct 17, 2013, at 19:02, Thomas Tsai <[email protected]> wrote:

> You can refer to the following repos based on aosp4.2.2 and allwinner A31
> https://docs.google.com/a/mozilla.com/document/d/1-SL_YsVzPkRybw-1FyiVWpMuxSWSjig3gzID11VPMRE/edit
> 1. https://bitbucket.org/thomastsai/a31-b2g
> branch:aosp-4.2.2
> 2. https://bitbucket.org/thomastsai/a31-b2g-manifest
> branch:aosp-4.2.2
> 3. https://bitbucket.org/thomastsai/a31-platform-build
> But you can't get the whole repos for allwinner's proprietary patch.
> 
> Instead, Based on Nexus4 jb4.2.2:
> 1.$ git clone [email protected]:thomastsai/a31-b2g.git -b nexus-4-jb4.2.2_r1
> 2.$./config.sh nexus-4
> 3../build.sh
> You will have whole nexus4 jb4.2.2.
> 
> Best Regards,
> Thomas Tsai
> From: "sriakhil gogineni" <[email protected]>
> To: [email protected]
> Sent: Friday, October 18, 2013 4:40:48 AM
> Subject: [b2g] Port B2G to an Allwinner A20 device
> 
> Hi I'm trying to port B2G to an Allwinner A20 device.
> 
> I've taken a look at the following:
> 
> https://wiki.mozilla.org/B2G/Porting
> https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Porting
> 
> I currently have a working Android 4.2.2 build tree and can produce working 
> boot.img, system.img, and recovery.img to flash onto the device.
> 
> For porting B2G to this device:
> I have: 
> - taken the manifest.xml from the Android 4.2.2 build and added the b2g and 
> gaia repos. 
> - copied the device tree (device/softwinner/{device,device-common,etc..}) 
> into the B2G folder.
> - Run ./repo sync
> - Added the manifest to ./configure.sh and ran it successfully
> 
> 
> Now attempting to run: ./build.sh  -- I'm encountering the following build 
> error:
> 
> ============================================
> build/core/base_rules.mk:82: *** Module name: bionic-unit-tests
> build/core/base_rules.mk:83: *** Makefile location: bionic/tests
> build/core/base_rules.mk:84: *
> build/core/base_rules.mk:85: * Each module must use a LOCAL_MODULE_TAGS in its
> build/core/base_rules.mk:86: * Android.mk. Possible tags declared by a module:
> build/core/base_rules.mk:87: *
> build/core/base_rules.mk:88: *     optional, debug, eng, tests, samples
> build/core/base_rules.mk:89: *
> build/core/base_rules.mk:90: * If the module is expected to be in all builds
> build/core/base_rules.mk:91: * of a product, then it should use the
> build/core/base_rules.mk:92: * "optional" tag:
> build/core/base_rules.mk:93: *
> build/core/base_rules.mk:94: *    Add "LOCAL_MODULE_TAGS := optional" in the
> build/core/base_rules.mk:95: *    Android.mk for the affected module, and add
> build/core/base_rules.mk:96: *    the LOCAL_MODULE value for that component
> build/core/base_rules.mk:97: *    into the PRODUCT_PACKAGES section of product
> build/core/base_rules.mk:98: *    makefile(s) where it's necessary, if
> build/core/base_rules.mk:99: *    appropriate.
> build/core/base_rules.mk:100: *
> build/core/base_rules.mk:101: * If the component should be in EVERY build of 
> ALL
> build/core/base_rules.mk:102: * products, then add its LOCAL_MODULE value to 
> the
> build/core/base_rules.mk:103: * PRODUCT_PACKAGES section of
> build/core/base_rules.mk:104: * build/target/product/core.mk
> build/core/base_rules.mk:105: *
> build/core/base_rules.mk:106: *** user tag detected on new module - user tags 
> are only supported on legacy modules.  Stop.
> 
> Does anyone have any ideas on how to proceed?
> 
> I've attached my manifest below for reference.
> 
> a20.xml
> --------------------------------------
> <?xml version="1.0" encoding="UTF-8"?>
> <manifest>
> 
>   <remote  name="homlet"
>            fetch="~/A20-dev/android" />
>   <remote name="b2g"
>           fetch="git://github.com/mozilla-b2g/" />
>   <remote name="mozilla"
>           fetch="git://github.com/mozilla/" />
>   <remote name="mozillaorg"
>       fetch="https://git.mozilla.org/releases"; />
>   <remote name="apitrace" fetch="git://github.com/apitrace/" />
>   <default revision="develop"
>            remote="homlet"
>            sync-j="4" />
> 
>   <!-- Gonk specific things and forks -->
>   <project path="build" name="platform_build" remote="b2g" revision="master">
>     <copyfile src="core/root.mk" dest="Makefile" />
>   </project>
>   <project path="dalvik" name="fake-dalvik" remote="b2g" revision="master" />
>   <project path="gaia" name="gaia.git" remote="mozillaorg" revision="master" 
> />
>   <project path="gecko" name="gecko.git" remote="mozillaorg" 
> revision="master" />
>   <project path="gonk-misc" name="gonk-misc" remote="b2g" revision="master" />
>   <project path="rilproxy" name="rilproxy" remote="b2g" revision="master" />
>   <project path="external/moztt" name="moztt" remote="b2g" revision="master" 
> />
>   <project path="external/apitrace" name="apitrace" remote="apitrace" 
> revision="master" />
> 
>   <project path="abi/cpp" name="platform/abi/cpp" />
>   <project path="bionic" name="platform/bionic" />
>   <project path="bootable/bootloader/legacy" 
> name="platform/bootable/bootloader/legacy" />
>   <project path="bootable/diskinstaller" 
> name="platform/bootable/diskinstaller" />
>   <project path="bootable/recovery" name="platform/bootable/recovery" />
>   <project path="cts" name="platform/cts" />
>   <project path="dalvik" name="platform/dalvik" />
>   <project path="development" name="platform/development" />
>   <project path="device/asus/grouper" name="device/asus/grouper" 
> groups="device" />
>   <project path="device/asus/tilapia" name="device/asus/tilapia" 
> groups="device" />
>   <project path="device/common" name="device/common" />
>   <project path="device/generic/armv7-a-neon" 
> name="device/generic/armv7-a-neon" />
>   <project path="device/generic/armv7-a" name="device/generic/armv7-a" />
>   <project path="device/generic/common" name="device/generic/common" />
>   <project path="device/generic/goldfish" name="device/generic/goldfish" />
>   <project path="device/generic/mips" name="device/generic/mips" />
>   <project path="device/generic/x86" name="device/generic/x86" />
>   <project path="device/google/accessory/arduino" 
> name="device/google/accessory/arduino" groups="device" />
>   <project path="device/google/accessory/demokit" 
> name="device/google/accessory/demokit" groups="device" />
>   <project path="device/sample" name="device/sample" />
>     <project path="external/aac" name="platform/external/aac" />
>   <project path="external/bluetooth/bluedroid" 
> name="platform/external/bluetooth/bluedroid" />
>   <project path="external/bsdiff" name="platform/external/bsdiff" />
>   <project path="external/bzip2" name="platform/external/bzip2" />
>   <project path="external/cibu-fonts" name="platform/external/cibu-fonts" />
>   <project path="external/dbus" name="platform/external/dbus" />
>   <project path="external/dhcpcd" name="platform/external/dhcpcd" />
>   <project path="external/dnsmasq" name="platform/external/dnsmasq" />
>   <project path="external/elfcopy" name="platform_external_elfcopy" 
> remote="b2g" revision="master" />
>   <project path="external/elfutils" name="platform_external_elfutils" 
> remote="b2g" revision="master" />
>   <project path="external/expat" name="platform/external/expat" />
>   <project path="external/fdlibm" name="platform/external/fdlibm" />
>   <project path="external/flac" name="platform/external/flac" />
>   <project path="external/freetype" name="platform/external/freetype" />
>   <project path="external/giflib" name="platform/external/giflib" />
>   <project path="external/gtest" name="platform/external/gtest" />
>   <project path="external/harfbuzz" name="platform/external/harfbuzz" />
>   <project path="external/icu4c" name="platform/external/icu4c" />
>   <project path="external/iproute2" name="platform/external/iproute2" />
>   <project path="external/iptables" name="platform/external/iptables" />
>   <project path="external/jpeg" name="platform/external/jpeg" />
>   <project path="external/libcap-ng" name="platform/external/libcap-ng" />
>   <project path="external/libffi" name="platform/external/libffi" />
>   <project path="external/libgsm" name="platform/external/libgsm" />
>   <project path="external/liblzf" name="platform/external/liblzf" />
>   <project path="external/libmtp" name="platform/external/libmtp" />
>   <project path="external/libnfc-nxp" name="platform/external/libnfc-nxp" />
>   <project path="external/libnl-headers" 
> name="platform/external/libnl-headers" />
>   <project path="external/libogg" name="platform/external/libogg" />
>   <project path="external/libpng" name="platform/external/libpng" />
>   <project path="external/libusb" name="platform/external/libusb" />
>   <project path="external/libusb-compat" 
> name="platform/external/libusb-compat" />
>   <project path="external/libvorbis" name="platform/external/libvorbis" />
>   <project path="external/libvpx" name="platform/external/libvpx" />
>   <project path="external/libxml2" name="platform/external/libxml2" />
>   <project path="external/libxslt" name="platform/external/libxslt" />
>   <project path="external/libyuv" name="platform/external/libyuv" />
>   <project path="external/lohit-fonts" name="platform/external/lohit-fonts" />
>   <project path="external/mdnsresponder" 
> name="platform/external/mdnsresponder" />
>   <project path="external/mksh" name="platform/external/mksh" />
>   <project path="external/mockwebserver" 
> name="platform/external/mockwebserver" />
>   <project path="external/openssl" name="platform/external/openssl" />
>   <project path="external/ping" name="platform/external/ping" />
>   <project path="external/ping6" name="platform/external/ping6" />
>   <project path="external/protobuf" name="platform/external/protobuf" />
>   <project path="external/safe-iop" name="platform/external/safe-iop" />
>   <project path="external/sepolicy" name="platform/external/sepolicy" />
>   <project path="external/sonivox" name="platform/external/sonivox" />
>   <project path="external/speex" name="platform/external/speex" />
>   <project path="external/sqlite" name="platform/external/sqlite" />
>   <project path="external/stlport" name="platform/external/stlport" />
>   <project path="external/strace" name="platform/external/strace" />
>   <project path="external/svox" name="platform/external/svox" />
>   <project path="external/tagsoup" name="platform/external/tagsoup" />
>   <project path="external/tinyalsa" name="platform/external/tinyalsa" />
>   <project path="external/tremolo" name="platform/external/tremolo" />
>   <project path="external/webp" name="platform/external/webp" />
>   <project path="external/webrtc" name="platform/external/webrtc" />
>   <project path="external/wpa_supplicant_6" 
> name="platform/external/wpa_supplicant_6" />
>   <project path="external/wpa_supplicant_8" 
> name="platform/external/wpa_supplicant_8" />
>   <project path="external/yaffs2" name="platform/external/yaffs2" />
>   <project path="external/zlib" name="platform/external/zlib" />
>   <project path="frameworks/av" name="platform/frameworks/av" />
>   <project path="frameworks/base" name="platform/frameworks/base" />
>   <project path="frameworks/opt/emoji" name="platform/frameworks/opt/emoji" />
>   <project path="frameworks/support" name="platform/frameworks/support" />
>   <project path="hardware/libhardware" name="platform/hardware/libhardware" />
>   <project path="hardware/libhardware_legacy" 
> name="platform/hardware/libhardware_legacy" />
>   <project path="hardware/ril" name="platform/hardware/ril" />
>   <project path="libcore" name="platform/libcore" />
>   <project path="ndk" name="platform/ndk" />
>   <project path="packages/providers/ApplicationsProvider" 
> name="platform/packages/providers/ApplicationsProvider" />
>   <project path="packages/providers/DrmProvider" 
> name="platform/packages/providers/DrmProvider" />
>   <project path="packages/providers/MediaProvider" 
> name="platform/packages/providers/MediaProvider" />
>   <project path="system/bluetooth" name="platform/system/bluetooth" />
>   <project path="system/core" name="platform/system/core" />
>   <project path="system/extras" name="platform/system/extras" />
>   <project path="system/media" name="platform/system/media" />
>   <project path="system/netd" name="platform/system/netd" />
>   <project path="system/vold" name="platform/system/vold" />
>   <project path="tools/build" name="platform/tools/build" groups="toolsbuild" 
> />
>   <project path="tools/motodev" name="platform/tools/motodev" />
> 
>   <!-- Allwinner things -->
>   <project path="device/softwinner/common" name="device/softwinner/common" />
>   <project path="device/softwinner/wing-common" 
> name="device/softwinner/wing-common" />
>   <project path="device/softwinner/wing-evb-v10" 
> name="device/softwinner/wing-evb-v10" />
>   <project path="device/softwinner/sugar-evb" 
> name="device/softwinner/sugar-evb" />
>   <project path="device/softwinner/sugar-ref001" 
> name="device/softwinner/sugar-ref001" />
> 
>   <project path="hardware/broadcom/wlan" 
> name="platform/hardware/broadcom/wlan" />
>   <project path="hardware/aw" name="platform/hardware/aw" />
>   <project path="packages/experimental" name="platform/packages/experimental" 
> />
> 
> </manifest>
> _______________________________________________
> dev-b2g mailing list
> [email protected]
> https://lists.mozilla.org/listinfo/dev-b2g
> 
_______________________________________________
dev-b2g mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-b2g

Reply via email to