Post Reply

[DEV][WIP] xubuntu on tf300tg 0.1.2 (updated 130408)

14th March 2013, 10:24 PM   |  #1  
OP Member
Thanks Meter: 59
 
33 posts
Join Date:Joined: Feb 2011
*** ABOUT ***

This is an attempt to build a completely clean installation of xubuntu for the tf300tg (and probably tf300t). Most notably it does not reuse the ac100 ubuntu package.

I also want it to be as completely documented as possible starting from an official ubuntu repository and kernel source, until everything is working. Which does not mean it is for a complete beginner to reproduce...

It's not (yet) packaged : you at least need to be able to install a blob for the kernel, and a rootfs to a dedicated partition.

It's also not yet as cleaned up and documented as I would for the kernel side of things.

Everything is done on device on (and for) a tf300tg but as been reported to work on tf300t.

Most of the hard work was done by others. I mostly started from rabit's tf700 ubuntu, and added some insight from cb22 work on arch to get something working.

*** STATUS ***

What works :
- it boots into a clean xubuntu dm/desktop, with wifi (improved), 3g
- it also boots into android (stock, didn't try cm)
- 3g also works under android (new)
- touchpad / touchscreen
- 3d acceleration (version 16.3 of nvidia drivers)
- cpu and gpu overclock (respectively to 1,5 GHz and 446 MHz)

What I know doesn't work, isn't there yet :
- sound
- bluetooth
- some key remapping (esc, alt, ...)

Many other things I didn't check (sensors ?).

*** HOWTO install ***

0. of course you can break many things doing that ; you should have access to nvflash (never had to use it though) and with a recovery installed (I'm on twrp 2.4.3.0)

1. unpack xubuntu_tf300tg_rootfs-0.1.2.img.lzma to the internal storage and move / rename to linux/rootfs.img (/data/media/linux/rootfs.img)

1bis. you can change your keyboard layout in /etc/default/keyboard (replace "us" by whatever is your locale)

2. install the kernel blob using fastboot or "dd if=xubuntu_tf300tg_kernel-0.1.2oc.blob of=/dev/block/mmcblk0p4"

You should be able to reboot into xubunfu (or android).

3. log in as guest, from "user and groups" in the "settings manager", add one user, set password, change account type to administrator, add to sudo group (root password wil be asked : root)

4. logout, then login into your newly created user

5. open "language support" from the settings manager, and when it says missing locales, either choose install if you want "en" or "ask me later" if you want something else (in which case you can chose to install your own language, and configure them on the "regional format" page ; don't forget to apply system wide on both pages

6. change root password

Your second reboot should be more satisfying

*** HOWTO improve ***

1. find out what does not work and tell in the thread

2. understand what is documented bellow and propose correction / evolutions in the thread

3. don't hope for frequent updates : I do that alongside a more than full time job and tending to a two years old child. Still I will update.

*** DOWNLOAD ***

rootfs : http://d-h.st/vYf
kernel : http://d-h.st/UAy
misc config files : http://d-h.st/TEZ
nvidia drivers : http://d-h.st/pwQ

md5sum :
4f572c110c3f06f54699c826fed692f4 src-0.1.2.tar.lzma
249826271f4fadff4352217467e4ed2e xubuntu_tf300tg_kernel-0.1.2oc.blob
3263de707c2586d1e2177367f067361a xubuntu_tf300tg_rootfs-0.1.2.img.lzma
cf20b01281be3ef4b6d4631ae5cea67b R16.3.tar.lzma
Last edited by schrdlu; 8th April 2013 at 09:35 PM. Reason: corrected 3d hwa and added cpu and gpu oc
The Following 19 Users Say Thank You to schrdlu For This Useful Post: [ View ]
14th March 2013, 10:28 PM   |  #2  
OP Member
Thanks Meter: 59
 
33 posts
Join Date:Joined: Feb 2011
*** 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.
Last edited by schrdlu; 8th April 2013 at 09:46 PM. Reason: corrected 3d hwa and added cpu and gpu oc
The Following 10 Users Say Thank You to schrdlu For This Useful Post: [ View ]
14th March 2013, 10:37 PM   |  #3  
OP Member
Thanks Meter: 59
 
33 posts
Join Date:Joined: Feb 2011
reserved 2
The Following 2 Users Say Thank You to schrdlu For This Useful Post: [ View ]
15th March 2013, 07:08 AM   |  #4  
zaki0saad's Avatar
Senior Member
Flag Sydney
Thanks Meter: 17
 
122 posts
Join Date:Joined: Dec 2011
More
Sounds promising! Keep it up, hopefully other devs see this and help you out
15th March 2013, 07:50 AM   |  #5  
Keshukas's Avatar
Senior Member
Thanks Meter: 41
 
123 posts
Join Date:Joined: Aug 2010
Re: [DEV][WIP] xubuntu on tf300tg 0.1.0
Good job, I will tray luck to night when I back from work.

P.S. I heave no dock - that means no keabord and mouse

Sent from my GT-I9100 using xda app-developers app
Last edited by Keshukas; 15th March 2013 at 08:09 AM.
15th March 2013, 09:40 AM   |  #6  
OP Member
Thanks Meter: 59
 
33 posts
Join Date:Joined: Feb 2011
Quote:
Originally Posted by Keshukas

Good job, I will tray luck to night when I back from work.

P.S. I heave no dock - that means no keabord and mouse

Sent from my GT-I9100 using xda app-developers app

Thanks for your interest.

Although I would be happy to have some feedback, it may be a bit early if you don't have a dock : it's completely functionnal with a dock and mouse (I've been using it for work - and build - for a few days), without a keyboard and mouse, you will not go farther than xubuntu' login screen.

Anyway if you still wan't to try it, tell me if you reach xubuntu blue login screen.
15th March 2013, 01:12 PM   |  #7  
Keshukas's Avatar
Senior Member
Thanks Meter: 41
 
123 posts
Join Date:Joined: Aug 2010
Re: [DEV][WIP] xubuntu on tf300tg 0.1.0
On the rabbit Ubuntu for tf700 are virtual keabord (beside clock switch ) witch I use to login to Ubuntu

Sent from my GT-I9100 using xda app-developers app
Last edited by Keshukas; 15th March 2013 at 01:52 PM.
15th March 2013, 03:41 PM   |  #8  
Junior Member
Northeastern US
Thanks Meter: 1
 
2 posts
Join Date:Joined: Mar 2013
More
Assuming this is a dual boot kernel, how does the kernel know where ubuntu is installed if not installed on internal sdcard? Also what's the minimum size partition that can be used?
The Following User Says Thank You to TechyNut For This Useful Post: [ View ]
15th March 2013, 03:46 PM   |  #9  
NRGZ28's Avatar
Retired Senior Mod & Senior RD - (old) King of WinMo
Flag XDA-Developers
Thanks Meter: 10,011
 
10,453 posts
Join Date:Joined: Apr 2007
More
Moved the thread for ya...
The Following User Says Thank You to NRGZ28 For This Useful Post: [ View ]
15th March 2013, 05:11 PM   |  #10  
Senior Member
Flag Žatec
Thanks Meter: 16
 
103 posts
Join Date:Joined: Mar 2011
More
Thumbs up
Yes!!! ) Thanks I wait for it )) Xubuntu is my lovely linux, I have it on PC, Notebook, installed on fathers PC and now for tablet!!

Post Reply Subscribe to Thread
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes


Top Threads in Transformer TF300T Android Development by ThreadRank