prereq's: rooted TF101 with a custom recovery (CWM). Installation to microSD card (which this guide uses) does not require an unlocked bootloader, as it does not touch the internal partition layout. It is setup to dualboot Arch and Android. You must flash a file in recovery to switch between the two operating systems. Data will be preserved through the flashing.
This should work on other TF models, but you may need different kernels. I only have a TF101 to test on.
I have had a TF101 since launch, but have always shied away from getting Arch Linux (or worse, Ubuntu) on it due to the lack of proper GPU drivers. Today, I found out nvidia has released Tegra 2 drivers for the 3.1 kernel, so I figured I may as well get this underway. Thankfully I am able to take a lot of information from the various Ubuntu development to speed up this progress, and felt I should post this to try to get further interest and help.
Current progress:
It boots!
WIP:
X server
Getting linux kernel 3.1 booting
GPU driver (requires above)
wifi
practically everything else
Steps taken:
$this->bbcode_second_pass_code('', 'wget http://archlinuxarm.org/os/ArchLinuxARM-trimslice-latest.tar.gz
dd if=/dev/zero of=arch.img seek=749999999 bs=1 count=1
mke2fs -F arch.img
sudo mknod /dev/loop1 b 7 0
sudo losetup /dev/loop1 arch.img
mkdir arch
sudo mount -t ext2 /dev/loop1 arch/
cd arch
sudo tar xzf ../ArchLinuxARM-trimslice-latest.tar.gz')
At this point, we have created a rootfs image called arch.img and extracted the trimslice rootfs to it. This is the exact same as building the image for a chroot, so if you have a trimslice chroot already on your TF101, then you can use that image instead. Now, we need to stick this onto the microSD card. Plug your microSD card into your computer, then continue. You'll need to determine the block device of your card for yourself, and replace /dev/sdb1 below with it. Failing at the next command can cause data loss to your computer. Make absolutely sure you know what device your microSD card is before continuing.
$this->bbcode_second_pass_code('', 'sudo dd if=arch.img of=/dev/sdb1 bs=8M')
The microSD card should now contain the Arch image. Now we need to flash a file in CWM on the tablet that instructs the bootloader to boot Arch over Android. This is really just a blob file that contains the kernel, initrd, etc. If you want to boot into Android, you have to have a kernel blob available for your ROM. I use RaymanFX's CM10 build with his ELITE kernel, which means if I want to go back to Android, I just have to flash his ELITE kernel from this thread, however, that may not work on your ROM. You need to find a kernel .zip for your ROM in order to return to Android.
Download this .zip to the internal memory of your tablet, http://dl.dropbox.com/u/60048492/transf ... sdcard.zip . This contains the 2.6.36.4 kernel along with a boot.cfg which instructs the device to boot mmcblk1p1, which is our microSD card containing Android. Reboot into recovery by holding the volume down button while turning the device on. Hit the volume up button as soon as some text appears (if you don't do this fast enough, it will wipe your tablet. annoying.) Flash the zip from internal memory, and when you reboot, it should boot into Arch Linux! Default password for root account is just 'root'.
There's still a long way to go on getting this usable. I'm willing to put in the work myself, but I am very new at this, it is the first time I have tried porting Linux to a device such as this, I've never even compiled linux kernel before. When things are further along, I hope to be able to contribute a rootfs to the ArchLinuxARM community to make this process much easier.
Comments/suggestions/help appreciated <3.