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
