[Transformer TF300T Android Development] schrdlu:
*** HOW is it done / rootfs ***

I did it from ubuntu (rabits') on my tf300tg. Should be doable from another platform. Definitly doable from self.

As root.

# unset languages / locales

export LANG=C

unset LC_ADDRESS

unset LC_IDENTIFICATION

unset LC_MEASUREMENT

unset LC_MONETARY

unset LC_NAME

unset LC_NUMERIC

unset LC_PAPER

unset LC_TELEPHONE

unset LC_TIME

# mount a cleanly ext4 formated partition (futur root partition)

mount /dev/mmcblk1p2 /media/p1

# install initial minimal system

apt-get install debootstrap

debootstrap quantal /media/p1 http://ports.ubuntu.com/

# prepare to chroot

mv /media/p1/etc/apt/sources.list /media/p1/etc/apt/sources.list.orig

cp src/sources.list /media/p1/etc/apt/sources.list

mv /media/p1/etc/fstab /media/p1/etc/fstab.orig

cp src/fstab_chroot /media/p1/etc/fstab

mkdir /media/p1/run/user

# chroot into the new system and mount all special filesystems

chroot /media/p1

mount -a

# download xubuntu (avoiding unity which is recommended by lightdm)

apt-get update

apt-get upgrade

apt-get install xserver-xorg

apt-get --no-install-recommends install lightdm

apt-get install lightdm-gtk-greeter

apt-get install xubuntu-desktop

# install nvidia drivers and tuned nv.conf

tar xf R16.3.tar

update-alternatives --force \

--install /etc/ld.so.conf.d/arm-linux-gnueabihf_EGL.conf arm-linux-gnueabihf_egl_conf /usr/lib/nvidia-tegra/ld.so.conf 9000 \

--slave /usr/lib/xorg/modules/drivers/tegra_drv.so nvidia_drv /usr/lib/nvidia-tegra/xorg/modules/drivers/tegra_drv.abi13.so

ldconfig -v

update-rc.d ondemand disable

# change root password to something of your chosing and exit chroot

passwd root

# configure touchscreen and touchpad

apt-get install xserver-xorg-input-multitouch

exit

cp src/mtev.so /media/p1/usr/lib/xorg/modules/input

mkdir /media/p1/etc/X11/xorg.conf.d

cp src/50-elan* /media/p1/etc/X11/xorg.conf.d

# change hostname

# edit /media/p1/etc/hostname and replace tf300tg with your chosen hostname

# edit /media/p1/etc/hosts and insert a line (second one) with "127.0.0.1 yourhostname"

# hide the partitions from mmcblk0 (thanks cb22)

echo 'ENV{ID_PATH}=="platform-sdhci-tegra.3", ENV{UDISKS_IGNORE}="1"' > /media/p1/etc/udev/rules.d/80-hide_tf300tg_partitions.rules

# change keyboard defaults

# edit /media/p1/etc/default/keyboard ; replace "pc105" by "asus_laptop" ; you can also change "us" to your locale

# create mountpoints for system and data

mkdir /media/p1/system /media/p1/data

# configure for loading wifi module

echo bcm4329 >> /media/p1/etc/modules

#

cp /media/p1/etc/fstab.orig /media/p1/etc/fstab

*** HOW is it done / kernel ***

The kernel source is default asus 10.4.3.9 from asus' website download section. Patched to add cpu overclock from faux's kernel and gpu overclock from motley's kernel (diff file in src.tar.lzma).

Initial kernel config file is taken from stock 10.4.3.9 android, with options added to support ubuntu and oc. path to the nvram for bcm4329 modified.

Ramdisk is mostly that from rabbits 0.8.0, with some modificaitons to enable modem support under android.

*** Todo ****

- modify config / kernel to use nvidia's R16.3 tool to patch wifi ;

- build initramfs anew from tf300t/tg stock android initramfs (currently rabbits modified tf700) ;

- bluetooth and sound ;

- key remapping.