• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

Linux on A500: The Future

Search This thread


Senior Member
Nov 2, 2011


Apr 17, 2012
Are you guys able to get wifi set up with rogro82's kernel? I'm working on building Porteus Linux for ARM. I've patched rogro's kernel to add the aufs filesystem, but I'm not getting wifi working either with the broadcom staging or the bcm4329 kernel. I've got the firmware copied in the right place, but the device node is never created. When I drop the staging driver and compile bcm4329 as a module and try to insert it, I get an error stating that module insertion failed due to an invalid argument, and dmesg prints numerous errors about mmc2, but nothing that I can point to as what's causing the issue.

Also, suspending doesn't work (causes the system to halt) and when the screen blanks for powersavings (just the screen goes blank, the system doesn't suspend), nothing will bring it back. Touching the screen lights up the backlight, but the screen stays black.

Anyone else experiencing either of these issues? If not, I suppose I can install debian to see how things are configured there and apply those changes to my system....but in both cases, these seem like kernel issues. Both worked fine with sp3dev's kernel but that one had other issues as well.



Apr 17, 2012
Thanks, guimendes!

I've downloaded the bodhilinux armhf rootfs (bodhi-rootfs-20130124.tar.gz), and have installed it inside Qemu. I've got to revert my kernel config changes so that I'm using the same wifi driver as rogro82's config and load it all back onto my tablet to test. If you don't mind, would you please let me know exactly which files you copied for the wifi, where you got them, and in which directory you placed them? I'm sure I could figure it out eventually, but it would be great to get it right out of the box, I've got a lot of irons in the fire :)

In other news, I am working on modifying my initramfs such that it can boot other operating systems from other partitions without needing to replace the kernel. The initramfs is embedded in the kernel image; it mounts all local filesystems and searches for a particularly named file and then reads commands off the mounted disk to alter it's booting behavior. I have this working where the kernel will boot Porteus if no parameter is passed, or boot slackwarearm or bodhilinux when pointed to the appropriate partition (e.g. altboot=/mnt/mmcblk1p2).

This should allow us to boot linux from any posix-compatible partition on any device, including a usb flash drive. I've not tested with ubuntu yet, but if bodhi works, I don't see why ubuntu and debian would not. More to come.


Apr 17, 2012
Perfect, thank you! My apologies for even asking, as I have read that HOWTO before. I've read so many guides on so many things recently, it's all blurring together...

Top Liked Posts

  • There are no posts matching your filters.
  • 28
    We have had native Linux on our Iconias for quite a while now but the builds and kernels are getting outdated, Unity is here and there is no real direction as to what needs to be accomplished.

    This thread has been started principally for two kinds of people:
    1. Kernel and Linux developers whom can offer advice or indeed actual code
    2. Iconia enthusiasts for suggestions / ideas as well as any logic they may have
    This thread does not aim to make Linux on our Iconias poof out of nowhere. It requires a huge amount of work to get going although with proper information exchange it should be much easier to get the project going.

    The current ToDo list is as follows (feel free to post me more):
    • RootFS on /data/linux
    • Kernel initrd which will chroot to /data/linux
    • Linux Kernel will boot off mmcblk0p7
    • Upgrade to Ubuntu 12.04 (although RootStock is now deprecated, we can just download a pre-built bundle for the arm-eabi FS, use live-build or get a pre-made RootFS. There's lots of options for this)
    • Build the kernel from scratch (this is kind of obvious anyway). Building for armhf sounds like a good idea
    • Full graphics acceleration from the Tegra 2 for Unity
    • Perhaps a build of Backtrack (this shouldn't be too difficult - they offer an image for arm. If it can share the kernel then we should be okay)
    • A501 3G Modem
    • USB Huawei Modems (although initial Googling seems to imply the compatibility of usbserial.ko and hence OOTB compatibility so long as a udev rule is added)
    • Camera, sensors and non-patchy wifi (issue on 2.6.38 although the nvidia drivers below should fix this)
    • Latest Linux kernel (ie 3.1.x)

    We have plenty of resources at our disposal such as:

    I've looked inside the Linux for Tegra package and a HUGE amount is in there including x configurations, hardware drivers, Broadcom wifi firmware and the list goes on.......
    There's also a codec package so we can have native video acceleration in loads of formats.

    The bootloader will, at least initially, probably be the default Acer one. We could utilise kexecboot in the future as noted above

    What we need:
    • A system for organising the code. CI & trac?
    • Perhaps a wiki.... or at least somewhere to organise ideas and reversed data
    • Either role assignment or a huge number of 'issues' with the code on a system such as trac and anybody can fix any issue

    What works without kernel hacking:
    • Sound: The Wolfson WM8903 sound chip has driver provided by Wolfson which have been integrated directly into the official Linux kernel source (source: http://opensource.wolfsonmicro.com/content/linux-drivers-wolfson-devices)
    • Wi-Fi (almost) - the broadcom drivers are available with a simple apt-get. They are also available through Linux for Tegra
    • Graphics Acceleration (Hardware) - the drivers and codecs come from Linux for Tegra
    • armhf - Support for the hard float capabilities is built right into the Tegra2 and both Ubuntu and Linux for Tegra provide this support alongside the (seemingly legacy!) armel
    • The RootFS can now be built with qemu-debootstrap
    Please let me know if I forgot anything else (which I undoubtedly did!)
    First, we have 3.0.0 kernel by sp3dev (having issues), I'll take look on that one. Eventhough kernels 3.0.y and 3.2.y (not 3.1.10 - that's EOL!) are good enough.

    Secondly, kernel does not chroot, a script in initrd image does chroot (this isn't any magic). As in the previous question about cmdline, it's just say "dynamic configuration" for the kernel (as where to find rootfs etc.). In the linux kernel, it's hardcoded right now (needs to be undefined).

    First, it's better to get points 1) - 3) working for now.

    There is a strong focus on the preliminary uboot bootloader, however. I'm not sure if this would replace the Acer bootloader or be chainloaded? Ideally we just want a boot img on mmcblk0p7. Can somebody confirm this for me? :)

    No that's not possible. U-boot will be standalone bootloader (i.e if u-boot, then no Acer BL). Right now, my patch in Acer BL gives us a "sub-bootloader" (don't want to call it second-stage bootloader, because it always returns back to Acer BL, eventhough we submit the image as a byte array (and not a partition)).
    I think its a good idea to start from 3.1.10 that's on nv git and has linux variant too...
    I think its a good idea to start from 3.1.10 that's on nv git and has linux variant too...

    I think its a good idea someone cares to share his android kernel source. I tried to rebase my cros patches on top of nvidia android branch and most stuff seems to boot, but fb is not working.

    I think I'll make a new version of uboot that will be able to boot custom kernel from a file/script in data partition and stock kernel from recovery partition. I have made a good port of uboot to sgs2 and now I know how to handle boot mode detection via gpio. Sadly I'm not using my iconia at all lately.

    P.S. Everything works on 2.6.38 except camera and sensors. Wifi is unstable. What else could anyone probably want
    Add to todo. 3G modem for A501