Support in other languages: 
Reply
gmarkall
Posts: 268
Topics: 6
Kudos: 115
Solutions: 21
Registered: ‎12-27-2011
Location: United Kingdom

Development: Cyanogenmod 10 for the A2109

Mcl630 very kindly made the device tree used to build the recovery for thr A2109 available, and I've used this as a basis for beginning a port of Cyanogenmod 10 for the A2109.

 

The work will all be done in the open, because it's more fun to get as many people involved in the development, and also hopefully to make it easier for non-experts to learn from and get into Android development. The device repository is hosted here: https://github.com/A2109devs/android_device_lenovo_a2109a

 

A knowledgebase article explaining how to sync the source tree and build it is drafted - I'm just waiting for an admin to approve the publication. I'll link here in this thread as soon as it becomes available. I'm using a KB article for these instructions since they can be edited after publication.

 

Currently the source tree builds and can be flashed from Clockworkmod. Bootup with the built boot.img does not work yet, probably due to incorrect kernel parameters. Hopefully this will be fixed relatively easily and progress onto getting things working can be made.

 

Finally, a small teaser: http://www.doc.ic.ac.uk/~grm08/a2109_cm10.jpg

Token Ring
anika200
Posts: 162
Registered: ‎08-30-2012
Location: USA
0

Re: Development: Cyanogenmod 10 for the A2109

Whoa, this is fantastic. I can't wait.
I have been messing around with miuiandroid grouper build which is jb and it looks like we are about at the same place with the boot cycle.
Thank you gmarkall for getting this going.
HDMI
FloRider
Posts: 304
Registered: ‎10-03-2012
Location: United States
0

Re: Development: Cyanogenmod 10 for the A2109

(Advertising to follow)

 

A new forum, just for the A2109, has been created at Androidtablets.net.  The OP represents the main reason we needed a new forum -- to go back to an important post and add/edit links and instructions.  We'll always be able to edit a post to keep it up-to-date, and development posts are most in need of this function.

 

I don't plan to leave this forum, and I haven't heard from anyone who has.  Answering the same questions in different threads, though has been frustrating.  Please have a look at our second home.

 

PS I did say advertising, but I have no more stake in the forum than any other user.

Token Ring
anika200
Posts: 162
Registered: ‎08-30-2012
Location: USA
0

Re: Development: Cyanogenmod 10 for the A2109

Hi gmarkall,

 

Two questions.

 

Have you got fastboot working from linux?

 

Also, what kernel are you guys using for CM10? I was going to start to configure and compile a kernel today but if you or mcl630 already have a working one then I see no need.

gmarkall
Posts: 268
Topics: 6
Kudos: 115
Solutions: 21
Registered: ‎12-27-2011
Location: United Kingdom

Re: Development: Cyanogenmod 10 for the A2109


anika200 wrote:

Hi gmarkall,

 

Two questions.

 

Have you got fastboot working from linux?

 

Also, what kernel are you guys using for CM10? I was going to start to configure and compile a kernel today but if you or mcl630 already have a working one then I see no need.


I have got fastboot working from Linux - it doesn't show up in "fastboot devices" but if you run with a custom vendor id, e.g.:

 

fastboot -i 0x17ef boot boot.img

 

 

then it will work. I think there's probably some bugs in the bootloader!

 

I just used the stock kernel for CM10 so far - I haven't yet got round to booting the compiled kernel. I have compiled the sources from the Lenovo download site, and compared with the config.gz on the device - apart from one option (the TF driver) the configs were the same on the device and in the provided source.

 

My plan for the kernel is to use NVidia's Tegra git repository to try and isolate a minimum patch from the sources in Git to the Lenovo sources, with a view to begin able to update to later kernel sources, and make it easier to cherrypick other patches. I've done some work in this direction already, and will try and put it on Github (I don't know if my free Github account will like a 400MB repo push). If that doesn't work I'll probably have to discard some of the history or look for an alternative.

HDMI
FloRider
Posts: 304
Registered: ‎10-03-2012
Location: United States
0

Re: Development: Cyanogenmod 10 for the A2109

I haven't been able to get the kernel to compile. I think I'm missing a reference to a config file of some sort. I've tried Eclipse and command-line. I've already made a number of changes to the source to get overclocking and undervolting working. I'm not exactly sure what I'm doing wrong now. Can one of you walk me through the necessary steps to compile the zImage please?

Thanks!
gmarkall
Posts: 268
Topics: 6
Kudos: 115
Solutions: 21
Registered: ‎12-27-2011
Location: United Kingdom

Re: Development: Cyanogenmod 10 for the A2109

I was planning on writing a decent guide on doing this at some point. These are some notes I had drafted previously:

 

Toolchain
---------

Get the Codesourcery compiler from:

http://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/

Under "ARM Processors", choose "Download the GNU/Linux release"

Kernel source
-------------

Get the kernel source from:

http://download.lenovo.com/consumer/open_source_code/a2109n_gpl_kernel_570.tar.bz2

and extract it.

Building
--------

To build the kernel and modules, run the following:

export ARCH=arm
export CROSS_COMPILE=arm-none-linux-gnueabi-
make distclean
make tegra3_android_defconfig
make

 

gmarkall
Posts: 268
Topics: 6
Kudos: 115
Solutions: 21
Registered: ‎12-27-2011
Location: United Kingdom

Re: Development: Cyanogenmod 10 for the A2109

[ Edited ]

Additionally, you'll need to make a boot image by extracting one from a stock ROM with unpackbootimg, and then packing it with your compiled kernel with mkbooting.

 

 

Before the topic of this thread gets out of hand, I just made another thread for kernel discussions:

 

http://forums.lenovo.com/t5/IdeaPad-IdeaTab-Slate-Tablets/Development-A2109-Kernel-development-discu...

gmarkall
Posts: 268
Topics: 6
Kudos: 115
Solutions: 21
Registered: ‎12-27-2011
Location: United Kingdom

Re: Development: Cyanogenmod 10 for the A2109

Since the KB article is still awaiting publication, I'm going to just paste its entire contents here for now. This post won't be updated, but when the KB article comes to fruition, it will be able to be:

 

 

 

 

Note: Cyanogenmod 10 for the A2109 is currently a work-in-progress. This KB article will be updated as development progresses.

 

Current status: Builds and can be flashed. Does not boot from the boot.img generated by the build process, but will reach the Cyangenmod boot screen if booted with a stock boot.img.

 

What works: absolutely nothing, yet. This will change! :-)

 

Build instructions

 

Prerequisites:

 

You need to install various packages necessary to support building Android. Follow the instructions in the section entitled "Install the Build Packages" of http://wiki.cyanogenmod.org/wiki/Galaxy_Nexus_(GSM):_Compile_CyanogenMod_9_(Linux)

 

You also need to install Google repo in order to sync the repositories. Execute the following two commands:

 

curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo

chmod a+x ~/bin/repo

 

Syncing the repositories

 

First, create a folder for the Cyanogenmod source:

 

mkdir cmsrc

cd cmsrc

 

Then, initialise the repo:

 

repo init -u git://github.com/CyanogenMod/android.git -b jellybean

 

You will need to add a local manifest, which tells repo where to get extra repositories that are not part of the main Cyanogenmod source. To do this, add the following to .repo/local_manifest.xml (you may need to create this file):

 

<?xml version="1.0" encoding="UTF-8"?>
  <manifest>
    <project name="A2109devs/android_device_lenovo_a2109a" path="device/lenovo/a2109a" remote="github" revision="jellybean" />
  </manifest>

 

You can then sync your repository (this may take some time):

 

repo sync

 

Extracting proprietary files

 

If you're building for the first time, you will need to extract proprietary files from the device, and get the prebuilts. Connect your A2109, turn USB debugging on, and run the following:

 

cd device/lenovo/a2109a

./extract-files.sh

cd ../../..

./vendor/cm/get-prebuilts

 

Building

 

You can now start the build:

 

brunch a2109a

 

Contributing to the development effort

 

Contributions are welcomed and encouraged.

 

  • If you have been able to make improvements to the build, please open a pull request on Github.
  • Testing of the build process and the ROM is also very welcome. Please provide feedback about things that do not work that aren't already listed as not working. I/we probably haven't noticed the unlisted problems.
  • Contributions to the documentation on the build or installation process would also be very helpful.

Feedback/questions

 

Please post feedback/questions in the development thread.

Token Ring
anika200
Posts: 162
Registered: ‎08-30-2012
Location: USA
0

Re: Development: Cyanogenmod 10 for the A2109

[ Edited ]

For some reason we have "including device/ti/panda/vendorsetup.sh" included in the envsetup.sh. Can this safely be trimmed out of the repo? I assume I can just delete the folder from devices. We are not using it for anything are we?

Hope this makes sense to somebody.

 

When I run the brunch command I am getting a "Dependencies file not found, bailing out." error at the moment. Trying to work through it and it seems like we need a declaration somewhere for the a2109a but I have not a clue where yet.

 

Or, does that error mean it can not find java or something on my system. Does it need java6 maybe instead of release 7?