ydpg18a-gb-kitchen Code
Firmware kitchen for the Yinlips YDPG18A game tablet.
Status: Beta
Brought to you by:
billzwicky
This directory holds a "kitchen" for building firmware images for the Yinlips YDP-G18A. It has been designed to do everything under Linux (where Android itself must be compiled), so only the actual flashing to a device needs to be done under Windows. I'm using WINE to some run tools under Linux. Use winetricks to install MFC42 and VCRUN6. Be sure to use download latest winetricks. winetricks mfc42 winetricks --force vcrun6 -------- How to use this kitchen: Extract an existing firmware to serve as template: ./extract_image.sh ydpg18a_stock.img Convert template to a build dir: mv _extracted _build Or make a copy to preserve it for reference: cp -a _extracted _build Tweak files under _build as desired: bootfs -> system bootup rootfs -> Linux system -> Android system/build.prop -> your personal version number NOT recovery Build new firmware: ./create_image.sh Result will be in _build/livesuit.img -------- Inventory: _build/ The new firmware to be processed by the create_* scripts. Generally you should "cp -a _extracted _build" to start. _extracted/ Files extracted from an existing firmware for use as a template for a new one. bin/ Special programs required by scripts. files/ Control files used by programs in bin. create_*.sh Scripts for putting a firmware together. extract_*.sh Scripts for taking a firmware apart. *.bat The original scripts for hacking firmware files. These are obsolete, but kept in case someone wants to rebuild them from the *.sh files. Inside _extracted and _build, you'll find the pieces from which the firmware is built: partitions/ Raw files that get "zipped" into a new firmware .img file. bootfs/ Controls initial bootup of the device. Packed into a FAT file system, as the manufacturer build system is actually a variation of their old Windows CE build system. rootfs/ Root of the underlying Linux system. system/ Root of the Android system. recovery/ Root of the recovery partition. NOT currently used by this kitchen. *.fex Partition files built from above dirs. Will replace appropriate files in 'partitions' dir. v*.fex Checksum files for the *.fex files. livesuit.img New firmware built from above pieces, ready to flash. -------- unimg.exe is not the latest; author released a newer version. However, newer version refuses to run in a VM. Don't know if the problem is Wine or VirtualBox. There appears to be an effort to reverse-engineer the tools: https://github.com/Ithamar/awutils They don't work yet, however. -------- http://forum.xda-developers.com/showpost.php?p=22401231&postcount=9 fonix232 says: I know most of the files from the flashing, they are the following: - SYS_CONFIG is used as a command bunch for LiveSuite. It tells the app how to flash, what to flash, where, and it configures the device too (screen size, ram info, cpu info, etc) - Boot0 and Boot1 bins are NAND bootloaders - FED FES and FET tools are NAND flashing utilities, checksums, hardware scanner, and other tools used during flashing. - '12345678' files are bootloaders, config files, and tools for SDMMC flashing, if there's a device with SDMMC internal instead of NAND, these are used - Split seems to be some kind of ID string, I had no luck retrieving it's usage and meaning. -------- Apparently if the files are not named *.fex, they will get encrypted. -------- Board config file "_bootfs/script.bin" can be edited: http://www.cnx-software.com/2012/05/06/editing-allwinner-a10-board-configuration-files-script-bin/ git clone https://github.com/amery/sunxi-tools -------- Adobe Flash Player: - Adobe doesn't officially support Android any more. - Nonetheless, you can still get it from them: http://helpx.adobe.com/flash-player/kb/archived-flash-player-versions.html To update firmware: - Download an apk file from under "Flash Player for Android 2.x and 3.x archives" - Rename as you see fit. - Copy into system/preinstall, and remove old version from there. -------- Differences between compiled Android and stock: Only in stock-g18a//app: GoogleQuickSearchBox.apk Only in stock-g18a//app: GoogleServicesFramework.apk ? Only in stock-g18a//app: LiveWallpapers.apk Only in stock-g18a//app: MarketEnabler.apk ? Only in stock-g18a//app: NetworkLocation.apk ? Only in compiled237//app: SoundRecorder.apk ? Only in compiled237//app: SpeechRecorder.apk ? Binary files stock-g18a//app/Term.apk and compiled237//app/Term.apk differ Only in stock-g18a//app: Vending.apk ? Only in stock-g18a//bin: chat ? Only in stock-g18a//bin: u3gmonitor < #ro.sf.lcd_density=120 Only in stock-g18a//etc: 3g_dongle.cfg MERGE diff -r stock-g18a//etc/apns-conf.xml compiled237//etc/apns-conf.xml /etc/usb_modeswitch.d Only in compiled237//lib/egl: libGLES_android.so Only in stock-g18a//lib: gdbserver Only in stock-g18a//lib/hw: display.sun4i.so Only in stock-g18a//lib/hw: gps.sun4i.so Only in stock-g18a//lib/hw: lights.sun4i.so Only in stock-g18a//lib/hw: overlay.sun4i.so Only in stock-g18a//lib: libcamera.so Only in stock-g18a//lib: libCedarA.so Only in stock-g18a//lib: libCedarX.so Only in stock-g18a//lib: libioc_jni.so Only in stock-g18a//lib: libstagefright_froyo.so Only in stock-g18a//lib: libstagefright_honeycomb.so Only in stock-g18a//media/audio/ui: Lock.ogg Only in stock-g18a//media/audio/ui: Unlock.ogg Only in stock-g18a//media: bootanimation.zip Only in stock-g18a//usr/keylayout: axp20-supplyer.kl BLOCK: Binary files stock-g18a//app/Phone.apk and compiled237//app/Phone.apk differ Binary files stock-g18a//app/TelephonyProvider.apk and compiled237//app/TelephonyProvider.apk differ