Menu

Tree [9e2219] master /
 History

HTTPS access


File Date Author Commit
 bin 2013-06-05 William R. Zwicky William R. Zwicky [6e6bca] Fix crlf, tidied up from move to sourceforge.
 files 2013-06-05 William R. Zwicky William R. Zwicky [6e6bca] Fix crlf, tidied up from move to sourceforge.
 src 2013-07-07 William R. Zwicky William R. Zwicky [9e2219] Tweaked docs
 .gitattributes 2013-06-05 William R. Zwicky William R. Zwicky [6e6bca] Fix crlf, tidied up from move to sourceforge.
 .gitignore 2013-06-05 William R. Zwicky William R. Zwicky [6e6bca] Fix crlf, tidied up from move to sourceforge.
 README 2013-07-07 William R. Zwicky William R. Zwicky [9e2219] Tweaked docs
 Yinlips 18A ROM from source.html 2013-06-05 William R. Zwicky William R. Zwicky [6e6bca] Fix crlf, tidied up from move to sourceforge.
 build.properties 2013-06-05 William R. Zwicky William R. Zwicky [6e6bca] Fix crlf, tidied up from move to sourceforge.
 build.xml 2013-06-05 William R. Zwicky William R. Zwicky [6e6bca] Fix crlf, tidied up from move to sourceforge.
 copy_kernel.sh 2013-06-05 William R. Zwicky William R. Zwicky [6e6bca] Fix crlf, tidied up from move to sourceforge.
 copy_system.sh 2013-06-05 William R. Zwicky William R. Zwicky [6e6bca] Fix crlf, tidied up from move to sourceforge.
 create_boot.sh 2013-06-05 William R. Zwicky William R. Zwicky [6e6bca] Fix crlf, tidied up from move to sourceforge.
 create_image.bat 2013-06-05 William R. Zwicky William R. Zwicky [6e6bca] Fix crlf, tidied up from move to sourceforge.
 create_image.sh 2013-06-19 William R. Zwicky William R. Zwicky [5a9113] updated docs
 extract_image.bat 2013-06-05 William R. Zwicky William R. Zwicky [6e6bca] Fix crlf, tidied up from move to sourceforge.
 extract_image.sh 2013-06-05 William R. Zwicky William R. Zwicky [6e6bca] Fix crlf, tidied up from move to sourceforge.
 loopex.sh 2013-06-19 William R. Zwicky William R. Zwicky [5a9113] updated docs
 mkloop.ext4.sh 2013-06-05 William R. Zwicky William R. Zwicky [6e6bca] Fix crlf, tidied up from move to sourceforge.

Read Me

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