[Dev] Native linux on Iconia

Search This thread

gears177

Senior Member
Apr 4, 2012
408
51
meadville
were you using ICS or HC driver? I think they do make a difference. Also, make sure you switch your wifi on (rotation switch). Note that under 12.04, the OS seems like it doesn't remember where the switch is on and where the switch is off. make sure u switch it after u login and it should be fine.

Thanks i guess ill have to try this again :)
 

japinder

Senior Member
Jul 8, 2011
339
86
Singapore
Guys, could someone please advise how to resolve the mmcblk0p7 impasse, since my A500 only seems to have mmcblk0p8, so unable to even boot from the rootfs completely... :(

Sent from my HTC Sensation XE with Beats Audio using xda app-developers app
 

gears177

Senior Member
Apr 4, 2012
408
51
meadville
Guys, could someone please advise how to resolve the mmcblk0p7 impasse, since my A500 only seems to have mmcblk0p8, so unable to even boot from the rootfs completely... :(

Sent from my HTC Sensation XE with Beats Audio using xda app-developers app

Sorry as i couldnt find the source for sp3dev recovery.img i was going to try and edit it but never got it :-\ unless someone wants to restart then i cant do anything :'( you can do the micro sdcard way that would work for you hopefully someone lcreates a new one :-\
 
  • Like
Reactions: japinder

japinder

Senior Member
Jul 8, 2011
339
86
Singapore
Sorry as i couldnt find the source for sp3dev recovery.img i was going to try and edit it but never got it :-\ unless someone wants to restart then i cant do anything :'( you can do the micro sdcard way that would work for you hopefully someone lcreates a new one :-\

Thanks.

Could you please point me towards the correct way to accomplish it (boot off sdcard). As far as I know, the sdcard filesystem (FAT32) won't be able to support any file above 4 GB.


Sent from my HTC Sensation XE with Beats Audio using xda app-developers app
 

Tautvaldas

Senior Member
Jan 4, 2011
141
12
What about adding thread for linux compillation errors questions etc.

Anyone thinking about adding new thread who talking about linux kernel compilation for iconia, questions, adding new features, managing source etc? Sorry for bad English.

And I want ask something - if I want add new board to kernel source, what exactly I need todo except placing board files to arch/arm/mach-tegra include/suspend.h include/linux/mfd/acer_picasso_ec.h... When I done it, and start compillation process, then in my terminal after few secconds or mins appear this messages

Code:
 CC      arch/arm/mach-tegra/board-picasso.o
  CC      mm/percpu.o
  CC      kernel/ptrace.o
arch/arm/mach-tegra/board-picasso.c:94: error: array type has incomplete element type
arch/arm/mach-tegra/board-picasso.c:95: error: array index in non-array initializer
arch/arm/mach-tegra/board-picasso.c:95: error: (near initialization for ‘utmi_phy_config’)
arch/arm/mach-tegra/board-picasso.c:96: error: field name not in record or union initializer
arch/arm/mach-tegra/board-picasso.c:96: error: (near initialization for ‘utmi_phy_config’)
arch/arm/mach-tegra/board-picasso.c:97: error: field name not in record or union initializer
arch/arm/mach-tegra/board-picasso.c:97: error: (near initialization for ‘utmi_phy_config’)
arch/arm/mach-tegra/board-picasso.c:98: error: field name not in record or union initializer
arch/arm/mach-tegra/board-picasso.c:98: error: (near initialization for ‘utmi_phy_config’)
arch/arm/mach-tegra/board-picasso.c:99: error: field name not in record or union initializer
arch/arm/mach-tegra/board-picasso.c:99: error: (near initialization for ‘utmi_phy_config’)
arch/arm/mach-tegra/board-picasso.c:100: error: field name not in record or union initializer
arch/arm/mach-tegra/board-picasso.c:100: error: (near initialization for ‘utmi_phy_config’)
arch/arm/mach-tegra/board-picasso.c:101: error: field name not in record or union initializer
arch/arm/mach-tegra/board-picasso.c:101: error: (near initialization for ‘utmi_phy_config’)
arch/arm/mach-tegra/board-picasso.c:102: error: field name not in record or union initializer
arch/arm/mach-tegra/board-picasso.c:102: error: (near initialization for ‘utmi_phy_config’)
arch/arm/mach-tegra/board-picasso.c:104: error: array index in non-array initializer
arch/arm/mach-tegra/board-picasso.c:104: error: (near initialization for ‘utmi_phy_config’)
arch/arm/mach-tegra/board-picasso.c:105: error: field name not in record or union initializer
arch/arm/mach-tegra/board-picasso.c:105: error: (near initialization for ‘utmi_phy_config’)
arch/arm/mach-tegra/board-picasso.c:106: error: field name not in record or union initializer
arch/arm/mach-tegra/board-picasso.c:106: error: (near initialization for ‘utmi_phy_config’)
arch/arm/mach-tegra/board-picasso.c:107: error: field name not in record or union initializer
arch/arm/mach-tegra/board-picasso.c:107: error: (near initialization for ‘utmi_phy_config’)
arch/arm/mach-tegra/board-picasso.c:108: error: field name not in record or union initializer
arch/arm/mach-tegra/board-picasso.c:108: error: (near initialization for ‘utmi_phy_config’)
arch/arm/mach-tegra/board-picasso.c:109: error: field name not in record or union initializer
arch/arm/mach-tegra/board-picasso.c:109: error: (near initialization for ‘utmi_phy_config’)
arch/arm/mach-tegra/board-picasso.c:110: error: field name not in record or union initializer
arch/arm/mach-tegra/board-picasso.c:110: error: (near initialization for ‘utmi_phy_config’)
arch/arm/mach-tegra/board-picasso.c:111: error: field name not in record or union initializer
arch/arm/mach-tegra/board-picasso.c:111: error: (near initialization for ‘utmi_phy_config’)
arch/arm/mach-tegra/board-picasso.c:116: error: unknown field ‘reset_gpio’ specified in initializer
arch/arm/mach-tegra/board-picasso.c:120: error: array type has incomplete element type
arch/arm/mach-tegra/board-picasso.c:121: error: array index in non-array initializer
arch/arm/mach-tegra/board-picasso.c:121: error: (near initialization for ‘tegra_ehci_pdata’)
arch/arm/mach-tegra/board-picasso.c:122: error: field name not in record or union initializer
arch/arm/mach-tegra/board-picasso.c:122: error: (near initialization for ‘tegra_ehci_pdata’)
arch/arm/mach-tegra/board-picasso.c:123: error: field name not in record or union initializer
arch/arm/mach-tegra/board-picasso.c:123: error: (near initialization for ‘tegra_ehci_pdata’)
arch/arm/mach-tegra/board-picasso.c:123: error: ‘TEGRA_USB_HOST’ undeclared here (not in a function)
arch/arm/mach-tegra/board-picasso.c:124: error: field name not in record or union initializer
arch/arm/mach-tegra/board-picasso.c:124: error: (near initialization for ‘tegra_ehci_pdata’)
arch/arm/mach-tegra/board-picasso.c:125: error: field name not in record or union initializer
arch/arm/mach-tegra/board-picasso.c:125: error: (near initialization for ‘tegra_ehci_pdata’)
arch/arm/mach-tegra/board-picasso.c:127: error: array index in non-array initializer
arch/arm/mach-tegra/board-picasso.c:127: error: (near initialization for ‘tegra_ehci_pdata’)
arch/arm/mach-tegra/board-picasso.c:128: error: field name not in record or union initializer
arch/arm/mach-tegra/board-picasso.c:128: error: (near initialization for ‘tegra_ehci_pdata’)
arch/arm/mach-tegra/board-picasso.c:129: error: field name not in record or union initializer
arch/arm/mach-tegra/board-picasso.c:129: error: (near initialization for ‘tegra_ehci_pdata’)
arch/arm/mach-tegra/board-picasso.c:130: error: field name not in record or union initializer
arch/arm/mach-tegra/board-picasso.c:130: error: (near initialization for ‘tegra_ehci_pdata’)
arch/arm/mach-tegra/board-picasso.c:132: error: array index in non-array initializer
arch/arm/mach-tegra/board-picasso.c:132: error: (near initialization for ‘tegra_ehci_pdata’)
arch/arm/mach-tegra/board-picasso.c:133: error: field name not in record or union initializer
arch/arm/mach-tegra/board-picasso.c:133: error: (near initialization for ‘tegra_ehci_pdata’)
arch/arm/mach-tegra/board-picasso.c:134: error: field name not in record or union initializer
arch/arm/mach-tegra/board-picasso.c:134: error: (near initialization for ‘tegra_ehci_pdata’)
arch/arm/mach-tegra/board-picasso.c:135: error: field name not in record or union initializer
arch/arm/mach-tegra/board-picasso.c:135: error: (near initialization for ‘tegra_ehci_pdata’)
arch/arm/mach-tegra/board-picasso.c:136: error: field name not in record or union initializer
arch/arm/mach-tegra/board-picasso.c:136: error: (near initialization for ‘tegra_ehci_pdata’)
arch/arm/mach-tegra/board-picasso.c:235: error: ‘TEGRA_GPIO_MXT_IRQ’ undeclared here (not in a function)
arch/arm/mach-tegra/board-picasso.c: In function ‘picasso_touch_init’:
arch/arm/mach-tegra/board-picasso.c:246: error: ‘TEGRA_GPIO_VENTANA_TS_RST’ undeclared (first use in this function)
arch/arm/mach-tegra/board-picasso.c:246: error: (Each undeclared identifier is reported only once
arch/arm/mach-tegra/board-picasso.c:246: error: for each function it appears in.)
arch/arm/mach-tegra/board-picasso.c:256: error: implicit declaration of function ‘machine_is_tf101’
arch/arm/mach-tegra/board-picasso.c: In function ‘picasso_set_charge’:
arch/arm/mach-tegra/board-picasso.c:284: error: ‘TEGRA_GPIO_VENTANA_DISABLE_CHARGER’ undeclared (first use in this function)
arch/arm/mach-tegra/board-picasso.c: In function ‘picasso_power_init’:
arch/arm/mach-tegra/board-picasso.c:291: error: ‘TEGRA_GPIO_VENTANA_DISABLE_CHARGER’ undeclared (first use in this function)
arch/arm/mach-tegra/board-picasso.c: In function ‘picasso_power_exit’:
arch/arm/mach-tegra/board-picasso.c:309: error: ‘TEGRA_GPIO_VENTANA_DISABLE_CHARGER’ undeclared (first use in this function)
arch/arm/mach-tegra/board-picasso.c: At top level:
arch/arm/mach-tegra/board-picasso.c:340: error: ‘TEGRA_GPIO_VENTANA_EN_MIC_EXT’ undeclared here (not in a function)
arch/arm/mach-tegra/board-picasso.c:365: error: ‘TEGRA_GPIO_WM8903_IRQ’ undeclared here (not in a function)
arch/arm/mach-tegra/board-picasso.c:445: error: ‘tegra_throttling_enable’ undeclared here (not in a function)
arch/arm/mach-tegra/board-picasso.c:451: error: ‘TEGRA_GPIO_NCT1008_THERM2_IRQ’ undeclared here (not in a function)
cc1: warnings being treated as errors
arch/arm/mach-tegra/board-picasso.c: In function ‘picasso_sensors_init’:
arch/arm/mach-tegra/board-picasso.c:476: error: passing argument 1 of ‘gpio_request’ makes integer from pointer without a cast
include/asm-generic/gpio.h:150: note: expected ‘unsigned int’ but argument is of type ‘struct i2c_board_info *’
arch/arm/mach-tegra/board-picasso.c:477: error: passing argument 1 of ‘gpio_direction_input’ makes integer from pointer without a cast
include/asm-generic/gpio.h:153: note: expected ‘unsigned int’ but argument is of type ‘struct i2c_board_info *’
arch/arm/mach-tegra/board-picasso.c: At top level:
arch/arm/mach-tegra/board-picasso.c:558: error: ‘TEGRA_GPIO_BT_RESET’ undeclared here (not in a function)
arch/arm/mach-tegra/board-picasso.c:558: error: initializer element is not constant
arch/arm/mach-tegra/board-picasso.c:558: error: (near initialization for ‘bt_rfkill_platform_data.reset_gpio’)
arch/arm/mach-tegra/board-picasso.c:577: error: ‘TEGRA_GPIO_WLAN_POWER’ undeclared here (not in a function)
arch/arm/mach-tegra/board-picasso.c:577: error: initializer element is not constant
arch/arm/mach-tegra/board-picasso.c:577: error: (near initialization for ‘tegra_sdhci_platform_data1.power_gpio’)
arch/arm/mach-tegra/board-picasso.c:706: error: ‘MACH_TYPE_TF101’ undeclared here (not in a function)
arch/arm/mach-tegra/board-picasso.c:706: error: initializer element is not constant
arch/arm/mach-tegra/board-picasso.c:706: error: (near initialization for ‘__mach_desc_TF101.nr’)
make[1]: *** [arch/arm/mach-tegra/board-picasso.o] Error 1
make: *** [arch/arm/mach-tegra] Error 2
make: *** Waiting for unfinished jobs....
  CC      kernel/timer.o
  CC      kernel/user.o

I was try seartch in google about it, but I think that info doesn't helps? Sorry again for bad english
 
Last edited:

japinder

Senior Member
Jul 8, 2011
339
86
Singapore
Could anyone please advise how to edit the kernel sources & compile so as to boot the rootfs from mmcblk0p8 instead of mmcblk0p7...

Thanks, Jp

Sent from my HTC Sensation XE with Beats Audio using xda app-developers app
 

prscarp

Senior Member
Apr 23, 2011
79
8
32
Florida
How do you get 12.04 running? I've tried everything and it will not boot. When I update past 11.10 (maybe) it just won't boot anymore. I've even tried building my own and that won't boot either. I'm installing it to the second partition on the sd card, not as an internal image.
 

apapousek

Senior Member
Jul 18, 2011
308
266
Hi all.
Does Ubuntu work on Iconia Tab A500 ? My girlfriend has it on her Eee Pad and I'm jaleous :D

This is a dev thread, not q&a. It's okay if it's a one time mistake. If you would have read any of it, you would have realized that yes, yes it does. I'm not trying to be too much of an ass, but let's keep the development in the dev section, and the q&a in general (or wherever it goes nowadays).

---------- Post added at 01:33 PM ---------- Previous post was at 01:32 PM ----------

Thanks Tautvaldas...

Would I be pushing my luck if also requested for instructions on how to compile the kernel after making these changes? ;)

Jp

Sent from my HTC Sensation XE with Beats Audio using xda app-developers app

http://forum.xda-developers.com/showthread.php?t=1158260&page=9

Scroll down about half way.
 
  • Like
Reactions: japinder

90amper

Senior Member
Jan 10, 2012
72
11
Samara
I'm just tried install ubuntu: flashed precompiled kernel, extract rootfs from ubuntu-11.10-preinstalled-desktop-armel+ac100.tar.gz to second sdcard partition. It starts boot (running lines), then a black screen and a blinking cursor. What i should to do? And what i did wrong?
-----------------------
Found this thread - {HOW TO} Native Debian on A500 and building your own rootfs, now will build own rootfs and try boot again.
 
Last edited:
  • Like
Reactions: bmx666

montolla

Senior Member
Feb 29, 2012
106
10
34
Medellin
Hello



Can some body made a copy of the recovery image from "native linux" running?


Example:

dd if=/dev/mmcblk0p1 /somewhere/p1.img
dd if=/dev/mmcblk0p2 /somewhere/p2.img
dd if=/dev/mmcblk0p3 /somewhere/p3.img


I can't remember in this moment wich partion is recovery and wich is boot (or "aboot").

I need those partition to flash them from ubuntu native and get back my recovery mode on my device


Note: Offcouse, Only if you didn't deleted them and install Linux on mmc directly...


Thanks
 

Top Liked Posts

  • There are no posts matching your filters.
  • 50
    So, let's get linux installed natively on our Iconia.

    As some of you I have been working on porting Iconia to chromeos 2.6.38 kernel (to get rid of Acer crappy moron-written drivers (well.. nothing personal, but most code written for commercial embedded devices is a pile of crap and you have to rewrite everything to update kernel or integrate upstream))

    For now, I have hardcoded the kernel command line in the boot config to boot off /dev/mmcblk1p2 (that is, you must create ext4 (this is also hardcoded.. uhh)) second primary partition on your sd card with the root fs). For now, until all hardware is working fine and userland is ready, let's boot off micro sd. We don't have nvflash yet so let's leave repartitioning internal storage aside.

    Flash the kernel image instead of boot.img to LNX or instead of recovery to SOS. And make sure to write your UID in a secure place before messing with the device - this is the only way to flash your device if you have checksum errors (you should contact sc2k in that case). Okay, even if you eff up here, there is still a way to get UID from a brick so take it easy. But if you do screw it, be prepared to work hard and use some command-line tools.

    You should be able to use any armel rootfs. For X11, use fbdev driver and evdev for touchscreen.

    For the proprietary NVIDIA accellerated drivers for X11, OpenGL ES and OpenMAX, download the nvidia-tegra package from AC100 PPA https://launchpad.net/~ac100/+archive/ppa (probably you have to manually download using this link http://ppa.launchpad.net/ac100/ppa/...dia-tegra_12-0ubuntu1~alpha1monson6_armel.deb as the package didn't show in aptitude for me after adding to sources.list.. or i was doing sth wrong) or the tarball from nvidia. A newer package of tegra drivers is available at https://launchpad.net/ubuntu/+source/nvidia-graphics-drivers-tegra. You may just add an alternative to mesa EGL/GLES library path via update-alternatives to always use nvidia libs.

    precompiled kernel image [15 August 2012]
    http://www.mediafire.com/?p32l949n2s7la43

    xorg.conf
    http://pastebin.com/0a6T6c18

    Here is some video
    http://www.youtube.com/watch?v=NlGHZ5VTAr8

    And now - we need developers, developers, developers.
    The git is https://github.com/astarasikov/iconia-gnu-kernel

    The main branch is chromeos-2.6.38 that is more stable. The 3.0 branch is unstable (network traffic causes virtual memory trashing).

    For now, the following stuff works
    -Panel/framebuffer/backlight
    -Touchscreen
    -Internal eMMC
    -microSD slot
    -usb gadget
    -usb host
    -gpio keys/buttons [rotation switch acts as wifi/bluetooth power blocker. iirc, left position disables wireless, right - enables]
    -charger
    -battery
    -shutdown
    -LEDs
    -bcm4329 wifi (don't forget to copy bcm4329-fullmac-4.bin to /lib/firmware/brcm and nvram.txt from android's /system/etc to the same dir as bcm4329-fullmac-4.txt) [causes lockups with 3.0 kernel]
    -nct1008 temperature sensor for cpu throttling
    -sound. external speakers and headphones.
    -bcm4329 bluetooth. accessible at 115200 on /dev/ttyHS2. Look at http://htc-linux.org/wiki/index.php?title=Ubuntu/Leo/Bluetooth to get it running at higher speeds with proprietary firmware patches (hcd files from android)
    -suspend. Although will probably drain a bit more power than android because mmc power is not disabled (due to a race condition in kernel. and because we have rootfs on micro sd). Two glitches are: sometimes, the device freezes for several seconds after suspend (will test later if playing with wifi clock fixes it) and fonts get corrupted after suspend if using proprietary nvidia X11 driver. [suspend works in 2.6.38 only]
    -kxtf9 accelerometer
    -mpu3050 gyroscope
    -ak8975 magnetometer

    The following stuff is broken or not implemented at all
    -hdmi video. May be working but no one has tested. hdmi audio is not implemented.
    -light sensor
    -video cameras, focus, torch.
    -gps. To turn on the chip, it should be enough to enable gpio 203 via sysfs. Unfortunately it uses the proprietary MEIF protocol which can probably be obtained from Nokia under NDA. And I don't feel like disassembling the whole megabyte of the gps daemon
    -3G. I don't have the modem in my iconia. So I don't care. But should be easy to add.

    And one notice for those who want to join in. I don't care if hardware works properly. I want 'beautiful' code. That is, please, when you make patches to add functionality, do not follow the path of corporate coders and do not invent custom interfaces and sysfs hacks. Use rfkill for bt/3g power control, for example. And don't be selfish - please share your patches and userland stuff.

    TODO:
    -fix framebuffer issues (no console till X boots, X fonts and window decorations get corrupted after suspend with proprietary drivers) it kinda works.
    -video camera
    -port meego or build the list of good software in ubuntu for handling sensors, virtual keyboard etc

    I'm not currently working on the project and don't have the device anymore. Feel free to PM me if you need help with some tegra hackery
    7
    It appears to be booting into the p2 kernel as dmesg shows:

    Linux version 2.6.36.4-DFRX-ge7dee2a-dirty ([email protected])

    A normal boot shows:

    Linux version 2.6.36.3 ([email protected]) (gcc version 4.4.3 (GCC) ) #1 SMP PREEMPT

    Dang. Looks like I've uploaded the wrong image.. Which pretty much explains why the kernel hangs.

    Here is the correct link (the original post is updated as well) - http://www.mediafire.com/?a5ii7l1q11595ht

    As for compiling kernel. Download a toolchain (I'm using Sourcery G++ Lite for arm). Use something like this

    Code:
    #use your toolchain path
    export PATH=/home/alexander/handhelds/armv6/codesourcery/bin:$PATH
    export ARCH=arm
    #and here
    export CROSS_COMPILE=/home/alexander/handhelds/armv6/codesourcery/bin/arm-none-eabi-
    #path where your git clone or archive lies
    cd /home/alexander/handhelds/tegra/kernel/chromium
    make iconiaa500_defconfig
    #use -j2 if you have one CPU. or Ncpu * 2 if you have more cores to speed up
    make -j4 ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE zImage modules
    #this kernel doesn't really build useful modules
    rm -r /home/alexander/handhelds/tegra/modules
    make modules_install INSTALL_MOD_PATH=/home/alexander/handhelds/tegra/modules/
    
    #now, make a flashable image. use mkbootimg from android tree or use Google to find a binary
    export TEGRA=/home/alexander/handhelds/tegra
    mkbootimg --ramdisk /dev/zero --kernel ${TEGRA}/kernel/chromium/arch/arm/boot/zImage -o ${TEGRA}/rc/newrec.img

    Sorry guys for uploading the wrong image.. Hope it works this time for everyone
    5
    You can follow OP post or netham's instruction (http://forum.xda-developers.com/showpost.php?p=20013519&postcount=200) or you can follow this :)

    OPTION 1:
    Netham's recovery image and rootfs (everything can be done within Windows):
    original post: http://forum.xda-developers.com/showpost.php?p=20157497&postcount=242
    Firstly download these files:
    Here are the links to the rootfs :

    http://www.mediafire.com/?f8kbtmdm4gt2fhb
    http://www.mediafire.com/?btrp3tnbbszdzq2
    http://www.mediafire.com/?9iby2p7d83yld7w

    Recovery image: http://www.mediafire.com/?k6j2ck6et8kbgyg

    Now, extract the recovery image to ur SDCard (external) and use Acer Recovery Installer to flash it.

    Then extract the rootfs file above to your harddrive and copy it straight to the home directory of your internal sdcard (the internal 16GB/32GB memory).

    Reboot your tablet into recovery mode and you are ready to go.

    Fix audio (thx to sp3dev and netham)
    Code:
    usermod -a -G audio <your username here>
    ---------------
    OPTION 2
    Sp3dev's recovery image and rootfs
    original post: http://forum.xda-developers.com/showpost.php?p=20013519&postcount=225

    First, you need to have an external SDCard. Use a live ubuntu disk to partition your sdcard into 3 partition (use GParted, youtube how to use gparted in ubuntu for sdcard)
    ||||1st partition is Fat32 ||||2nd partion is EXT4||||3rd is swap (optional)

    Then download this rootfs from http://www.2shared.com/qs/1/ubuntu.tar.part
    After that, extract those files in the tar file into your EXT4 partition using this command:

    For example:
    I partitioned my SDcard into
    ||||Fat32-label: SDStorage||||EXT4-label: Iubuntu:||||SWAP-nolabel

    Then I copy the tar file onto my SDStorage partition
    In Ubuntu, I mount SDStorage and Iubuntu, open terminal and do:
    Code:
    cd /media/Iubuntu/
    sudo tar -zxf /media/SDStorage/tarballfilenameuextracted

    Let the computer do the job.

    Once everything is done, download this recovery image from http://www.mediafire.com/?d73g9bnc8s3b18c and extract it to ur SDStorage again. then put ur sdcard into ur tablet. Get into Android, run Acer Recovery Installer and flash the recovery image from the sdcard.

    Then reboot into recovery mode (volumn up power on) and you are ready to go.

    ________

    Both rootfs are working fine :) You need to do updates to get the latest version of ubuntu on ur tablet.

    GRAPHIC (HW Acceleration --- I WISH :(
    You need to install the tegra graphic driver manual. I recommend the alpha version not the beta one as flash crashed.
    Download it at: http://dl.dropbox.com/u/27802094/arm tegra driver/nvidia-tegra_12~beta1-0ubuntu1_armel.deb and rename to nvidia.deb

    After that, copy it to ur SDStorage and in terminal, type:
    Code:
    cd /media/SDStorage
    sudo dpkg -i nvidia.deb
    Also install the following lib:
    Code:
    sudo apt-get install mesa-utils
    Code:
    sudo apt-get install libgl1-mesa-swrast

    Restart the tablet and go to SYSTEM Settings - System info and see if you get MESA X11 as ur graphic device.
    You can check by running
    Code:
    glxgears
    in terminal or
    Code:
    xvinfo

    CPU
    For cpu, run it at 1Ghz all the time will provide you better smoothness. You can do it by installing indicator-cpufreq from terminal:

    Code:
    sudo add-apt-repository ppa:artfwo/ppa
    sudo apt-get update
    sudo apt-get install indicator-cpufreq

    Everytime ur restart your tablet you can choose which power management profile to use: powersave---ondemand---performance(go for this XD)

    ZRAM
    in terminal:
    Code:
    sudo wget -O /etc/init/zramswap.conf 'https://wiki.ubuntu.com/ARM/TEGRA/AC100?action=AttachFile&do=get&target=zramswap.conf'

    Flashplayer

    Code:
    sudo wget -O /usr/lib/mozilla/plugins/libflashplayer.so http://kotelett.no/ac100/phh/Android2.2/libflashplayer.so

    Code:
    sudo wget -O /usr/lib/chromium-browser/plugins/libflashplayer.so http://kotelett.no/ac100/phh/Android2.2/libflashplayer.so
    Swap
    I took advantage of the spare swap partition on my SDCard....though it doesn't help improving the performance much. Only work well when u use things like office or gaming.

    --------------------------------
    That's pretty much I have gone through so far. If u know how to enable HW Acceleration, please let me know :)
    4
    FANTASTIC WORK!!!!

    Guys... I'm not so clued up on the bootloader here, but is dual boot possible with this setup?


    "so I guess I need to switch distro to try out this cool stuff"

    What distro are you considering switching to?

    Yes, dual boot is possible - the android is in internal memory, our stuff is on micro sd card. It should be possible to even dual boot from internal memory, but not right now

    I am switching to ubuntu because it has a lot of packages prebuilt
    4
    I'm typing most of this from memory, but here goes.


    I have two different methods in here, one using my kernel, and one using sp3devs. My kernel boots from a loopback image on your tablet, his boots from a partition on the SD Card.

    The main differences are:

    Mine uses internal storage which is faster than the SD card
    Mine uses internal storage which takes internal memory
    Mine is a bit easier to set up
    My kernel has a handful of extra drivers, such as USB audio, installed

    sp3dev's uses an SD card which is slightly slower
    sp3dev's uses and SD card which leaves all the internal memory for Android
    sp3dev's is a bit more complicated to partition and set up
    sp3dev's provides the minimum to use your tablet

    -Here are the steps for creating a rootstock image-
    1) Install ubuntu on your PC or inside a VM. There are millions of tutorials for this out there, so I'm not going to bother.

    2) Once that's done, install rootstock.
    Code:
    sudo apt-get install rootstock

    3) Once that's installed, you need to generate an image.
    Code:
        sudo rootstock \
            --fqdn ubuntu \
            --login ubuntu \
            --password ubuntu \
            --imagesize 3G \
            --seed ubuntu-desktop \
            --notarball
    The components to this particular command are:
    --fqdn : This will be your images hostname
    --login :This will be the account you log in with
    --password : This will be the password y ou log in with
    --imagesize : This is the image size. 3G is 3 gigs.
    --seed : This is the initial package that is installed. I personally use kubuntu-desktop(KDE), though I would suggest you use ubuntu-desktop(Gnome) or xubuntu-desktop(XFCE), as KDE isn't the most stable on our tablets.
    --notarball : This creates a root image we can mount as a loopback image. If you're using sp3devs kernel, omit this line.

    -Here are the instructions for using my kernel-
    4) There will be a file in the folder you're in named <filename>.img. Rename that to rootfs.img and upload it to your tablets internal memory (/sdcard on android)

    5) Download my kernel, extract it, and name it 'Recovery.img'. Upload this to your tablets internal memory too.

    6) Download and install the Acer Recovery Installer onto your tablet. Open it up and select 'Flash custom or stock recovery.img from sdcard', hit flash.

    7) Hit reboot into recovery. If I didn't miss a step in my writeup, you're done.



    -Here are the instructions for using sp3dev's kernel (These steps assume you're on Linux, I know of no way to do this from within Windows)-
    4) Get a MicroSD card. I suggest a -minimum- of 4GB. Format it using gparted so that it has two partitions, a small FAT partition at the beginning for usage with Android, and the rest an ext4 partition.

    5) Mount the SD card and change to the root of it. Then extract the tarball you created with rootstock to it.
    Code:
    sudo mkdir /mnt/sd
    sudo mount /dev/sdX2 /mnt/sd # Where X is the device for your SD card
    sudo cd /mnt/sd
    sudo tar -zxf /path/to/the/rootstock/tarball/here

    6) Unmount it, then go download sp3devs kernel. I don't have a link handy, but it's in this thread somewhere. Place his kernel on your tablets internal memory (/sdcard on android) as 'recovery.img'.

    7) Download and install the Acer Recovery Installer onto your tablet. Open it up and select 'Flash custom or stock recovery.img from sdcard', hit flash.

    8) Hit reboot into recovery. If I didn't miss a step in my writeup, you're done.


    Note: I'm omitting the part to get wifi to run here. I can't recall it off the top of my head, but all it is is copying two files into a folder on the image you just made. I believe that there is another tutorial somewhere for this.

    From here, you'll want to start configuring the system. The first thing I did was remove pulseaudio. I was getting audio stuttering with it. This can be achieved by renaming the pulseaudio file in /usr/bin. sudo mv /usr/bin/pulseaudio /usr/bin/pulseaudio.old. This causes it to fail back to ALSA which has the nifty property of not being a CPU whore.

    The next thing I did was set an automatic login. This can be achieved in KDE through the settings panel, I imagine that it'd be located similarly in Gnome and XFCE.

    Then I got a virtual keyboard. Once again, I used KDEs built-in one (kvkbd), though I imagine at least Gnome has one available. There are dozens within ubuntu's repos, too.

    Those were the only things I felt were really necessarry for a tablet. For a browser, I use Chromium, and I use pithos (when it's not broken) for Pandora Radio.

    Feel free to ask for help on this, though I ask that you ask in this thread, and not PM me. I won't respond if you do PM me.