[DEV][AOSP] ICS sources and build instruction for A501

Search This thread

shchers

Senior Member
Apr 11, 2011
72
20
Kiev
Well, I guess I can forget about configuring ubuntu for now :D

cygwin never could get working.

Great job on compiling and getting the link up!

RapidShare.... not so rapid ;) Probably getting flooded by all the 501 users :)

You 500 users go play with the 500 roms and stop sucking all the bandwidth!

May be you can recommend some really rapid storage for F/W?
 

paugustin

Senior Member
Dec 10, 2009
409
167
Paris
OnePlus 7
Thanks shchers for your work and for putting a compiled version online.

I'll try it as soon as I can but I cannot connect to rapidshare frome here (blocked by proxy).
 

terrormattie

Senior Member
Mar 24, 2009
288
68
Sorry for my noobness, but I understand I first have to complete step 1.1 before I can flash the precompiled build, correct? Thank you!
 

Moscow Desire

Retired Senior Moderator
May be you can recommend some really rapid storage for F/W?

Well, ever since the States killed and shut down MegaUpload, things have been slow all over most file sharing sites. I use Dev-host and 4shared.

I think 10 people started the download, but like me, I am still about 30 minutes from finishing. And trust me, these folks will give some feedback when they get it running.

Be prepared for questions, probably about the bootloader ;) Some people, are looking for a complete package (rom,bootloader, kernel/boot.img and such). A 1 time flash.

Appreciate you putting this together. Lets show some love for the 501.
 

orobin

Senior Member
Feb 9, 2006
321
19
Lyon
Hello,

thank you for this great work.

I have some question :

the source are coming from official repository of android sdk ?
modified by you to work on Acer tablet ? or you have "only" put the Acer driver ?
what about the kernel ? it use the kernel already installed on the tablet ?
does it remove th root feature ?

the bootloader you provide is created directly from the link in post #1 (I mean : do you have modified this bootloader, or just used it in state. then if we report in the original link, we can do the same thing than you ?)

it works on A501, so it works on A500 ? ( we could disable the 3G in the .prop file located in system directory ???)

thank you anyway, it is so great.

Olivier
 
Last edited:

Zatta

Inactive Recognized Developer / Contributor
Dec 22, 2010
2,177
1,222
Sneek
Unfortunately the pre-build doesn't boot on my A500 with honeycomb bootloader and thor 1.7 cwm.

Ahh, well, I had to try so thanks anyway :)

Taptalked u see
 

Zatta

Inactive Recognized Developer / Contributor
Dec 22, 2010
2,177
1,222
Sneek
Before you all go flashing away and saying it doesn't work, why don't you give a little time for the devs to put together a n00b proof solution?

Assuming you are talking to me, the alternative would be saying nothing at all. I think my version is better. As said, I'm willing to test whatever and this was my first result. I'm not complaining at all, i was just giving feedback, exactly what was asked for.
I see that package was 10 times downloaded, but no one comment:)

Taptalked u see
 
Last edited:

Moscow Desire

Retired Senior Moderator
Assuming you are talking to me, the alternative would be saying nothing at all. I think my version is better. As said, I'm willing to test whatever and this was my first result. I'm not complaining at all, i was just giving feedback, exactly what was asked for.


Taptalked u see

Dude, relax. Assume = an/ass/out of /u & me.
 
  • Like
Reactions: Zatta

DerTeufel

Member
Dec 6, 2010
37
13
Could anyone please tell me what to do with the full package?

Simply flash with CWM? Or is there anything else that needs to be done prior to flashing?

Thanks!

Sent from my A501 using XDA
 

FloatingFatMan

Senior Member
Apr 20, 2005
2,708
539
54
Could anyone please tell me what to do with the full package?

Simply flash with CWM? Or is there anything else that needs to be done prior to flashing?

Thanks!

Sent from my A501 using XDA

Well, personally... and this is just what I'd do, you understand. But personally, I'd go with following the instructions in the OP.
 

Zatta

Inactive Recognized Developer / Contributor
Dec 22, 2010
2,177
1,222
Sneek

shchers

Senior Member
Apr 11, 2011
72
20
Kiev
Guys,
Sorry for delay with answer. Now I work on package (for CWM) which will do the next:
  • Install ICS bootloader (no more need to use nvflash)
  • Install thor's recovery
  • Install Android

Answers:
Do I need to flash ICS bootloader or can I stay on HC one?
Yes, you need to install ICS bootloader

the source are coming from official repository of android sdk ?
modified by you to work on Acer tablet ? or you have "only" put the Acer driver ?
what about the kernel ? it use the kernel already installed on the tablet ?
does it remove th root feature ?
I'm not sure that I understand question. Any way...:
sources from original Google Android repo, but Ericsson MBM and Acer device part mine.
Kernel - original Acer.
Broadcom driver and NTFS driver - original Acer
Kernel and ramdisk will be updated bu boot.img

Simply flash with CWM?
If you already have installed ICS bootloader and right recovery - YES
 
  • Like
Reactions: terrormattie

macia10

Senior Member
Nov 25, 2010
445
63
Łódź
huh for me the 3G is not working it shows the signal bar but nothing is working. I've send sms to the tablet the phone received confirmation that the message was delivered but did not receive anything on the tab and net is not working also and I cannot search for networks. But when I connect to wifi it's showing me the name of the network and letter H.

EDIT:
OK after 3 reboots I have net but not sms. and HSDPA is quite slow. Dont know why.

---------- Post added at 07:16 PM ---------- Previous post was at 07:11 PM ----------

Yes, you need to install ICS bootloader

Installed on my old HC bootloader and works fine only HDSPA transfers are working like EDGE ones. Oh and I have 2 acer logos then starting


And one last thing. There is no root ;p
 
Last edited:

macia10

Senior Member
Nov 25, 2010
445
63
Łódź
I think that it's the same thing as it was with old leaks a500 cannot work with this on HC bootloader but a501 does. Probably a kernel related thing.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 8
    1. Preparing environment and building

    1.1. Installing bootloader and recovery

    This step can be done only in Windows (can be done on Linux too, but I didn't find right version of Linux nvflash):
    • Run MS Windows (tested even on Windows 7) on host PC
    • Download this package (Size=12592367 MD5=EA890A3B3E1CEDBBD820D1A798A365A2). Inside package:
      1. Windows drivers for nVidia USB device
      2. nvflash tool and required libraries
      3. Unlocked bootloader, see details here
      4. Batch for automatic update, see original batch here
    • Generate your SBK with your CPUID by this link
    • Connect tablet to PC through USB
    • Turn-off tablet
    • Press and hold reset button on tablet
    • Press power and wait until new USB device will be detected
    • Install USB drivers (can be find in package)
    • Run script run.bat and follow recommendations

    1.2. Downloading sources and building Android

    • Create directory for AOSP sources
      Code:
      mkdir aosp && cd aosp
    • Initializing repo
      Code:
      repo init -u [url]https://android.googlesource.com/platform/manifest[/url] -b ics-mr1
    • Downloading sources
      Code:
      repo sync
    • Download sources of Acer Picasso device
      Code:
      git clone git://github.com/shchers/afs_device_acer_picasso.git device/acer/picasso
    • Download sources of MBM RIL library
      Code:
      git clone git://github.com/shchers/afs_vendor_mbm_mbm-ril.git vendor/mbm/mbm-ril
    • Download sources of MBM GPS library
      Code:
      git clone git://github.com/shchers/afs_vendor_mbm_libmbm-gps.git vendor/mbm/libmbm-gps
    • Download sources of MBM GPS service
      Code:
      git clone git://github.com/shchers/afs_vendor_mbm_mbmservice.git vendor/mbm/mbmservice
    • Setting-up build environment
      Code:
      source build/envsetup.sh
    • Configuring target (Acer A500/A501 == full-picasso)
      Code:
      lunch full_picasso-userdebug
    • Building with using all available CPU cores
      Code:
      m -j`grep -c processor /proc/cpuinfo`

    2. Installing Android to device

    2.1. Updating through CWM recovery

    2.1.1. Creating update archive

    • Go to target output directory
      Code:
      cd ${ANDROID_PRODUCT_OUT}
    • Create folder for updater script. Run in console:
      Code:
      mkdir -p META-INF/com/google/android
    • Copy updater script there
      Code:
      show_progress(0.400000, 0);
      ui_print("> Formating system partition");
      format("ext4", "EMMC", "/dev/block/mmcblk0p3", "0");
      ui_print("> Mounting system partition");
      mount("ext4", "EMMC", "/dev/block/mmcblk0p3", "/system");
      ui_print("> Extracting system directory");
      package_extract_dir("system", "/system");
      ui_print("> Creating symlinks");
      show_progress(0.200000,0);
      symlink("Roboto-Bold.ttf", "/system/fonts/DroidSans-Bold.ttf");
      symlink("Roboto-Regular.ttf", "/system/fonts/DroidSans.ttf");
      symlink("mksh", "/system/bin/sh");
      symlink("toolbox",
      	"/system/bin/ls","/system/bin/mount","/system/bin/cat",
      	"/system/bin/ps","/system/bin/kill","/system/bin/ln",
      	"/system/bin/insmod","/system/bin/rmmod","/system/bin/lsmod",
      	"/system/bin/ifconfig","/system/bin/setconsole","/system/bin/rm",
      	"/system/bin/mkdir","/system/bin/rmdir","/system/bin/reboot",
      	"/system/bin/getevent","/system/bin/sendevent","/system/bin/date",
      	"/system/bin/wipe","/system/bin/sync","/system/bin/umount",
      	"/system/bin/start","/system/bin/stop","/system/bin/notify",
      	"/system/bin/cmp","/system/bin/dmesg","/system/bin/route",
      	"/system/bin/hd","/system/bin/dd","/system/bin/df",
      	"/system/bin/getprop","/system/bin/setprop","/system/bin/watchprops",
      	"/system/bin/log","/system/bin/sleep","/system/bin/renice",
      	"/system/bin/printenv","/system/bin/smd","/system/bin/chmod",
      	"/system/bin/chown","/system/bin/newfs_msdos","/system/bin/netstat",
      	"/system/bin/ioctl","/system/bin/mv","/system/bin/schedtop",
      	"/system/bin/top","/system/bin/iftop","/system/bin/id",
      	"/system/bin/uptime","/system/bin/vmstat","/system/bin/nandread",
      	"/system/bin/ionice","/system/bin/touch","/system/bin/lsof");
      ui_print("> Applying permissions");
      set_perm_recursive(0, 0, 0755, 0644, "/system");
      set_perm_recursive(0, 2000, 0755, 0755, "/system/bin");
      set_perm_recursive(0, 2000, 0755, 0755, "/system/xbin");
      set_perm_recursive(1002, 1002, 0755, 0440, "/system/etc/bluetooth");
      set_perm(0, 0, 0755, "/system/etc/bluetooth");
      set_perm(1000, 1000, 0640, "/system/etc/bluetooth/auto_pairing.conf");
      set_perm(3002, 3002, 0444, "/system/etc/bluetooth/blacklist.conf");
      set_perm(1002, 1002, 0440, "/system/etc/dbus.conf");
      set_perm(1014, 2000, 0550, "/system/etc/dhcpcd/dhcpcd-run-hooks");
      set_perm(0, 2000, 0550, "/system/etc/init.goldfish.sh");
      set_perm(0, 0, 0544, "/system/etc/install-recovery.sh");
      set_perm_recursive(0, 0, 0755, 0555, "/system/etc/ppp");
      set_perm_recursive(0, 2000, 0755, 0644, "/system/vendor");
      set_perm(0, 0, 0644, "/system/vendor/fake.txt");
      show_progress(0.200000, 10);
      package_extract_file("boot.img", "/dev/block/mmcblk0p2");
      NOTE: Don't rename file! It should be updater-script!
    • Download this archive (Size=149342 MD5=9497D5087FEF04C1EA4EE215A3DC83B8) and extract there
    • Create ZIP archive. Run in console:
      Code:
      zip -r9 full-pack.zip boot.img system META-INF
    • Generate keys. Run in console:
      Code:
      openssl genrsa -out key.pem 1024
      openssl req -new -key key.pem -out request.pem
      openssl x509 -req -days 3650 -in request.pem -signkey key.pem -out certificate.pem
      openssl pkcs8 -topk8 -outform DER -in key.pem -inform PEM -out key.pk8 -nocrypt
    • Run signing archive. Run in console:
      Code:
      java -jar ${ANDROID_HOST_OUT}/framework/signapk.jar certificate.pem key.pk8 full-pack.zip full-pack-sign.zip

    2.1.2. Using CWM recovery

    • Upload full-pack-sign.zip on FAT32 formated microSD card
    • Turn-off tabled
    • Insert microSD
    • Press Power button while hold Volume Down button
    • Release Power button when you'll see text in top left corner, some like "cleaning cache partition..."
    • From opened menu select "wipe data/factory reset"
    • Select "Yes -- delete all user data"
    • Press on "install zip from sdcard" menu
    • Select "choose zip from sdcard"
    • In this menu select "full-pack-sign.zip"
    • After installing press "Go back"
    • Press "reboot device"

    2.2. Updating through Android debug

    2.2.1. Updating system partition

    • Get a root access
      Code:
      adb root && adb wait-for-device
    • Remount system partition with R/W permitions
      Code:
      adb shell mount -o remount,rw -t ext4 /dev/block/mmcblk0p3 /system/
    • Sync binaries
      Code:
      adb shell stop && adb sync && adb reboot

    2.2.2. Updating boot partition

    • Reboot to fastboot
      Code:
      adb reboot bootloader
    • Select one of possible methods to use new boot partition
      1. Boot with custom kernel and ramdisk without flashing (boot partition will not be rewrote) - this mode useful for debugging kernel/root
        Code:
        fastboot boot ${ANDROID_PRODUCT_OUT}/kernel ${ANDROID_PRODUCT_OUT}/ramdisk.img
      2. Boot with custom boot.img without flashing (boot partition will not be rewrote) - this mode also can be used for debugging kernel/root
        Code:
        fastboot boot ${ANDROID_PRODUCT_OUT}/boot.img
      3. Flashing new boot.img to boot partition
        Code:
        fastboot flash:raw boot ${ANDROID_PRODUCT_OUT}/kernel ${ANDROID_PRODUCT_OUT}/ramdisk.img

    2.3. Enabling Google services

    To enable Google services on new system, should be copied several Google binaries to /system/app. To do it should b done several steps:
    • Get a root access
      Code:
      adb root && adb wait-for-device
    • Remount system partition with R/W permitions
      Code:
      adb shell mount -o remount,rw -t ext4 /dev/block/mmcblk0p3 /system/
    • Download this (i.e. GAPPS) archive (Size=16449776 MD5=C7E6FAAFE7223A17DE93DD1D7A968734)
    • Extract it somewhere
      Code:
      mkdir GooglePack && cd GooglePack
      unzip googlepack.zip
    • Stop dalvik virtual machine
      Code:
      adb shell stop
    • Upload APK files
      Code:
      for f in `ls *.apk`; do echo "Uploading $f" && adb push $f /system/app/; done
    • Remove Provision.apk - it looks like setup wizard, but SetupWizard.apk much powerful
    • Reboot device to recovery and wipe data partition (use CWM "Wipe" menu for it)
      Code:
      adb reboot recovery
    • Reboot device after wiping
    • Use wizard on system start-up to configure your account
    • Use Android Market to install GMail and other apps

    3. Debugging

    3.1. RILD

    To see rild log should be done:
    Code:
    adb logcat -b radio

    4. FAQ

    Q: WiFi scanner show few AP, but can't connect anywhere...
    A: Try to make factory reset.

    Q: Is it thor2002ro sources?
    A: No, it is my own port.

    Q: What is the version?
    A: ICS MR1 (Current version: 4.0.4).

    5. Supported features

    • 2D/3D acceleration
    • Photo/Video Camera
    • 2G/3G
    • GPS
    • AGPS
    • SMS (tested only in GSM networks)
    • WiFi
    • Bluetooth
    • Audio/Video playback
    • Image viewing
    • External SD Card
    • External USB storage
    • Compass
    • Gyroscope

    6. To do

    1. [rild] Add support for USSD
    2. [rild] Add support/check for MMS
    3. [libsensors] Implement libsensors and replace Acer binaries
    4. [audio] Add support for USB audio devices
    5. [audio] Add support for modem audio input

    7. Screenshots
    • Version
      attachment.php
    • EDGE connection
      attachment.php
    • Speed test results on HSDPA+
      attachment.php

    8. Pre-builds

    • Build #1 (Size=114409141 MD5=11C9E0BE468B21BF061C7ECF6673C9B4)
    • Build #2 (Size=119899802 MD5=4CB798A28B38D02217752C6E09F0E226)
    3
    [reserved]

    Reserved for further updates, if it will be necessary...
    2
    I see that package was 10 times downloaded, but no one comment:)
    2
    Good point, but unfortunately I'd never seen CM source code. May be you can share link to CM Gerrit/Git with me?

    You should find all you need through the following link...

    http://www.cyanogenmod.com/community

    There's also a link to their Git hub on there.