[DEV] Unofficial Cyanogenmod 7 for Lenovo Ideapad A1

Search This thread

gmarkall

Retired Recognized Developer
Dec 22, 2010
378
559
London
Cyanogenmod 7 for the Lenovo Ideapad A1, by Milaq and myself.

BEFORE YOU BEGIN

You should install the modified bootloader that allows you to get into fastboot mode if necessary. This is because there is only one kernel on the A1, and if the kernel causes problems (unlikely, but it's better save yourself the risk) you won't be able to boot normally or into recovery. Being able to boot into fastboot mode gives you a way out of this by allowing you to flash a kernel through usb with the fastboot command. See this post: http://xdaforums.com/showpost.php?p=25186171&postcount=120

Simple installation guide

David Artiss has written a beginners' guide that walks you through the process of installing CM7 starting from the stock system. Get to it here:

http://www.artiss.co.uk/2012/04/installing-cyanogenmod-on-a-lenovo-ideapad-a1

Syncing and building it:

Clone the Cyanogenmod repository:

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

Then add the local manifest:

Code:
git clone https://github.com/milaq/android.git local-android
cd local-android
git checkout gingerbread
cd ..
cp local-android/local_manifest.xml android/.repo

They sync the repo, get rom manager, and build:

Code:
cd android
repo sync
./vendor/cyanogen/get-rommanager
source build/envsetup.sh && brunch A1_07

What works:

Graphics HW acceleration
Touchscreen
Buttons (vol, power, menu, back, home)
Removable SD card
Audio
Accelerometer
Wifi (see caveat below)
Bluetooth
Vibration
Internal SD card
Front and back camera for still images, video recording from back camera
GPS
HW accelerated decoding (h.264 etc)

Issues

No 3G on the 3G versions.
Video recording from the front camera
Accelerometer switch not working
Market gives phone layout instead of tablet layout after update
Modified partition layout used with CWM 5.0.2.8 seems to prevent the internal SD card mounting.
GPS Time from android.location.Location.getTime() is wrong (1 day ahead?).
DSPManager sometimes crashes when headphones are inserted.
Bluetooth file transfer doesn't work, but Bluetooth HID seems to work.

IRC Channel

#ideapad-a1 on irc.freenode.net.

Recent logs at http://shron.de/irclogs/ideapad-a1.log
Some older logs at http://shron.de/ideapad-a1.log

Download page

Nightly builds, built by Milaq and hosted by goo.im:

http://goo.im/devs/milaq/a107/cm-7

Acknowledgments

Many thanks to:

Milaq - fixing loads of things: Camera, GPS, vibration, autobrightness, cpu responsiveness, scrolling performance, wifi geolocation, disabling background blur, hiding phone signal by default, density fixes, etc, etc, ...
SpiegelEiXXL - many discussions and thoughts, setting up nightly builds, hosting nightly builds.
Pati- for spotting how to prevent the reboots and internal SD card fixes.
Templis - Channel logs

Collaboration

Please feel free to discuss this porting effort here, point out errors, fork the repositories, submit patches/pull requests etc! :)
 
Last edited:

gmarkall

Retired Recognized Developer
Dec 22, 2010
378
559
London
Latest updates:

18 Feb: Nightly downloads added. Please follow the commit log on Github for further details of updates: https://github.com/gmarkall/android_device_ideapad_a1/commits/gingerbread

12 Feb: Fixed the 5:43 reboot issue, wifi (sort of), and accelerometer. New version on download page.

17 Jan: Got it booting, added download page.

15 Jan: Made some very hacky changes that allow an otapackage to be built.

14 Jan: Tried flashing it - so far not quite booting as far as the home screen, but does get to the boot screen.

13 Jan: I had the wrong size for the system partition, which was causing make_ext4fs to fail. This is now corrected, and the build finishes.

13 Jan: I created an IRC channel for discussion of Clockworkmod, Cyanogenmod and development on the A1. It is #ideapad-a1 on irc.freenode.net.

12 Jan: I've added a few more bits and bobs to the build - in particular editing BoardConfig.mk to include settings for building libaudio.so, using the camera stub for the time being, bluetooth settings, etc. Also added some missing files: /etc/media_profiles.xml and vold.a1.fstab, overlay.omap3.so.

11 Jan: added a script that pulls the proprietary libraries off the device and creates a vendor/lenovo/a1 folder for them.
 
Last edited:

breadsmasher

New member
Dec 27, 2011
4
1
I have a 16GB Lenovo A1 and am more than happy to help out with any testing you need with CM7!

Just drop me a PM if you want any private testing done or I will test out the moment you post a Rom here to flash.


Thanks, Charlie.
 

gmarkall

Retired Recognized Developer
Dec 22, 2010
378
559
London
awesome! did you already try to flash and run it?

Not yet. At the moment the build system doesn't quite work for making a flashable zip suitable for the ideapad. I want to get the build system to make the update.zips without any manual intervention, rather than just putting one together by hand - otherwise it will be a pain every time I change something to have to manually make a new update.zip.
 
  • Like
Reactions: pckeung

gmarkall

Retired Recognized Developer
Dec 22, 2010
378
559
London
awesome! did you already try to flash and run it?

I tried flashing it - I'm not quite getting as far as the home screen in booting yet, but it's a start:

a1-cm7.jpg
 

gmarkall

Retired Recognized Developer
Dec 22, 2010
378
559
London
So with the latest version I have, after bootup there's some problems with dalvik-cache.

The files in /cache/dalvik-cache and their permissions are:

Code:
# ls -l
-rw-r--r--    1 system   system      850744 Aug  1  2008 system@app@Settings.apk@classes.dex
-rw-r--r--    1 system   system       57112 Aug  1  2008 system@app@SettingsProvider.apk@classes.dex
-rw-r--r--    1 system   system      232920 Aug  1  2008 system@app@SystemUI.apk@classes.dex
-rw-r--r--    1 system   system       27960 Aug  1  2008 system@framework@am.jar@classes.dex
-rw-r--r--    1 root     root        266000 Jan 16 23:36 system@framework@android.policy.jar@classes.dex
-rw-r--r--    1 system   system      194352 Aug  1  2008 system@framework@android.test.runner.jar@classes.dex
-rw-r--r--    1 system   system       13880 Aug  1  2008 system@framework@bmgr.jar@classes.dex
-rw-r--r--    1 root     root        778656 Jan 16 23:36 system@framework@bouncycastle.jar@classes.dex
-rw-r--r--    1 system   system        7448 Aug  1  2008 system@framework@com.android.location.provider.jar@classes.dex
-rw-r--r--    1 root     root         24128 Jan 16 23:36 system@framework@core-junit.jar@classes.dex
-rw-r--r--    1 root     root       4798600 Jan 16 23:36 system@framework@core.jar@classes.dex
-rw-r--r--    1 root     root       1391096 Jan 16 23:36 system@framework@ext.jar@classes.dex
-rw-r--r--    1 root     root       8087736 Jan 16 23:36 system@framework@framework.jar@classes.dex
-rw-r--r--    1 system   system        6816 Aug  1  2008 system@framework@ime.jar@classes.dex
-rw-r--r--    1 system   system        4504 Aug  1  2008 system@framework@input.jar@classes.dex
-rw-r--r--    1 system   system       61616 Aug  1  2008 system@framework@javax.obex.jar@classes.dex
-rw-r--r--    1 system   system       89720 Aug  1  2008 system@framework@monkey.jar@classes.dex
-rw-r--r--    1 system   system       28496 Aug  1  2008 system@framework@pm.jar@classes.dex
-rw-r--r--    1 root     root       1638216 Jan 16 23:36 system@framework@services.jar@classes.dex
-rw-r--r--    1 system   system      147728 Aug  1  2008 system@framework@sqlite-jdbc.jar@classes.dex
-rw-r--r--    1 system   system        8496 Aug  1  2008 system@framework@svc.jar@classes.dex

Logcat is at: http://www.doc.ic.ac.uk/~grm08/ideapad/cm7-a1-logcat-jan-17.txt

Any suggestions? :confused::)
 

xbdesign

Senior Member
May 27, 2009
107
48
Did you try to chmod 777 /cache/dalvik-cache
Just for testing it?

OTA use data/dalvik-cache and have the same File right like you do.
# create dalvik-cache and double-check the perms
mkdir /data/dalvik-cache 0771 system system
chown system system /data/dalvik-cache
chmod 0771 /data/dalvik-cache

# create the lost+found directories, so as to enforce our permissions
mkdir /data/lost+found 0770
mkdir /cache/lost+found 0770

---------- Post added at 09:47 PM ---------- Previous post was at 09:35 PM ----------

What rights have your /cache/dalvik-cache Folder?
It schould have 771
But i think that /cache have only 770
 
Last edited:

gmarkall

Retired Recognized Developer
Dec 22, 2010
378
559
London
I just noticed that it's only things that run as app_XX that have a problem opening /cache/dalvik-cache/system@framework@ ...

Things that run as system, e.g. com.android.settings, don't seem to have a problem.

I feel like I'm missing something obvious now! :)
 

xbdesign

Senior Member
May 27, 2009
107
48
Right,
all Positions that have root have a Problem
-rw-r--r-- 1 root root

On STOCK ROM there are no Files that have one root root.
They are all having
system system
or
system app_<AppNr>
or
system radio
 
Last edited:

xbdesign

Senior Member
May 27, 2009
107
48
No Problem.

Just wondering why every one of them giving an Error.
I have no working CM7 to compare it to.

---------- Post added at 10:59 PM ---------- Previous post was at 10:52 PM ----------

Are you at stage where you can Wipe dalvik-cache, or it is hapening by building/restoring it?
 

Top Liked Posts

  • There are no posts matching your filters.
  • 74
    Cyanogenmod 7 for the Lenovo Ideapad A1, by Milaq and myself.

    BEFORE YOU BEGIN

    You should install the modified bootloader that allows you to get into fastboot mode if necessary. This is because there is only one kernel on the A1, and if the kernel causes problems (unlikely, but it's better save yourself the risk) you won't be able to boot normally or into recovery. Being able to boot into fastboot mode gives you a way out of this by allowing you to flash a kernel through usb with the fastboot command. See this post: http://xdaforums.com/showpost.php?p=25186171&postcount=120

    Simple installation guide

    David Artiss has written a beginners' guide that walks you through the process of installing CM7 starting from the stock system. Get to it here:

    http://www.artiss.co.uk/2012/04/installing-cyanogenmod-on-a-lenovo-ideapad-a1

    Syncing and building it:

    Clone the Cyanogenmod repository:

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

    Then add the local manifest:

    Code:
    git clone https://github.com/milaq/android.git local-android
    cd local-android
    git checkout gingerbread
    cd ..
    cp local-android/local_manifest.xml android/.repo

    They sync the repo, get rom manager, and build:

    Code:
    cd android
    repo sync
    ./vendor/cyanogen/get-rommanager
    source build/envsetup.sh && brunch A1_07

    What works:

    Graphics HW acceleration
    Touchscreen
    Buttons (vol, power, menu, back, home)
    Removable SD card
    Audio
    Accelerometer
    Wifi (see caveat below)
    Bluetooth
    Vibration
    Internal SD card
    Front and back camera for still images, video recording from back camera
    GPS
    HW accelerated decoding (h.264 etc)

    Issues

    No 3G on the 3G versions.
    Video recording from the front camera
    Accelerometer switch not working
    Market gives phone layout instead of tablet layout after update
    Modified partition layout used with CWM 5.0.2.8 seems to prevent the internal SD card mounting.
    GPS Time from android.location.Location.getTime() is wrong (1 day ahead?).
    DSPManager sometimes crashes when headphones are inserted.
    Bluetooth file transfer doesn't work, but Bluetooth HID seems to work.

    IRC Channel

    #ideapad-a1 on irc.freenode.net.

    Recent logs at http://shron.de/irclogs/ideapad-a1.log
    Some older logs at http://shron.de/ideapad-a1.log

    Download page

    Nightly builds, built by Milaq and hosted by goo.im:

    http://goo.im/devs/milaq/a107/cm-7

    Acknowledgments

    Many thanks to:

    Milaq - fixing loads of things: Camera, GPS, vibration, autobrightness, cpu responsiveness, scrolling performance, wifi geolocation, disabling background blur, hiding phone signal by default, density fixes, etc, etc, ...
    SpiegelEiXXL - many discussions and thoughts, setting up nightly builds, hosting nightly builds.
    Pati- for spotting how to prevent the reboots and internal SD card fixes.
    Templis - Channel logs

    Collaboration

    Please feel free to discuss this porting effort here, point out errors, fork the repositories, submit patches/pull requests etc! :)
    18
    Latest updates:

    18 Feb: Nightly downloads added. Please follow the commit log on Github for further details of updates: https://github.com/gmarkall/android_device_ideapad_a1/commits/gingerbread

    12 Feb: Fixed the 5:43 reboot issue, wifi (sort of), and accelerometer. New version on download page.

    17 Jan: Got it booting, added download page.

    15 Jan: Made some very hacky changes that allow an otapackage to be built.

    14 Jan: Tried flashing it - so far not quite booting as far as the home screen, but does get to the boot screen.

    13 Jan: I had the wrong size for the system partition, which was causing make_ext4fs to fail. This is now corrected, and the build finishes.

    13 Jan: I created an IRC channel for discussion of Clockworkmod, Cyanogenmod and development on the A1. It is #ideapad-a1 on irc.freenode.net.

    12 Jan: I've added a few more bits and bobs to the build - in particular editing BoardConfig.mk to include settings for building libaudio.so, using the camera stub for the time being, bluetooth settings, etc. Also added some missing files: /etc/media_profiles.xml and vold.a1.fstab, overlay.omap3.so.

    11 Jan: added a script that pulls the proprietary libraries off the device and creates a vendor/lenovo/a1 folder for them.
    10
    Wifi issue hack/workaround

    After some fiddling around, as long as you run

    Code:
    echo 1 > /sys/class/rfkill/rfkill0/state

    before turning on wifi, and

    Code:
    echo 0 > /sys/class/rfkill/rfkill0/state

    after turning it off, you can turn it on and off as often as you like - in effect, this seems to solve the wifi reboot issue. I'm currently looking for the most sensible place to add this fix into the CM7 build.

    EDIT: I'm just compiling and testing the fix. More news hopefully soon...

    EDIT 2: After some very brief testing, the fix seems to be working. I've committed the code changes so the next nightly should have fixed and fully working wifi. Please let me know how you find it!
    9
    mirror for the new nightly builds:
    download here


    the builds should be up at 01:00-02:00 UTC every night

    enjoy
    9
    Can we get a fix with this soon? I am sure lenovo is working on the issue I just don't want to go back stock

    Sent from my A1_07 using XDA

    Absolutely - you're free to figure out what the problem is and develop a fix as soon as you like. We'd be happy to incorporate your changes!

    Many thanks!

    Sent from my HTC Desire using XDA