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

Linux on A500: The Future

Search This thread

blackthund3r

Senior Member
Feb 27, 2012
594
493
London
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!)
 
Last edited:

Skrilax_CZ

Inactive Recognized Developer
Dec 20, 2009
1,240
2,397
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)).
 

sp3dev

Senior Member
Jul 11, 2006
554
675
Kaluga/Moscow
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
 

apapousek

Senior Member
Jul 18, 2011
308
266
While the dual-boot bootloader is nice, it's not the best solution, in my opinion. Kexecboot would offer a nice multi-boot solution with a GUI. We'll have the ability to compile kernels on the native Linux environment without flashing every time. By simply passing arguments to the kernel (the one kexecboot loads), we can have it boot off of any partition Linux can see. This would eliminate any restrictions that the dual-boot bootloader may have. This would also be beneficial to users who prefer booting from non mmcblk0p7, non boot-img systems. (I personally prefer something along the lines of mmcblk1p1, with no boot img). Kexecboot already works for the Tegra 2, and has touchscreen abilities, so porting wouldn't be too terribly difficult. See here and here.

As far as distros go, we should look at something compiled for armhf. That'll help increase speeds. The tegra2 drivers already have a hard float pre-release available to play with.
If I think of anything else, I'll edit this post.
 

apapousek

Senior Member
Jul 18, 2011
308
266
What exactly is the aim of this thread?
Is it for the improved quality of different Linux distros in general of the Tab?
Is it for the creation of a single distro which will run decently?
Is it for just for spitballing ideas about the above ideas?

Stating a single goal will help us accomplish said goal with greater ease.
 

blackthund3r

Senior Member
Feb 27, 2012
594
493
London
What exactly is the aim of this thread?
Is it for the improved quality of different Linux distros in general of the Tab?
Is it for the creation of a single distro which will run decently?
Is it for just for spitballing ideas about the above ideas?

Stating a single goal will help us accomplish said goal with greater ease.

Threefold:
1) to collaborate what we have
2) to port and produce a fully working Ubuntu distro (complete including all patches, drivers etc)
3) if possible, make a backtrack port too

Sent from my Iconia A500 using Tapatalk 2
 
  • Like
Reactions: Azitrox

apapousek

Senior Member
Jul 18, 2011
308
266
Threefold:
1) to collaborate what we have
2) to port and produce a fully working Ubuntu distro (complete including all patches, drivers etc)
3) if possible, make a backtrack port too

Sent from my Iconia A500 using Tapatalk 2

1. A wiki would be nice. I have server space & bandwidth available.
2. That's not too difficult, especially with Ubuntu on the AC100 being tegra2
3. I've had one working for a while. It's just not too slick.
 

blackthund3r

Senior Member
Feb 27, 2012
594
493
London
1. A wiki would be nice. I have server space & bandwidth available.
2. That's not too difficult, especially with Ubuntu on the AC100 being tegra2
3. I've had one working for a while. It's just not too slick.

1. I have server space too - it powers my flash tool, ICS Root etc. I can install media wiki overnight - not an issue
2. In theory. It still has to be done though and there'll be loads of bugs. We want perfection :p
3. That's what we aim to change ;)

Sent from my Iconia A500 using Tapatalk 2
 

gears177

Senior Member
Apr 4, 2012
408
51
meadville
Im all in particularly looking forward to backtrack but Ubuntu will be awesome if we can get it running without many if any bugs....:)

should we be focusing on ubuntu i mean there alot more lightweight os's such as DSL, Slitaz, unity linux, and puppy linux that would be alot less of a resource hog ;-)
 
Last edited:

blackthund3r

Senior Member
Feb 27, 2012
594
493
London
Im all in particularly looking forward to backtrack but Ubuntu will be awesome if we can get it running without many if any bugs....:)

should we be focusing on ubuntu i mean there alot more lightweight os's such as DSL, Slitaz, unity linux, and puppy linux that would be alot less of a resource hog ;-)

The Tegra 2 + 1GB RAM puts the A500 up there as one of the most powerful dual core tabs on the market. Ubuntu will be fantastic.

Sent from my Iconia A500 using Tapatalk 2
 

apapousek

Senior Member
Jul 18, 2011
308
266
Im all in particularly looking forward to backtrack but Ubuntu will be awesome if we can get it running without many if any bugs....:)

should we be focusing on ubuntu i mean there alot more lightweight os's such as DSL, Slitaz, unity linux, and puppy linux that would be alot less of a resource hog ;-)

kk looking forward to it :D pm me if i can help

Okay, so none of the distros you named could be ran on our tablet. They're all Intel/AMD only. We have an ARM device. It's a beautiful, low-power architecture, that only a few distros support. Arch Linux runs fairly smooth on it, even when running from a Class 4 external microsd card.

If you want to help, learn how to compile a kernel, the differences between x86 and ARM, and about some basic user-space tools which interact directly or almost directly with the kernel.

Honestly, I'm not trying to be an a-hole, but having a plethora of volunteers does nothing if the volunteers don't know how it works.
 

blackthund3r

Senior Member
Feb 27, 2012
594
493
London
Okay, so none of the distros you named could be ran on our tablet. They're all Intel/AMD only. We have an ARM device. It's a beautiful, low-power architecture, that only a few distros support. Arch Linux runs fairly smooth on it, even when running from a Class 4 external microsd card.

If you want to help, learn how to compile a kernel, the differences between x86 and ARM, and about some basic user-space tools which interact directly or almost directly with the kernel.

Honestly, I'm not trying to be an a-hole, but having a plethora of volunteers does nothing if the volunteers don't know how it works.

I suppose that's a good point.

Anyhow, now we have loads of volunteers, should we assign roles?

Sent from my Iconia A500 using Tapatalk 2
 

apapousek

Senior Member
Jul 18, 2011
308
266
oh sorry :'( i can build from source and compile kernels but not very good have to learn and refine more sorry alot of my scripting is sloppy :-\

I meant no offense by my comment at all. You're inquisitive, which is very very necessary for this project.

I would like to work a bit of the kernel side with gears.

Kernel side question. Do we want it to be compiled for ARM HF? It would give us speed benefits, above all else.
 

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!)
    4
    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)).
    4
    I think its a good idea to start from 3.1.10 that's on nv git and has linux variant too...
    3
    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
    2
    Add to todo. 3G modem for A501