[Acer Iconia A500] Worldblender:
I have new instructions here that are much better, but require some amount of software compiling (mainly with the kernel): https://xdaforums.com/iconia-a500/linux-acer-iconia-tab-a500-2020-edition-t4136023

I'm a latecomer to the scene of seeing GNU/Linux userland distros run on this tablet, as I only acquired mine from a friend since last year, and couldn't use it until I replaced the ac adapter and battery. I was this lucky as Android devices capable of running GNU/Linux distros natively are hard to come by, and moreso for getting it for free. But first, the tablet needed to be fixed up by software:

I upgraded the stock Android OS from 3.?.? to 4.0.3 by downloading Acer-provided updates to a microSD card.

Now I could retrieve the tablet's serial number and generate the SBK from it in order to flash Skrillax_CZ's custom bootloader with nvflash.

I flashed CWM 6.0.4.5 custom recovery first (to AKB partition), then OmniROM based on Android 4.4.4 (to LNX partition). I flashed an Open GApps package at first, but I had to remove it as those apps try to utilize the NEON extensions that this tablet's CPU lacks, causing them to crash. (4.4 is the minimum version the Open GApps supports anyways) Instead, I used F-Droid for an app store replacement, which sufficed for most of my needs.

Then I got to flashing a kernel that enables booting native Linux distros (to SOS partition). While I tried both sp3dev's 2.6.38 kernel and rogro82's 3.1.10 kernel (a modded version that loads the distro from the 2nd partition of a microSD card), I stuck with the 3.1.10 kernel, as it included the ASIX AX8817X USB 2.0 Ethernet driver which allows me an alternate method of internet connection in case I couldn't use wi-fi (both boot images are attached for preservation and convenience, renamed).

Now I was ready to experience running Linux distros natively on a mobile device for the first time. :fingers-crossed: From this point on, I would be using rootfs images to reach this dream of mine. With the new instructions posted above, I may have finally realized this dream! While I have more stuff working smoothly (Wi-Fi and Bluetooth, 2D software acceleration), other minor things are still not, including the camera and 3D acceleration (due to such support not existing in mainline kernel).

Some notes I made for this time period:

I have found out that glibc versions 2.24 and later have removed support for Linux kernel versions < 3.2, which limits the choice of distros I can select from without additional work.

The workarounds to this are to use an alternate C library, or use older versions of glibc (Version 2.23 is used in Ubuntu 16.04, but it is compiled to only run with Linux 3.2 or later, so it must be recompiled by lowering the minimum kernel version to 2.6.32).

The file bcm4329-fullmac-4.bin can be found in packages of linux-firmware, but bcm4329-fullmac-4.txt needs to be obtained from the stock Android OSes, as the file "/system/etc/wifi/bcmdhd.cal" (original file attached for convenience, renamed).

Linux kernel version 3.1.10 is the latest one provided by NVIDIA, and new versions are unlikely to be ported to this tablet's CPU, according to https://developer.nvidia.com/linux-tegra-rel-16. :mad:

Other than the above three points, Linux distros will work almost flawlessly, but if the screen is turned back on, an external keyboard is needed to switch to one of six virtual terminals by using Ctrl+Alt+[1-6], and then switching back to Ctrl+Alt+7, where 7 may be replaced if the GUI is running in another virtual terminal location. This process is not needed if the NVIDIA proprietary drivers are being used, which can be found on this page: https://launchpad.net/ubuntu/+source/nvidia-graphics-drivers-tegra/16.3-0ubuntu2/+build/4804631 (Beware that X11 ABI versions > 14 are not supported, so downgrade the xorg version somehow to the 1.14.x series to use this driver).

The internal storage is also detected by the kernel, but its contents cannot be normally accessed, as it has a special partitioning scheme that cannot be recognized. It is possible to format it, and partition it to hold accessible data, but I recommend not doing any partitioning for it, as it may require a longer restoration process that will not be explained here for now. However, using TestDisk to search for partitions using the GPT partitioning scheme allows four of them to be accessible. I recommend only copying data from those partitions; writing the detected partitioning scheme is risky for now.

Putting the tablet to sleep by use of pm-utils works, and the tablet will even power back up after the power button is pressed, but it may cause the BCM4329 SDIO card to stop working until the next reboot.

Any programs that utilize OpenGL during their operations are very likely to have poor performance, and will remain so, as this tablet model's GPU only supports OpenGL ES and EGL :crying: , unless those programs are altered by source code to include support one of these two APIs. Additionally, some colors may appear to be off during any OpenGL rendering (e.g. orange is rendered blue) However, the proprietary drivers may help with faster OpenGL ES and EGL rendering, but still, most programs are unable to utilize them.

I guess I can be blamed for sticking with too old hardware; people are moving onto newer hardware so quickly! However, there's still hope for having some sort of Linux tablet, but the road to getting there is not easy.

NEW: I have successfully cross-compiled this Linux 3.17.0-rc7 kernel, using the picasso config from rogro82's kernel source. When compiling this kernel, do not switch to any other branches, or prompts like this will appear upon invoking make:

Patch physical to virtual translations at runtime (ARM_PATCH_PHYS_VIRT) [N/y/?] n
Physical address of main memory (PHYS_OFFSET) [] (NEW)

I also created a boot image for it, but after flashing it, attempting to boot results in the bootloader being stuck at the loading screen, without hope for anymore activity unless powered off by force. Even inserting an initrd will not change anything but the size of the boot image (Max size for the SOS partition is ~5MB). :crying: This also seems to have happened a version of the 2.6.38 kernel from sp3dev that I have self-compiled, but that one was without an initrd. Either I'm not using the correct toolchain (I'm using the ones provided from the Ubuntu repositories), or non-manufacturer-provided kernels don't have the special code to support this tablet model. However, I really want to get this kernel to boot successfully, so that newer distro versions can be used (my results will appear in another post).